This Discord bot uses the interactions.py
module to interface with the Discord API.
For help with using the module, check out the documentation.
main.py:
- A custom, dynamic extension (command) loader. Write an extension in the
extensions/
directory, and it will automatically be loaded when the bot boots.
extensions/
:
- This directory is home to the custom extensions (known as cogs in
discord.py
, or command groups) that are loaded when the bot is started. Extensions are classes that encapsulate command logic and can be dynamically loaded/unloaded.
config.py:
- This module houses the bot configuration. The values are loaded from environment variables, so you can set them in your shell or in a
.env
file.
- Clone this repository. To switch to a different version,
cd
into this cloned repository and rungit checkout [branch name/version here]
- It's generally advised to work in a Python virtual environment. Here are steps to create one (the
discord-py-interactions
library requires Python 3.10.0 or later):
$
python3 -m venv env
$
source env/bin/activate
- Create a Discord bot token from here
Register it for slash commands:
- Under OAuth2 > General, set the Authorization Method to "In-app Authorization"
- Tick
bot
andapplications.commands
- Go to OAuth2 > URL Generator, tick
bot
andapplications.commands
- Copy the generated URL at the bottom of the page to invite it to desired servers
- Make a new file called
.env
inside the repo folder and paste the below code block in the fileTOKEN=<paste Discord bot token here>
- Run
pip install -r requirements.txt
to install packages. You'll need Python 3.10 or later- Once that's done, run the bot by executing
python3 main.py
in the terminal
If you aren't sure how to obtain your server ID, check out this article
If you get errors related to missing token environment variables, run source .env