VoiceRoomsBot

Description

VoiceRoomsBot (VRB) created for voice channel manimulation in Discord. The key purpose is granting members tools with voice channel control.

Idea

Main goal is granting members tools with voice channel control, without admin assistance

To understand how it works you need to know about several main entities that are the main elements of the VRB

Space - Space which contains rooms.
Room - Contains voice channel and it’s owner.
Text - Text channel which is also part of room.

VRB has a permissions system that can be delegated to some members or roles.
Permissions can flexibly restrict user access to commands
The permissions are divided into 3 groups:

Main Permission - Permissions for all server members and all spaces.
Space Permission - Permissions for particular space.
Special Permission - Permission for special user or role.

Proccess

After adding the bot, you need to create a space using the special command. Then the bot will create the space with a voice channel. After entering the channel, the bot creates a new one, which will move you.
The channel name will be set automatically (by default is the user nickname). The voice channel (Room) is private. The user who created the room is the room's owner.
The room owner has functions to control its room.
The bot deletes left empty rooms.
The user can control his room with commands in a specific text channel (the list of commands is presented below).
Also, users can create a text channel to text messaging with other users from the private room. The created text channel is the part of the room and it can be viewed by users from the same room only. Not @everyone.
The user-created text channel can be moderate with specific text commands within this channel
You can create several spaces.
It doesn't matter where the channel for creating rooms is located

Permissions

The rights to use commands hierarchically structured.

↓ Main permissions
↓ Space permissions
↓ Special permissions

Highest priority is Special permissions.

Example:
Main permission - no one can change the room's name.
Space permission - users in space named “Space” can change rooms name.
Special permission - Users who have a @permit role can change rooms name.

So, all server members cannot change the names of their rooms except users with the 'permit' role and those users who are in the space.

Permissions list

  • create - Creating room.
  • manage - Control voice channel (discord button).
  • text - Creating a text channel and controlling it.
  • name - The changing name of the room (voice channel).
  • limit - Changing the users limit in the room (voice channel).
  • mute - Muting a user (voice channel).
  • unmute - Unmuting users (voice channel).
  • lock - Locking your room (voice channel).
  • unlock - Opening your room (voice channel).
  • permit - Allowing a user to enter (voice channel).
  • reject - Forbidding a user to enter (voice channel).
  • kick - Kicking a user from the room (voice channel).
  • bitrate - Changing bitrate (voice channel).
  • hide - Hiding your room (voice channel).
  • view - Viewing room (voice channel).
  • invite - Inviting someone to your room (voice channel).
  • text-mute - Forbidding a user to message in the text channel.
  • text-unmute - Allowing a user to message in the text channel.
  • text-reject - Forbidding a user to view the private text channel.
  • text-permit - Allowing a user to view the private text channel.

Commands

All commands in VRB use slashes. If you don’t know about slashed read this article

CommandDescription
add-spaceAdds new space (category and rooms)
remove-spaceRemoves created cpace
control-panelCreates the message with buttons you can use to control your private room. You need to use this command in the channel you want to see the control panel in
set-default-rooms-countSets rooms count in special space
set-default-room-nameSets default name template for private rooms
Template it's just string with some keys which will have been changed to:
  • {user} - user nickname
  • {custom} - users own text. /name command
  • {number} - serial number in space
set-default-limitSets default users limit per room or on the server
set-default-bitrateSets default sound bitrate per room or on the server
permissionsShows the main or special permissions
add-permissionAdds main permission to server
remove-permissionRemoves the main server permission
enable-specialSets special permission for user or role
disable-specialResets special permission for user or role
remove-special-permissionsResets all special permissions for user or role
command–channelsShows or sets command text channel. Channel where u can use bot commands
remove-command–channelRemoves command channel from enabled pool
helpHelp command
nameChange name
limitChanges users limit in your private room
bitrateChanges sound bitrate in your private room
muteMutes user. (kicks users before mute)
unmuteUnmute user
kickKicks user from from your private room
lockLocks your room for @everyone
unlockLocks your room for @everyone
permitPermits user to visit your room
rejectPrevent user to enter the room
hideLocks your room for @everyone
viewView your room for everyone
inviteInvite selected user to your private room
create-textCreates text channel for your private room
remove-textRemoves text channel for your private room
text-muteMute someone in your private text channel
text-unmuteUnmute someone in your private text channel
text-permitPermit someone in your private text channel
text-rejectPrevent someone in your private text channel
start-premiumStart premium on your server
server-planCheck your current subscription on your server
my-plansCheck your plans

Premium

Not all commands are free. Some commands you can get with Patreon donations.
Premium contains the following features (for one server):

  • Create as many as you with active spaces
  • Creating text channels
  • Setting up special permissions and main permissions for specific space.

To use premium functions you need to be a VRB support server member and have a Patreon account.
The bot has an account system. After getting premium you can check it with the /my-plans command within your server.
To activate premium on your server you need to be a server owner. Use /start-premium command to activate premium
To check active server premium use /server-plan command

The subscription fee is charged immediately. The current plan will be active per month.
After the expiration date, subscription payment will be charged one more time.
If you unsubscribe the features will be disabled after the expiration date.