Skip to content

A modern and easy-to-use bot to bridge between your Hypixel guild and Discord chats.

License

Notifications You must be signed in to change notification settings

MiscGuild/bridge

Repository files navigation

Miscellaneous Guild Bridge

A bot used to Bridge between Discord and Hypixel guild chats.

Warning

This application will log into Minecraft using Mineflayer, a JavaScript API for Minecraft. This may be against the rules of some servers and could result in punishment. All contributors to this repository are not liable for damages, and no warranty is provided under the MIT License.

Note

This application will no longer receive updates that contain new features or QOL improvements. Updates, where necessary, will only contain patches for security vulnerabilities and bugs.

Features

  • Bridges between Discord and Hypixel guild chats.
  • Sends all guild related messages, including chat, guild announcements and more to Discord.
  • Automatic restarts and reconnections.
  • Privileged slash commands to control bot behaviour in-game.
  • Toggleable slowmode to control member usage.
  • Basic filtering of extreme profanity to protect bot accounts from abuse.
  • Configurable in-game reminders to spread the word about news and upcoming events.

Installation

Prerequisites

  • Git
  • NodeJS >=18.20.4 and npm
  • A full access Minecraft Java Edition account

Setup

  1. Install pnpm via one of their installation methods, or the following command:
$ npm install -g pnpm
  1. Clone the repository into a directory of your choice.
$ git clone https://github.com/MiscGuild/bridge.git
  1. Enter the new directory and install packages.
$ cd bridge
$ pnpm install
  1. Make a new Discord bot account on the Discord Developer Portal and retrieve the bot token.

  2. Under the Bot tab, grant the bot the Message Content Intent.

  3. Generate an invite URL by going to the OAuth2 tab and clicking on the URL Generator. Add the bot and application.commands scopes, before opening the link to invite the bot to your server.

  4. Setup the project config files.

$ pnpm run setup-files
  1. Fill out the .env file with your credentials.

  2. Promote the Minecraft account used by the bot to Officer in-game in order for it to view the Officer chat and run privileged commands.

  3. On Hypixel, set the account's Private Message Privacy setting under My Profile > Social Settings to Low or High, allowing guild members to privately message the bot to see their weekly guild experience total.

  4. Build and run the bot.

$ pnpm run build
$ pnpm start

Hypixel API keys

After the June 2023 Hypixel Public API update, Development API Keys now expire after three days but can be easily renewed.

To acquire a permanent key, first generate a Development Key here. Then, fill out the form under Apps > Create app > Personal API Key. Please note that applications concerning bridge bots may be denied.

Alternatively, you may omit the HYPIXEL_API_KEY field of the .env file, but some features such as minimum network level enforcement will be disabled.

Process management

If you are self-hosting or your process manager does not automatically restart the bot in the event of a crash, you may use PM2, a process manager for Node.js applications.

Use the pm2:start script instead of the start script to launch the bot. To stop the process, use the pm2:kill script.

$ pnpm run pm2:start
$ pnpm run pm2:kill

Please refer to the PM2 documentation for more configuration options and information about PM2.

Contributing

Pull requests are welcome. If you would like to chat with other developers please join our Discord.

Before submitting your changes for review, please ensure:

Give this repository a ⭐ if it helped you!

Issues and bug reports

To raise an issue or bug report, please contact a developer or open an issue.

Acknowledgements

Parts of this project use code from the following repositories:

License

This is an open-source project licensed under the MIT License.