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 fd13f7ae64
Reimplement shuffle for VecDeque in coreutils
Introduced the new trait Shuffle that is implemented for
VecDeque and shuffles it. Previously the VecDeque
was shuffled with a function provided in the main utils module.

Signed-off-by: trivernis <trivernis@protonmail.com>
3 years ago
.github/workflows Add subcrate bot-coreutils 3 years ago
bot-coreutils Reimplement shuffle for VecDeque in coreutils 3 years ago
bot-database Change submodule name database to bot-databas for new naming scheme 3 years ago
src Reimplement shuffle for VecDeque in coreutils 3 years ago
.gitignore Switch to diesel with postgres for the database 3 years ago
Cargo.lock Reimplement shuffle for VecDeque in coreutils 3 years ago
Cargo.toml Add subcrate bot-coreutils 3 years ago
LICENSE Add hooks and README 3 years ago
README.md Add sauce command 3 years ago
rust-toolchain.toml Add extension to toolchain file to hopefully work 3 years ago

README.md

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

Music

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

Configuration

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.

License

It's GPL 3.0