Discord bot for custom sound effects and soundboards
.idea | ||
conf | ||
debian | ||
migrations | ||
src | ||
systemd | ||
.gitignore | ||
build.rs | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE | ||
README.md | ||
rustfmt.toml |
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 thePATREON_ROLE
specified belowPATREON_GUILD
- specifies the ID of the guild being used for Patreon benefitsPATREON_ROLE
- specifies the role being checked for Patreon benefitsCACHING_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
- Install build dependencies:
sudo apt install gcc gcc-multilib cmake ffmpeg libopus-dev
- Install database server:
sudo apt install mysql-server-8.0
. Create a database calledsoundfx
- Install Cargo and Rust from https://rustup.rs
- Install SQLx CLI:
cargo install sqlx-cli
- From the source code directory, execute
sqlx migrate run
- Build with cargo:
cargo build --release
When running from source, the config options above can be configured simply as environment variables.