/thatkitebot

A discord bot written in Python (and C) with image manipulation commands and scientific calculators

Primary LanguagePythonMIT LicenseMIT

ThatKiteBot

A Discord bot focused on science commands and fun stuff.

Installation and first run

The following instructions will be for a Debian system. There can be problems if your system uses SELinux!!! (It is recommended that you add yourself to the docker user group to omit sudo for better security)

Install docker:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

Check your docker compose verison

Make sure that your version of compose is at least 2.X by running docker-compose version

If you run into any issues, make sure you are not using docker compose (with a space instead of -), as this will often be an outdated version of Docker Compose!

Clone the repository

git clone https://github.com/ThatRedKite/thatkitebot.git

Navigate to installed folder and start the docker container

cd thatkitebot
sudo docker-compose up --build

Docker will download all dependencies and start. This can take a while. After it finishes starting hit ctrl+c to stop it and wait until it finishes.

Set API keys

nano ./data/init_settings.json 

This will open nano editor where you will see something like this:

{
    "discord token": "",
    "tenor api key": "",
    "prefix": "+",
}

The tenor token is optional. discord_token is the discord bot API token you can get from discord. prefix is what the bot will use as a command prefix for example + or ex or any other string or character. Don't forget to turn on Privileged Gateway Intents in the discord bot panel (next to the bot API token).

NEVER share your API keys with anyone, do NOT edit this file in the GitHub interface!

After that is done hit ctrl + x, y and enter. The settings will be saved.

Starting the bot

To start the bot from a stopped state (like we have right now).

sudo docker-compose up -d thatkitebot

This will start the bot in the background. Error messages and status messages can be read with docker logs thatkitebot-thatkitebot-1. If you do not wish to start the bot in the background, you can omit the -d.

Updating

To update the bot to the latest stable git build, run

git pull
docker-compose up --build -d thatkitebot

This will sync your local copy with the git repo and completely rebuild the container. This is required to get possibly missing libraries.

To check the status of the container do sudo docker container ls you will see 2 containers redis:alpine and thatkitebot_thatkitebot that means everything is running. Now go to the server that you added the bot to and do +help (or whatever command prefix you chose) to see if it's working.

Stopping

sudo docker-compose stop