Skip to content

Discord music bot powered by Lavalink and focusing on performance, features, usability and practicality.

License

Notifications You must be signed in to change notification settings

Ciencia-Cafe/hydrogen-bot

 
 

Repository files navigation

Nashira Deer // Hydrogen

Discord music bot powered by Lavalink and focusing on performance, features, usability and practicality.

Discord

Donating

You can help Hydrogen's development by donating.

GitHub Sponsor Patreon Pix

Developing

To develop Hydrogen, you need to have Docker and Visual Studio Code installed or any IDE that supports Dev Containers. But before you enter the Dev Container, please first read the development guide to understand how to configure the development environment.

If you are using JetBrains IDEs, unfortunately, Dev Containers support is very limited, so it is recommended to develop on the host machine instead using Rust 1.85.0.

Using

Hydrogen is available on our GitHub Container Registry, you can use it by running docker run -e DISCORD_TOKEN=your_token -e LAVALINK=your_lavalink_host ghcr.io/nashiradeer/hydrogen-bot:0.0.1-alpha.14-alpine in a terminal with Docker installed and running, replacing your_token with your Discord bot token and your_lavalink_host with your Lavalink host. You can also use the Debian variant by replacing ghcr.io/nashiradeer/hydrogen-bot:0.0.1-alpha.14-alpine with ghcr.io/nashiradeer/hydrogen-bot:0.0.1-alpha.14-debian.

Building

To build Hydrogen, you need to have Docker (Podman not supported) installed and running on your machine and run docker build -f Dockerfile.alpine -t hydrogen:latest . in a terminal with Docker installed and running, after the build is completed, you will have a Docker image ready for use, named "hydrogen: latest".

For the Debian variant, you can use docker build -f Dockerfile.debian -t hydrogen:latest . instead.

Hydrogen by default uses SIMD instructions to parse JSON, to disable it, you need to build the Hydrogen without the default features or by removing the simd-json feature from the default features in the Cargo.toml file.

Configuring

You can configure Hydrogen using environment variables, here is a list of the available variables:

  • DISCORD_TOKEN: Sets the token that will be used to access Discord. (required)
  • LAVALINK: Sets the Lavalink hosts. (required, e.g. localhost:2333@youshallnotpass or localhost:2333@youshallnotpass;lavalink:443@securepassword/tls)
  • DISABLE_MULTI_THREADING: Disables multi-threading. (optional, default: false)

License

Created by Nashira Deer and licensed under General Public License v3.0.

About

Discord music bot powered by Lavalink and focusing on performance, features, usability and practicality.

Resources

License

Stars

Watchers

Forks

Languages

  • Rust 99.9%
  • Dockerfile 0.1%