- Sqlite database integration
- Fast & stable
- Examples for lots of Serenity & Poise features
- Commented code for ease of development
- KeepAlive Axum server if you want to run the bot on a free server host like Render
This bot was originally meant for a private server, so some of the commands (XOTD & Roles) might not make too much sense to use in your own server.
CursedBot mostly depends on the following crates:
- Tokio - Epic async rust runtime
- Axum - Web app framework
- Serenity - Discord API wrapper
- Poise - Advanced command framework for Serenity
- Roux - Reddit client
- rSpotify - Spotify client
- sqlx - SQL 😭
- Serde - Serializing and deserializing structs
- Tracing - For logs
- Install rust via Rustup
- Git clone the repository
- Rename
Config.json.example
toConfig.json
and configure it - Add the
DATABASE_URL = "sqlite://database.sqlite"
environment variable & renamedatabase.example.sqlite
todatabase.sqlite
cargo install sqlx-cli
cargo sqlx migrate migrations
cargo sqlx prepare
cd CursedBot
cargo build --release
cargo run
NOTE: You might need to install libssl-dev
(openssl
in arch) & pkg-config
(pkgconf
in arch) for it to compile without errors.
GNU GPL 3.0