A Discord bot that lets your community manage their voice channels themselves
This bot is here to let your community manage their voice channels on their own.
Basically, by joining a specified permanent voice channel living inside a specified voice category, the bot will generate for the user a new voice channel inside the category and let him manage it by giving a full set of commands, and this voice channel will be deleted once empty.
- If you never set up a Discord bot before, please follow the instructions over here.
- If you don't want to host your own version of the bot but consume an existing instance of it, you can use the following invite link: https://discord.com/api/oauth2/authorize?client_id=700399848666562611&permissions=286338064&scope=bot
- Once that is done, invite the bot to your server, and type
!voice setup
to start the installation wizard. Please refer to this part to get the full list of setup commands.
In order to work properly, this bot will need this set of permissions globally and on the voice category:
- Manage Roles
- Manage Channels
- View Channels
- Send Messages
- Manage Messages
- Read Message History
- Connect
- Move Members
cp sample.env .env
docker build -t voice-chat-bot .
docker run -d -v /absolute/host/path/to/saves/:app/saves --restart=always --name=voice-chat-bot voice-chat-bot
npm install
npm run dev
npm run build
npm start
Notice: You must be an administrator of your server to run those commands. They'll help set the bot up on your server properly.
Here are all the commands you can use:
!voice setup
: Set the bot up on your server.!voice setup-help
: Get setup commands list on Discord.!voice setup-prefix <cmd_prefix>
: Replace!voice
with your own prefix.!voice setup-category <category_id>
: Use this to give the bot the category ID into which he will operate (create and manage voice channels).
Keep in mind that he will create and manage channels inside this category. The bot will also require a permanent voice channel, that you can set the ID up using the following command.!voice setup-voice <creating_voice_channel_id>
: Use this to let the bot know the permanent voice channel living inside the voice category. Whenever someone joins this channel, the bot will generate another voice channel and move them inside it.!voice setup-commands <commands_channel_id>
: Use this to let the bot know the text channel into which he will interact with users; they'll use its commands there, and he'll reply to them there as well. This text channel doesn't need to be into the voice category, but the bot must be able to read it and to send messages into it.!voice setup-clear
: When you run this command, you delete all the IDs the bot stored for your server. After running it, you can run!voice setup
to set IDs up again.
Notice: These commands below will help you handle moderation roles. A role added to the moderation can bypass voice channels ownership and can't be rejected from a channel (this is naturally the case for the administrators).
!voice moderation-help
: Get commands list to handle roles.!voice add-moderation-role <@role>
: Add a role allowed to moderate the bot!voice list-moderation-role
: List all the roles allowed to moderate the bot!voice remove-moderation-role <@role>
: Remove a role no longer allowed to moderate the bot
Notice: You must own the voice channel you're currently in to perform most of these actions (except for !voice claim
).
Here are all the commands you can use:
!voice help
: Get commands list on Discord.!voice lock
: Lock your channel; nobody can join you unless you explicitely allow them to do so by using the!voice permit
command (see hereafter).!voice permit <@someone/@role/username>
: Allow the given user or role to join your locked channel.!voice unlock
: Open your locked channel to everyone.!voice reject <@someone/username>
: Kick a user out of your channel.!voice claim
: Request ownership of the voice channel you're currently into. This action can be performed only if the channel's previous owner left.!voice limit <0 <= number <= 99>
: Set a user limit to your channel (Here 0 means unlimited).!voice bitrate <number>
: Set the channel's bitrate.
π€ Grenadator
- Twitter: @_Grenadator
- Github: @Grenadator
- Thanks @Tepec Fett for helping me a lot on developing this bot and for the translations
- Thanks Bendak for all the features ideas, and both of you for taking the time to test the bot
- Thanks @Aronild for your opinion and your wonderful gif on help commands
You guys are the best π
Contributions, issues and feature requests are welcome!
Feel free to check issues page.
Give a βοΈ if this project helped you!
This README was generated with β€οΈ by readme-md-generator