Discord bot for custom sound effects and soundboards
Go to file
2023-03-29 18:16:04 +01:00
.idea Move database migrations to SQLx 2023-03-23 11:38:53 +00:00
conf Load environment from file 2023-03-23 19:24:43 +00:00
debian Add user when installing 2023-03-29 18:16:04 +01:00
migrations Move database migrations to SQLx 2023-03-23 11:38:53 +00:00
src Copy config files around to prevent overwriting 2023-03-29 17:51:36 +01:00
systemd Add user when installing 2023-03-29 18:16:04 +01:00
.gitignore gitignore 2020-09-03 14:56:08 +01:00
build.rs Move database migrations to SQLx 2023-03-23 11:38:53 +00:00
Cargo.lock Load environment from file 2023-03-23 19:24:43 +00:00
Cargo.toml Load environment from file 2023-03-23 19:24:43 +00:00
LICENSE Create LICENSE 2020-09-21 09:26:55 +00:00
README.md Update README.md 2023-03-23 15:49:10 +00:00
rustfmt.toml rustfmt. removed gating on creating user rows for join sounds 2021-09-16 22:04:48 +01:00

SoundFX

A bot for managing sound effects in Discord.

Installing

Download a .deb file from the releases and install with sudo apt install ./soundfx_rs-a.b.c_arm64.deb. You will also need a database set up. Install MySQL 8.

Running & config

The bot is installed as a systemd service soundfx-rs. Use systemctl start soundfx-rs and systemctl stop soundfx-rs to respectively start and stop the bot.

Config options are provided in a file /etc/soundfx-rs/default.env

Options:

  • DISCORD_TOKEN- your token (required)
  • DATABASE_URL- your database URL (required)
  • MAX_SOUNDS- specifies how many sounds a user should be allowed without having the PATREON_ROLE specified below
  • 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/)
  • UPLOAD_MAX_SIZE- specifies the maximum upload size to permit in bytes. Defaults to 2MB

Building from source

  1. Install build dependencies: sudo apt install gcc gcc-multilib cmake ffmpeg libopus-dev
  2. Install database server: sudo apt install mysql-server-8.0. Create a database called soundfx
  3. Install Cargo and Rust from https://rustup.rs
  4. Install SQLx CLI: cargo install sqlx-cli
  5. From the source code directory, execute sqlx migrate run
  6. Build with cargo: cargo build --release

When running from source, the config options above can be configured simply as environment variables.