jtmichelson / parrot

🦜 A hassle-free, highly performant, host it yourself Discord music bot built with Serenity in Rust. Powered by youtube-dl and Genius.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🦜

A hassle-free, highly performant and fast evolving Discord music bot built with Serenity in Rust.

Deployment

Usage

Just create a bot account, copy its token into the DISCORD_TOKEN environment variable within .env.

Docker

For the hassle free deployment:

docker run -d --env-file .env ghcr.io/aquelemiguel/parrot:latest

Development

Make sure you've installed Rust. You can install Rust and its package manager, cargo by following the instructions on https://rustup.rs/. After installing the requirements below, simply run cargo run.

Linux / MacOS

The command below installs a C compiler, GNU autotools, Opus (Discord's audio codec), youtube-dl, FFmpeg and the SSL library for development.

apt install build-essential autoconf automake libtool m4 libopus-dev youtube-dl ffmpeg libssl-dev

Windows

If you are using the MSVC toolchain, a prebuilt DLL for Opus is already provided for you.
You will only need to download FFmpeg, and install youtube-dl which can be done through Python's package manager, pip.

pip install youtube_dl

If you are using Windows Subsystem for Linux (WSL), you should follow the Linux/MacOS guide, and, in addition to the other required packages, install pkg-config, which you may do by running:

apt install pkg-config

Testing

Tests are available inside the src/tests folder. They can be ran via cargo test. It's recommended that you run the tests before submitting your Pull Request. Increasing the test coverage is also welcome.

Docker

Within the project folder, simply run the following:

docker build -t parrot .
docker run -d --env-file .env parrot

About

🦜 A hassle-free, highly performant, host it yourself Discord music bot built with Serenity in Rust. Powered by youtube-dl and Genius.

License:MIT License


Languages

Language:Rust 98.3%Language:Dockerfile 1.2%Language:Shell 0.4%