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 c8ab28e4e4
Add database to store spotify-youtube mappings
When playing a single youtube song the equivalent song will be
searched on spotify and stored in the database. The assumption
is that a user prefers studio versions of songs from youtube
which are harder to search for automatically.

Signed-off-by: trivernis <trivernis@protonmail.com>
4 years ago
.github/workflows Tweak release build for smaller binaries 4 years ago
bot-coreutils Switch to stable toolchain and add more info to stats command 4 years ago
bot-database Add database to store spotify-youtube mappings 4 years ago
bot-serenityutils Switch to stable toolchain and add more info to stats command 4 years ago
src Add aliases to qalc command 4 years ago
.gitignore Switch to diesel with postgres for the database 4 years ago
Cargo.lock Bump version 4 years ago
Cargo.toml Bump version 4 years ago
LICENSE Add hooks and README 4 years ago
README.md Add sauce command 4 years ago
rust-toolchain.toml Switch to stable toolchain and add more info to stats command 4 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