Python Discord Bot Template
This repository is a template that everyone can use for the start of their discord bot.
When I first started creating my discord bot it took me a while to get everything setup and working with cogs and more. I would've been happy if there were any template existing. However, there wasn't any existing template. That's why I decided to create my own template to let you guys create your discord bot easily.
Please note that this template is not supposed to be the best template, but a good template to start learning how discord.py works and to make your own bot easily.
If you plan to use this template to make your own template or bot, you have to:
- Keep the credits, and a link to this repository in all the files that contains my code
- Keep the same license
See the license file for more information, I reserve the right to take down any repository that does not meet these requirements.
Support
Before requesting support, you should know that this template requires you to have at least a basic knowledge of Python and the library is made for advanced users. Do not use this template if you don't know the basics. Here's a link for resources to learn python.
If you need some help for something, do not hesitate to join my discord server here.
All the updates of the template are available here.
Disclaimer
Slash commands can take some hours to get registered on guilds, so if you want to test a command you should use the guild_ids
parameter in the command decorator so that it gets registered instantly. Example:
@cog_ext.cog_slash(
name="command",
description="Command description",
guild_ids=[GUILD_ID1, GUILD_ID2] # These should be testing guild(s) ID, as always: an integer.
)
When using the template you confirm that you have read the license and comprehend that I can take down your repository if you do not meet these requirements.
Please do not open issues or pull requests about things that are written in the TODO file, they are ** already** under work for the version 3.0 of the template.
How to download it
This repository is now a template, on the top left you can simply click on "Use this template" to create a GitHub repository based on this template.
Alternatively you can do the following:
- Clone/Download the repository
- To clone it and get the updates you can definitely use the command
git clone
- To clone it and get the updates you can definitely use the command
- Create a discord bot here
- Get your bot token
- Invite your bot on servers using the following invite: https://discord.com/oauth2/authorize?&client_id=YOUR_APPLICATION_ID_HERE&scope=bot+applications.commands&permissions=PERMISSIONS ( Replace
YOUR_APPLICATION_ID_HERE
with the application ID and replacePERMISSIONS
with the required permissions your bot needs that it can be get at the bottom of a this page https://discord.com/developers/applications/YOUR_APPLICATION_ID_HERE/bot)
How to set up
To set up the bot I made it as simple as possible. I now created a config.json file where you can put the needed things to edit.
Here is an explanation of what everything is:
Variable | What it is |
---|---|
YOUR_BOT_PREFIX_HERE | The prefix(es) of your bot |
YOUR_BOT_TOKEN_HERE | The token of your bot |
YOUR_APPLICATION_ID_HERE | The application ID of your bot |
OWNERS | The user ID of all the bot owners |
In the blacklist file you now can add IDs (as integers) in the ids
list.
How to start
To start the bot you simply need to launch, either your terminal (Linux, Mac & Windows), or your Command Prompt ( Windows) .
Before running the bot you will need to install all the requirements with this command:
pip install -r requirements.txt
If you have multiple versions of python installed (2.x and 3.x) then you will need to use the following command:
python3 bot.py
or eventually
python3.8 bot.py
If you have just installed python today, then you just need to use the following command:
python bot.py
Issues or Questions
If you have any issues or questions of how to code a specific command, you can:
Me or other people will take their time to answer and help you.
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Built With
License
This project is licensed under the Apache License 2.0 - see the LICENSE.md file for details