/bridge

A Mineflayer bot to synchronize Guild and Officer chats on the Hypixel network between Minecraft and Discord

Primary LanguageTypeScriptOtherNOASSERTION

Hypixel Chat Bridge

⚠️ Hypixel has historically banned accounts running bot software as Mineflayer is not a regular client. Use at your own risk!

CodeFactor License

Deploying

Deploy on Railway

Requirements

  • Node.js >= 16.9.0
  • Git
  • Yarn (Installed with Node.js, run corepack enable)
  • A Minecraft account
  • A Discord bot:
    • Permissions needed:
      • Manage Webhooks
      • View Channels
      • Add Reactions
      • Send Mesaages
    • Scopes needed:
      • bot
      • applications.commands

Setup

  1. Clone the repository and change directory into the folder
  2. Install dependencies with yarn
  3. Create and populate the config file
  4. Run the bridge!
    git clone https://github.com/itsneyoa/bridge.git # Clone the repo
    cd bridge # Change directory to the project folder
    yarn install # Install dependencies
    yarn build # Compile the typescript into javascript
    cp .env.example .env # Create the config file
    nano .env # Populate the config values
    yarn start # Start the bridge

Contributing

Dev environment setup

  1. Add extra values to config file
  2. Download the 1.17.1 Minecraft Server jar into the server/ directory as server.jar
  3. Accept the EULA and set offline-mode to true in server.properties
  4. Start the server with yarn server
  5. Run the bridge with yarn dev rather than yarn start

To do

  • Colourise the terminal logging output for console
  • Clean up the logger
  • Write setup and contributing instructions
  • Add one click deploy to DigitalOcean and dockerise
  • Cache the guild list for autocomplete in slash commands and staff joins/leaves sent to officer chat
  • More events and commands:
    • /guild log
    • /guild motd
    • /guild slow
    • /guild quest
    • /guild list
    • Weekly guild quest completed

Extra .env keys for development

# The server to use as the dev environment
DEV_SERVER_ID=