Do you want to user to be able to self-assign role? But you don't like Selfrole as they require user to write a command? No problem then, Reaction Role are here to best serve you as they don't require any special command, the only requirement is to react to a message with an emoji.
Below an example on how a message with Reaction Role enabled looks like:
Let's now setup your Reaction Role:
- Let's begin with getting the MessageId of a Discord Message follow this external
guide provided by Discord Support
to get the MessageId. In case you can't enable the developer mode and get a
MessageId, April helps you by getting the last message sent Id by running
!Reactionrole getlastmessageidand it will return an id similar to 592004826854850571.
- We assume that now you have a MessageId, so let's proceed to the next steep that
is adding binding reaction to a role, keep in mind that a reaction can have multiple
role bind to it. Reaction role has two types and they are: normal and removable,
the first one will give the role when a user react, the second one will give the
role when a user react and remove that role/s when user remove its reaction. You can
follow this guide for both as their requirements and parameter are equals, just
the final result changes. So, let's start setting up your Reaction Role, by running
!Reactionrole addremovable [MessageId] [Emoji] [Role]command where "[MessageId]" parameter is the MessageId that we got from the first steep, "[Emoji]" parameter is any type of emoji that Discord provide, external emoji such as guild emoji, nitro emoji are allowed but April will not be able to react to the message to those emoji so you'll more likely add the first emoji yourself. Finally, "[Role]" parameter is the role that April will give to user who react with that emoji. e.g.
!Reactionrole addremovable 592004826854850571 :cat: @Love cat
Note that the command must be executed in the same channel where the target message has been sent
- To remove a Reaction role from a message use
!Reactionrole statusto get all your Reaction Roles and their ids.
Now that you've got the id you can use
!Reactionrole remove [Id] in this case
103 so I'll use
!Reactionrole remove 103.
- Did you just mess up your Reaction roles and you would like to just reset them?
!Reactionrole clearis the command for your case, it'll remove all your Reaction role, note that it will not reset dm status and messages.
- Optionally send direct message on given/removed message. April allow you to
send a customized message when a Reaction Role get triggered, if no messages are set
a default one will be sent. So let's firstly enable Direct message feature by using
!Reactionrole toggledmcommand, after its execution you'll successfully have enabled direct messages, and a default message will be sent. To customize the message that will be sent when a user react and get a role use
!Reactionrole setgivenmessage [Message]where "[Message]" is the message you want to be send. Finally, to customize the message that will be sent when a user remove its reaction use
!Reactionrole setremovedmessage [Message]where "[Message]" is the message you want to be send. e.g.
!Reactionrole setgivenmessage Hi, you received a roleor
!Reactionrole setremovedmessage Hi, you removed a role.
To reset messages to default one use
!Reactionrole setgivenmessage or
Currently you cannot use variables in the messages, but this feature will be implemented soon.