Discord bot for custom sound effects and soundboards
Go to file
2020-09-03 14:56:08 +01:00
.cargo cargo config. extracted play functionality. volume can be modified hopefully 2020-05-19 16:29:57 +01:00
.idea added a message 2020-07-07 12:53:56 +01:00
src changed mutex for rwlock. switched custom permission check for the serenity built in one. changed cargo.toml to use 0.9.0-rc.0 2020-09-03 14:52:19 +01:00
.gitignore gitignore 2020-09-03 14:56:08 +01:00
Cargo.lock changed mutex for rwlock. switched custom permission check for the serenity built in one. changed cargo.toml to use 0.9.0-rc.0 2020-09-03 14:52:19 +01:00
Cargo.toml changed mutex for rwlock. switched custom permission check for the serenity built in one. changed cargo.toml to use 0.9.0-rc.0 2020-09-03 14:52:19 +01:00
create.sql added a log for when sound fails to upload 2020-06-26 01:09:16 +01:00
README.md corrected readme 2020-06-05 17:55:21 +01:00

SoundFX 2

The complete (second) Rust rewrite of SoundFX

SoundFX 2 is the Rust rewrite of SoundFX. SoundFX 2 attempts to retain all functionality of the original bot, in a more efficient and robust package. SoundFX 2 is as asynchronous as it can get, and runs on the Tokio runtime.

Building

Use the Cargo.toml file to build it. Simple as. Don't need any shit like MySQL libs and stuff because SQLx includes its own pure Rust one. Needs Rust 1.43+

Running & Config

The bot connects to the MySQL server URL defined in a .env file in the working directory of the program.

Config options:

  • DISCORD_TOKEN- your token (required)
  • DATABASE_URL- your database URL (required)
  • DISCONNECT_CYCLES- specifies the number of inactivity cycles before the bot should disconnect itself from a voice channel
  • DISCONNECT_CYCLE_DELAY- specifies the delay between cleanup cycles
  • MAX_SOUNDS- specifies how many sounds a user should be allowed without Patreon
  • PATREON_GUILD- specifies the ID of the guild being used for Patreon benefits
  • PATREON_ROLE- specifies the role being checked for Patreon benefits
  • CACHING_LOCATION- specifies the location in which to cache the audio files (defaults to /tmp/)
  • CLIENT_ID- specifies the ID of the client for mention commands