This is a simple discord bot that manages voice channels, roles, and has a few minigames. Ideally when this bot is finished, it will back up important data for each guild like role/emote combinations, reaction message ids, quotes from the quotes minigame, RL mafia stants/standings, etc.
- Features an "on demand" voice channel system where users join a single on-demand channel and the bot creates a new voice channel (VC) and moves the user to the new VC.
- The bot also names the VC according to the most played activity, prioritizing games (what are the users playing) over other activities like listening or watching.
- A user can also set a static custom VC name.
- When all users leave a created VC, the bot deletes it.
- Assigns roles based on emotes reacting to a specific message.
- Users can add a quote with the
!quote [qote]
command. - Users can pull a random quote with the
!quote
command.
- Users can queue a mafia game with
!q
. - Users start the game with
!start
at which point the bot will stop accepting players. - The bot will ask how team should be made. Players can choose auto-assigned teams, or manually-assigned teams.
- If the teams are auto-assigned, the bot will randomly assembly teams. Otherwise, users will react with the appropriate emote/emoji to choose a team.
- The bot randomly chooses a queued player to be mafia and DMs players their role: Villager or Mafia.
- After the game is over, one of the players will record if they won or lost the game.
- The bot will then request votes for the mafia. Players will vote by emote/emoji.
- Once all players have voted, the bot will reveal the mafia and award points.
Only one player is chosen to be the mafia. It is the mafia's job to throw the game as discretely as possible. The mafia should not reveal himself. Discussion is allowed and encouraged during the game.
I'll go back and look at this later. i cant remember what I decided was a balanced points system.