Important
This is an archived project (2021–2024). Working on Hexxo was a lot of fun,
he was my first actually big project! ❤️ He probably doesn’t work now tho.
Big thanks to LarionDogger, Aero_CKD, TraceTheFurry,
Sapphire Community,
Lavalink Developers,
devs of Groovy and
Furbot that inspired
Hexxo, and all the folks that actually used Hexxo! 🤗
This is hexxo, a friendly neighbourhood Discord synth bot! Started as a music and timezone bot for friends after Groovy’s shutdown (fy, YT!), it’s now my biggest personal project made during uni with a bunch of random commands! Built with JavaScript alongside Rust, powered by Sapphire Framework and a never-ending supply of coffee.
Further reading: Command–List
- 🎧 Music playback from YouTube, Deezer, Soundcloud and direct files
- 🖼️ Art website searching and a bunch of built–in image galleries
- 🤓 Nerd stuff like Wolfram|Alpha or 🔭 astronomy tools
- 🕐 Timezone conversions to keep up with friends around the globe
- 🎉 Random fun[unconfirmed] (and useless) commands
- 🐾 Somewhat unhealthy amount of degeneracy
- ???
- AND MUCH MORE!
Caution
The running instance of hexxo will be shut down by September 2024.
Required permissions (bot will not respond if not granted): READ_MESSAGES, SEND_MESSAGES, SEND_MESSAGES_IN_THREADS, EMBED_LINKS, ADD_REACTIONS, USE_EXTERNAL_EMOJIS.
To get Hexxo up and running, you'll need to have Node.js, NPM, and Rust installed.
This project uses NAPI-RS to utilize Rust-written utilities.
Here are the steps to set up Hexxo:
Functionality is focused on Linux operating systems, Windows or macOS not tested.
- Node.js v20 /w NPM
- Rust /w Cargo
- Discord Application
For message commands and a few other features to work, make sure to enable the privilaged message content intent in the Discord Developer Portal.
- MongoDB v5+ Cluster for persistent data and settings
- Lavalink v4.0.3+ Node /w LavaSrc v4+ for music playback
The bot will still run without these, but some features will be unavailable.
-
Clone the repo:
git clone https://github.com/Onegenimasu/hexxo.git cd hexxo -
Install JavaScript dependencies:
npm install
-
Build Rust dependencies: Hexxo uses Rust utilities, so you need to build these before running the bot. You only need to do this once.
cargo build
-
Compile Rust binary: Changing the Rust files will require you to rebuild the project.
npm run build
-
Configure: Rename the
config.example.tomlfile toconfig.tomland add your bot token. You can also add other variables, but they are not required for the bot to run, see optional prerequisites.
After you've set everything up, you can start the bot using npm:
npm startAlternatively, the main script file src/hexxo.js has a shebang, so you can
also run it directly from the terminal:
./src/hexxo.jshexxo is released as an open-source end-user application under the GNU General Public Licence v3.0.
- See
LICENCEfile, tl;drLegal or GPL FAQ for more details. - TL;DR;NAL: Do whatever you want with any part of the code (use, tinker, whatever), as long as you don't claim it as your own, and if you distribute it, you make the code public under the same licence (share and let share).


