Skip to content

On Commands

Info

Screenshots below serve to provide guidance on the Discord UI. Commands and descriptions shown may change as EnduraBot continues being developed.

EnduraBot uses Discord slash commands rather than prefix commands (e.g !about). This is done because a) the features that come with slash commands make the bot more convenient and b) it is how Discord prefers commands be made.

One of the benefits of slash commands is that creating an external list of registered commands is unnecessary. A dynamic list can be generated by typing / and then clicking the logo for the bot.

Slash command example

The Discord slash command interface.

Certain commands have multiple arguments. In cases where an argument's purpose cannot be reasonably interpreted a description has been given to it.

To view an argument's description, while typing out a command, click to the right of whichever argument is actively requesting input. This will provide a list of them above the input box. Note how each argument has a description to the right.

Slash command example

The Discord slash command interface listing command arguments.

Command Outliers

This section will go over any quirks commands may have that cannot be reasonably explained in the Discord interface.

/trole

Info

A dedicated breakdown of this command is available at Temporary Role Breakdown (/trole).

Using this command on someone who doesn't already have a /trole entry is self-explanatory. The quirk in this case is what happens if the command is ran on someone who already has a /trole entry.

/trole will treat targetting the same person twice as the executor wishing to overwrite the previous entry with an entirely new one.

Example

If John Doe gives someone @Role A for 2 days, and then runs it again on the same person to give @Role B for 7 days, EnduraBot will replace @Role A with @Role B and then replace the 2 day timer with a 7 day timer.

Furthermore, if a temporary role assigned to a user is removed in an abnormal fashion (e.g manually with native Discord permissions), /trole will handle it gracefully and still delete the entry in the database at the designated time. However, it is advised that the remove arguement of /trole be used instead.

Non-command Features

EnduraBot does the following actions which are not triggered by command.

  • Logs invite creations.
  • Logs and alerts moderators when someone joins the server.
    • The invite used by the joining individual, who created the invite, and when the invite was originally created, are also logged.
  • Tracks anytime itself is pinged (including @everyone) and has a chance to insult the pinger.
  • Tracks anytime someone pings @SYS:OP and, if certain words exist in the message, the message is deleted and the user advised to use /alert instead.
  • Tracks Discord accounts joining the server and, if the account is being monitored by /monitor, will either send an alert to moderators, or send an alert and ban the account, depending on the settings selected in /monitor.
  • Executes /rquote to configured channel general_chat_channel_id from data/variables.json, with a customized "Bible quote" theme, sent daily at 12pm Eastern.
  • Checks every minute if anyone with a temporary role from /trole should still have it and, if not, removes the role.