Rust version of the tobi discord bot
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
trivernis 9bfb35dbce
ci/woodpecker/push/build Pipeline failed Details
ci/woodpecker/tag/container Pipeline was successful Details
Fix yt-dlp
7 months ago
.github/workflows Update Workflows 2 years ago
.woodpecker Add forgejo id to container build task 7 months ago
bot-coreutils Remove lavalink dependencies and update to new serenity 2 years ago
bot-database Remove lavalink dependencies and update to new serenity 2 years ago
src Fix yt-dlp 7 months ago
.containerignore Fix container build task 2 years ago
.gitignore Switch to diesel with postgres for the database 3 years ago
Cargo.lock Fix yt-dlp 7 months ago
Cargo.toml Fix yt-dlp 7 months ago
Containerfile Update dependency to fix build 7 months ago
LICENSE Add hooks and README 3 years ago Update README 7 months ago
rust-toolchain.toml Switch to stable toolchain and add more info to stats command 3 years ago

2B (Tobi) Discord bot.

A rust rewrite of the originally js 2B bot.

Current feature set

  • minecraft information
  • playing music from youtube
  • miscellaneous commands

System Dependencies

The bot depends on a few programs to be installed on the system.

Data Storage


Misc Commands

API Dependencies

The bot depends on the following APIs

  • Discord: It's a discord bot...
  • Spotify: To fetch song names to be searched on youtube for music playback
  • lyrics.ohv: To fetch lyrics for playing songs
  • SauceNAO: To fetch source information for images

Dev Dependencies

  • Rust
  • Other stuff that you have to figure out yourself because it just works for me


The bot reads all required configuration values from the environment or optionally from a .env file. The required values are:

  • BOT_TOKEN (required): Discord bot token
  • BOT_OWNER (required): Discord UserID of the bot owner
  • DATABASE_URL (required): Connection uri to the postgres database in the schema postgres://myuser:mypassword@localhost:5432/database
  • SPOTIFY_CLIENT_ID (required): Spotify API Client ID
  • SPOTIFY_CLIENT_SECRET (required): Spotify API Client Secret
  • SAUCENAO_API_KEY (required): SauceNAO API Key
  • BOT_PREFIX (optional): The prefix of the bot. Defaults to ~ if not set.
  • LOG_DIR (optional): Directory to store log files in. Defaults to logs in the cwd.