2023-08-27 01:50:40 -07:00
2023-07-19 20:18:41 -07:00
2023-04-12 15:55:23 -07:00
2023-04-13 17:56:53 -07:00
2023-04-13 17:43:51 -07:00
2023-04-13 12:30:22 -07:00
2023-04-13 17:43:51 -07:00
2023-04-13 17:43:51 -07:00
2023-04-13 17:56:53 -07:00
2023-04-09 17:16:05 -07:00

DSBot

A modular Discord DS Bot

Setup

  1. git clone git@ssh.gitlab.edgegamers.io:discord/ds-bot.git
  2. mkdir configs && mkdir -p data/guilds
  3. npm install
  4. npm run start
docker pull registry.edgegamers.io/discord/ds-bot:main ;\ 
docker run -d \
    --name discord-ds-bot \
    --restart unless-stoped \
    -l com.centurylinklabs.watchtower.enable=true \
    -e APP_DISCORD_TOKEN=$APP_DISCORD_TOKEN \
    -e APP_MAUL_TOKEN=$APP_MAUL_TOKEN \
    -e APP_MAUL_URL=$APP_MAUL_URL \
    -e APP_MAUL_IP=$APP_MAUL_IP \
    -e APP_MAUL_PORT=$APP_MAUL_PORT \
    -v ds-bot-data:/ds-bot/data \
    registry.edgegamers.io/discord/ds-bot:main

Environment Variables

May alternatively be set within the configs/global.json file.

  • APP_DISCORD_TOKEN
  • APP_MAUL_TOKEN
  • APP_MAUL_URL
  • APP_MAUL_IP
  • APP_MAUL_PORT

Features

DS Reaction-Roles

Currently only implemented color roles. Allows users to react to a pre-configured message to receive a role.

DS Voice Channels

Grants Dedicated Supporters granular control over their voice channels. Leadership members are granted bypasses of lists.

  • Resizing, with each DS tier having a configurable max size.
  • Renaming.
  • Hiding from the public.
  • Custom Modes for easy access management.
    • Whitelist: Only specified users may join.
    • Blacklist: All users may join, except specified users.
    • Public: All users may join.
    • Locked: Only users currently in the channel may join.
  • Muting and Gagging with each DS tier having a configurable max mute/gag/white/black list size.

Configuration

All configuration is done through the guild's specific JSON file. Config files are under /configs/guilds/{guildId}.json; Global configuration is only through /configs/global.json.

Data Management

Currently, all data is stored in a flat JSON file within the data/guilds/{guildId}.json directory. This is subject to change in the future.

Description
No description provided
Readme 328 KiB
Languages
TypeScript 99.7%
Dockerfile 0.3%