An unofficial, modular Discord bot designed for Hytale communities and guilds. Built with TypeScript and discord.js v14, it features a clean architecture and real-time data fetching from the Hytale Wiki.
-
🔍 Wiki Integration:
- Smart Search: Fuzzy search to find items even with partial names.
- Visual Embeds: Automatically fetches high-quality images, descriptions, and links from hytalewiki.org.
- Commands:
/find <anything from the game>: Displays information.
-
⚡ Modern Architecture:
- Written in TypeScript.
- Modular Command Handler: Easy to add new commands in
src/commands. - Event Handler: Separated logic in
src/events. - Services: Isolated API logic (Wiki, etc.) for better maintainability.
- Node.js (v16.9.0 or higher)
- npm (or yarn/pnpm)
- A Discord Bot Token & Client ID (from the Discord Developer Portal)
-
Clone the repository
git clone https://github.com/gonzyui/hytale-bot.git cd hytale-bot -
Install dependencies
npm install
-
Configure Environment Variables Create a
.envfile in the root directory and add your credentials:DISCORD_TOKEN=your_super_secret_bot_token CLIENT_ID=your_bot_application_id
-
Run in Development Mode Uses
ts-node.npm run dev
-
Build for Production Compiles TypeScript to JavaScript in the
dist/folder.npm run build npm start
/src
├── /commands # Slash commands
├── /events # Discord events (ready.ts, interactionCreate.ts)
├── /services # External API logic (Wiki fetcher)
├── types.ts # TypeScript interfaces
└── index.ts # Bot entry point and handler
As Hytale is still in development (early access), some features are planned for when public APIs or server protocols become available.
- Wiki Integration (Live fetching of Items/Mobs/Blocks).
- Modular Handler (Clean Architecture).
-
/server <ip>:- Status: ⏸️ On Hold. Reason: Waiting for Hytale's official server protocol documentation (QUIC/UDP) to accurately query player counts and MOTD.
-
/skin <player>:- Status: ⏸️ On Hold. Reason: Waiting for the official Hytale Avatar API to fetch player models.
Contributions are welcome! If you want to add a feature or fix a bug:
- Fork the project.
- Create your feature branch (git checkout -b feature/AmazingFeature).
- Commit your changes (git commit -m 'Add some AmazingFeature').
- Push to the branch (git push origin feature/AmazingFeature).
- Open a Pull Request.
Distributed under the MIT License. See LICENSE for more information.