Welcome! This is the repository for the Stardust Labs discord server bot. Incendy was created back in late 2020, simply as a joke to react to certain messages with a certain emoji. Today, Incendy has expanded to become my (catter1) biggest project to date.
This bot is not meant to be used on other servers. A lot of stuff will break! I custom coded Incendy with only the Stardust Labs server in mind. I have been considering making a generalized bot so others can invite it, but for now, Incendy stands by herself.
#support
threads.#downloads
library forum./remind
command.IncendyBot
class, as well as all the checks and cooldowns./upload
.downloads
table in the database.validator
's url.url
function to use regex.search()
instead.#featured
channel.updater
cog and project
library.bulletin
cog.Incendy runs on Python 3.10. Older versions will not work, and newer versions are untested.
Create a virtual environment.
# If you do not already have venv installed for 3.10
sudo apt install python3.10-venv
python3 -m venv venv source venv/bin/activate
3. Install the required dependencies.
```bash
pip install -r requirements.txt
Incendy has some hidden files, which can be viewed in the .gitignore
. In order to generate a template of those files, run Incendy once. It will fail, but the files will be generated.
python3 app.py
Set up PostgreSQL. You should create a user named incendy
, and insert the password into the keys.json
file.
Fill out the keys.json
generated inside the resources
folder.
Set your environment variables. These may be set to their default values in step 4, but it is best to set them yourself. Incendy uses three:
INCENDY_BOT_TOKEN
: this is NOT the bot token, but rather a reference to which token to use from the keys.json
. Should be set to either incendy-token
or dummy-token
. dummy-token
is used for development purposes.INCENDY_WIKI_UPDATE_ENABLED
: a boolean on whether to auto-update the wiki
table in the database.INCENDY_STATS_UPDATE_ENABLED
: a boolean on whether to auto-update the downloads
table in the database.Run Incendy again, and enjoy. The log file is logs/incendy.log
. Once successfully up and running, Incendy will say:
Incendy has woken up, ready for an amazing day! Say good morning!
Incendy is listed under GNU GPLv3. In addition, I don't tend to accept community code contributions to the main project. Feel free to do everything else enabled by the license, though!