catter1 / Incendy

The bot for the Stardust Labs discord server
GNU General Public License v3.0
3 stars 2 forks source link

Latest Version Maintainability Quality Activity

Incendy

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.

Note

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.

Features

Cogs

Libraries

Resources

Running Incendy

  1. Incendy runs on Python 3.10. Older versions will not work, and newer versions are untested.

  2. Create a virtual environment.

    
    # If you do not already have venv installed for 3.10
    sudo apt install python3.10-venv

Navigate to the Incendy bot directory, then initialize and activate the venv

python3 -m venv venv source venv/bin/activate


3. Install the required dependencies.
```bash
pip install -r requirements.txt
  1. 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
  2. Set up PostgreSQL. You should create a user named incendy, and insert the password into the keys.json file.

  3. Fill out the keys.json generated inside the resources folder.

  4. 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.
  5. 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!

License and Contributing

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!