⚠ sushii bot is no longer active or maintained, see sushii 2 for the rewrite.
A Discord bot written in Rust with serenity-rs. Uses a PostgreSQL database along with diesel-rs and r2d2-diesel.
Work in progress. Features may be either missing, incomplete, or broken. sushii is not designed to be self hosted and likely won't ever be, no support will be offered unless you are making a pull request.
Disclaimer: sushii was started as a project to learn Rust so there is definitely a lot of questionable things in the code. A major refactor to clean up and organize the code is planned but probably won't happen anytime soon. Read at your own risk.
- Ranking system based on message counts in daily, weekly, monthly, and all time categories
- User 24 hour activity tracker
- Profile image generation for displaying rank and activity graph (with sushii-image-server)
- sushiiboard (starboard)
- Configurable self assigning role system with multiple categories and limits
- Configurable prefix per guild
- Moderation action logs and editable action reasons
- Mute evasion prevention
- Mass mention auto-mutes
- User created tags (custom commands-ish)
- Channel galleries (sends links & images from a channel to a webhook)
- Reminders
- Keyword notifications
- User join and leave messages
- Rust playground code execution
- Discord events counter
- ...and more to be added
-
Download the latest version from the releases page or the download an artifact on Azure Pipelines, currently only supporting Linux. Sushii should work on Windows and other platforms but it is untested and unsupported.
-
Allow the file to be executed.
chmod +x x86_64-unknown-linux-gnu
-
Create an
.env
file in the same directory and update according to.env.example
. All variables must exist except forBLOCKED_USERS
or the bot will panic. -
Run with
./x86_64-unknown-linux-gnu
or with a process manager like Supervisor.
- Install dependencies.
- PostgreSQL (9.4+)
- Rust / Cargo
curl -sSf https://static.rust-lang.org/rustup.sh | sh
- sushii-image-server (Used for rank image generation, etc)
- Clone this repository and enter the directory.
git clone https://github.com/drklee3/sushii-bot.git cd sushii-bot
- Edit
.env.example
and rename to.env
. Removing any key or leaving them blank will result in panics. - Build and run the bot.
cargo run --release