Skip to content
This repository was archived by the owner on Dec 4, 2024. It is now read-only.

onegen-dev/hexxo

Repository files navigation

hexxo

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! 🤗

Hexxo's avatar

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.

Discord.JS xo-code-style Kazagumo SapphireJS

Features

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!

Invite

Caution

The running instance of hexxo will be shut down by September 2024.

Invite Link

Required permissions (bot will not respond if not granted): READ_MESSAGES, SEND_MESSAGES, SEND_MESSAGES_IN_THREADS, EMBED_LINKS, ADD_REACTIONS, USE_EXTERNAL_EMOJIS.

Install & Run

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:

Prerequisites

Functionality is focused on Linux operating systems, Windows or macOS not tested.

For message commands and a few other features to work, make sure to enable the privilaged message content intent in the Discord Developer Portal.

Message Content Indent toggle

Optional Prerequisites

The bot will still run without these, but some features will be unavailable.

Setup

  1. Clone the repo:

    git clone https://github.com/Onegenimasu/hexxo.git
    cd hexxo
  2. Install JavaScript dependencies:

    npm install
  3. 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
  4. Compile Rust binary: Changing the Rust files will require you to rebuild the project.

    npm run build
  5. Configure: Rename the config.example.toml file to config.toml and add your bot token. You can also add other variables, but they are not required for the bot to run, see optional prerequisites.

Running

After you've set everything up, you can start the bot using npm:

npm start

Alternatively, the main script file src/hexxo.js has a shebang, so you can also run it directly from the terminal:

./src/hexxo.js

Licence

GPLv3 logo

hexxo is released as an open-source end-user application under the GNU General Public Licence v3.0.

  • See LICENCE file, 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).

Contributors