Inspiration
As the zoom chat had little to no features for both the host and the users, we decided to implement the breakout room feature within discord through the creation of a bot which splits up the users into a provided amount of groups for a designated amount of time.
Design
The rooms, consisting of a created folder in the discord server, a voice channel, and a text channel, are created temporarily for the duration that the creator of the breakout rooms provided. The users are distributed randomly into each of the breakout rooms, in order to ensure that when the command is run multiple times, the groups are not the same at each run. Alongside this, the breakout rooms also help to provide people with the opportunity to meet and interact with new people every time the breakout rooms are created.
Backend
To accomplish this, all the rooms created are private and the users are given roles with permissions to access the contents of the breakout room for the given duration. The private role given to the users is only one level higher in the discord hierarchy than the default role of the members of the server. This level of role guarantees that the permissions of the users will not go beyond the ability to join, speak, and send messages in the chat of their designated breakout room.
Additional Features
The creator of the room is able to end the session of the breakout rooms at any point in time, and one minute prior to the closing of the room, the bot will issue a warning that the room will be closing in one minute. The creator of the room is also able to list members of the server that the bot will ignore while creating the breakout room. Thus, only the needed users will be put into the breakout room. The creator of the room also has the option to make the breakout rooms public, where everyone on the server will be able to access and join the breakout rooms. If the creator does not input the request for public, the rooms created will default to private.
Built With
- discord
- python


Log in or sign up for Devpost to join the conversation.