~hannes/katarina

Just another Discord bot

affb22b Version 7.0.6

~hannes pushed to ~hannes/katarina git

6 days ago

5b9083f Update shutdown instruction

~hannes pushed to ~hannes/katarina git

17 days ago

#Katarina

builds.sr.ht status

Just another discord bot

Yes, some features of this bot are heavily inspired by Miki. Thank you, dear Miki developers.

#Getting started

Make sure you have Java 17 or higher installed on your system.

To build Katarina, you need the JDK (Java Development Kit). If you only want to run Katarina, the JRE (Java Runtime Environment) is enough. I recommend using Eclipse Temurin.

#Build

  • Clone this repository.
  • On Linux or macOS run
    ./gradlew shadowJar
    
  • You will find the generated JAR file inside the directory build/libs/. It is named something like katarina-4.0.0-all.jar.

#Run

Before running Katarina for the first time, it is recommended to first generate the database. To do this, run something like

java -jar katarina-4.0.0-all.jar -d katarina.db -m initGifs

A file called katarina.db (or whatever you named it) will be created. With an SQLite Editor, adjust the following settings inside the database to your needs (table: configuration):

  • bot_name: the name of the bot (mainly used for the GIF stuff)
  • owner_id: the user id of the bot owner
  • language: the spoken language on your server (currently supported values: english, german)
  • dadEnable: enables/disables the Dad module

After this initial setup, you can run Katarina with something like

java -jar katarina-4.0.0-all.jar -d katarina.db -t <token>

You need to replace <token> with the token of your bot. As an alternative, you can also omit the -t parameter and supply the token through an environment variable called KATARINA_BOT_TOKEN.

Shutdown is available from within Discord using the /shutdown command. This only works, if you are the owner of the bot (specified in the configuration table of the database).

#Using Docker

You can also use Docker to run Katarina. Build the image from the Dockerfile. When setting up a container, make sure to mount your database to /katarina/katarina.db and supply the token through an environment variable called KATARINA_BOT_TOKEN.

#Available modules/commands

Please refer to the user guide. Otherwise, the descriptions for the slash commands should be pretty helpful too.

#License

Katarina is licensed under the GNU Affero General Public License v3.0. For more information see LICENSE.