tessa
is a very simple Discord.py bot that automatically adds configured
reactions to any message posted in the specified channels. It also includes
functionality to ban configured reaction emojis for moderation purposes.
The minimum required interpreter version is Python 3.9.
There are a couple of required dependencies that need to be installed first
for tessa
to run correctly:
python3 -m pip install -U discord.py jsonc_parser
See the included tessa_example.jsonc
file for configuration examples. The
file should be renamed to tessa.jsonc
and put in the same directory as the
tessa
executable. An alternative option is to specify an explicit path to
the configuration file by invoking the bot with -c <path to file>
.
Before running, you will need to set up the bot on a Discord account, obtain the client token and add it to the configuration file, and join the bot to the desired guilds. Proceed to the next section for more information on this process.
tessa
supports a few additional command line arguments:
-d / --debug
Increases log verbosity to the absolute maximum for hacking and debugging.
-
Go into Discord’s Developer Portal and create a new Application.
-
After creating your new Application with the desired name, description and icon, on the left pane choose Bot, then choose Add Bot, then confirm the action.
-
The first time you see the Bot page, you will see the option to Copy the generated token to clipboard. If you navigate away from this page before copying the token, you will need to Reset it to a new one first, invalidating the previous token.
-
Paste the token into the configuration file as the
token
option.
-
Return to the Developer Portal and select the bot’s parent application from the My Applications section.
-
In the application’s General Information page, scroll down to the Application ID and choose Copy.
-
In order to join the bot to a guild, replace the Application ID into the
APPID
portion of the URL below, and visit it as a user with the guild Administrator privilege:
https://discordapp.com/oauth2/authorize?&client_id=APPID&scope=bot&permissions=73792