A role-by-reacts role management bot for Discord.
- Clone the repository and install dependencies using
pip install -r requirements.txt. This bot requires Python 3.4.2+ to run smoothly. - All configurations are set in
utils/config.py. - Create a channel for roles and configure the
HOST_CHANNELin yourconfig.pyto match the name of the channel created. - Set
INACCESSIBLE_ROLESto roles you do not want the users of the bot tampering with. Users will be unable to add and remove these roles from themselves. - Set
ROLESbased on your server roles. Each role group will be assigned to a separate message. The role groups will stay in order only if they are alphabetically ordered (an inconvenience that will be fixed at a later time).key: valuepairs should be in the format ofrole: emoji. If a custom emoji is being used, thevalueshould be the exact name given to that emoji in the server. - Set
EMBEDSbased on what you want you Discord embed messages to say. This is in the format of an array of tuples,[(title, message), (title, message), ...]. These should be done in order. Each one will be paired with your dictionary of roles and emojis in order as well.
- Run
python3 main.pyto start the bot. - The default prefix is
>, but can be set in theconfig.pyby changing thePREFIXstring. This should only be one letter, number, or character. - Use the
helpcommand to list all commands. - Use the
initcommand to send the initial embed messages with attached reacts. Users can use the reacts to add and remove roles from themselves. - All commands can only be used in the
HOST_CHANNELthat should have been set earlier. - The
initcommand can only be used by mods (those with manage roles permissions) or admins (those with administrator permissions). This can be changed inutils/perms.py. - Emojis outside of the ones set in your
config.pycannot be added to an initial message's emoji list.