Skip to content

Assigns roles to users on Discord based on reactions to a message

License

Notifications You must be signed in to change notification settings

iuginP/Discord-RoleReact

 
 

Repository files navigation

Logo
A bot that automatically assigns roles based on message reactions.


Build Languages
Version Issues Pull Request



Demo

Demo of Bot using Regular Messages

Demo of Bot Using Embeds

Features

  • Customizable messages, reactions, command, and roles

  • Auto-removes role when user removes a reaction

  • Option to use an embed to have all options in one message

  • Error handling to let you know if something is wrong

Installation

Clone this repository to your local machine.

Run the npm install command to install discord.js

Copy the config.example.js file and rename it to config.js. Open that file and modify the different properties to your liking. Most options are straightforward, however, there is commenting where approriate

Recommended Permissions

These are the recommended permissions the bot should be assigned for full functionality. Errors will be thrown if the bot fails to have any of the permissions below.

  • Manage Roles
  • Read Text Channels & See Voice Channels
  • Send Messages
  • Manage Messages
  • Embed Links
  • Read Message History
  • Add Reactions

Configuration

Mandatory:

  • Fill in the yourID property with your User ID. You can get your User ID in any Discord channel by typing \@YOUR NAME or enabling "Developer Mode" in the Appearance section of your Discord settings and right clicking your username and click "Copy ID". For example, you would do \@anthony to get acollierr17's Discord User ID

  • Change roles the to ones that are in your server

  • Replace the reaction emojis with the ones of your choosing. Note: to get the value for the reaction, type \:my_reaction: with the backslash and press enter. If done correctly, a smaller emoji should appear. Copy the small emoji into the reactions array. For custom emojis, simply provide the name of the custom emoji that you wish to use

  • Set the embed property to true or false if you wish to use a single embed for all reaction roles. After that, set the text for the embed footer via the embedFooter property

  • Set up the bot and get a token. The Github Wiki Page explains how to set up bots and get tokens. An image of the permissions the bot needs can be found here. Make sure the bot has a role with the permissions that allows it to modify another user's roles and its role is above the set roles

Optional:

  • Modify the setupCMD property to display a custom setup message

  • Modify initialMessage property to display a custom initial message

  • Modify the embedMessage property to display a custom message for the embed

  • Modify the embedColor property to display a custom embed color

  • Modify the setupCMD property to a custom command to be used

  • Modify the deleteSetupCMD property to delete the setupCMD message when it's ran

After you have installed discord.js and made the modifications above, run the npm start command to start the bot!

Support

We hope you find this bot useful. If you need help or find any bugs, use the appropriate forums in this repository to contact us.

Credits to The-SourceCode/Open-SourceBot for issue templates, a part of this README file, the Contributing Guidelines and Code of Conduct

About

Assigns roles to users on Discord based on reactions to a message

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%