No description
Find a file
2025-09-23 00:03:28 +02:00
i18n Add admin commands 2025-09-23 00:03:28 +02:00
migrations Add support for ignoring command execution per guild 2025-09-17 00:13:47 +01:00
src Add admin commands 2025-09-23 00:03:28 +02:00
.gitignore Initial commit 2025-09-16 00:55:59 +02:00
Cargo.lock enable the temp-cache feature in serenity 2025-09-22 23:20:09 +02:00
Cargo.toml enable the temp-cache feature in serenity 2025-09-22 23:20:09 +02:00
docker-compose.yml Initial commit 2025-09-16 00:55:59 +02:00
Earthfile Correctly cache artifacts in the earthfile 2025-09-16 15:00:38 +02:00
readme.md fix readme typos 2025-09-16 01:13:30 +02:00

Geekbot.rs

A General Purpose Discord Bot written in Rust.

This is the third implementation of the bot.

You can invite Geekbot to your server with this link

Website: https://geekbot.pizzaandcoffee.rocks/

Technologies

  • Rust
  • Postgres
  • Serenity
  • SQLx

Running

Configuration

Configuration is done through environment variables.

Variable Description Required Default
GEEKBOT_TOKEN The bot's token Yes
GEEKBOT_DB_CONN_STR The database connection string Yes
GEEKBOT_API_ADDRESS Address on which the API listens No [::0]:12995
GEEKBOT_SENTRY_DSN A Sentry DSN No

Migrations

Database migrations are managed with the SQLx CLI;

They can be run with the follwoing command:

export DATABASE_URL=postgres://...
sqlx migrate run

alternatively, you can use docker

docker run --rm -it --net=host -e 'DATABASE_URL=postgres://' git.boerlage.me/daan/geekbot-rs-migrations:latest migrate run

Running

Either build and run the project locally

cargo run --release

or use docker

docker run --name geekbot-rs --env-file=./.env git.boerlage.me/daan/geekbot-rs:latest

Building docker images

The docker images are built using Earthly

Building is done with the following command

earthly +all

Contributing

Everyone is free to contribute, please open an issue before creating a PR.