Jaybot

A specialized Discord bot for community automation, Minecraft integration, and dynamic user ranking.

Jaybot is a purpose-built Discord bot designed for community management and server integration. It features a sophisticated ranking system and real-time Minecraft server statistics, all built on a modern TypeScript stack.

Key Features

  • Dynamic Ranking System: XP rewards for active members with a web-based React leaderboard and spam prevention.
  • Minecraft Integration: Automatic updates for player counts and server status displayed directly in Discord channels.
  • Community Automation: Reaction roles, automated suggestion voting systems, and rule-acceptance workflows.
  • Modern Architecture: Built with TypeScript and the Bun runtime, fully containerized with Docker for easy deployment.

Technology Stack

  • Backend: TypeScript, Discord.js, Express, Bun
  • Frontend: React
  • Database: MongoDB
  • Infrastructure: Docker, ElvenOps CI/CD

Local Setup

Jaybot is designed to run in a Docker environment:

  1. Prerequisites: Ensure you have Docker, Bun, and a MongoDB instance available.

  2. Clone the Repository:

    git clone https://github.com/Elvenide/jaybot.git
    cd jaybot
    
  3. Configuration: Rename sample.env to .env and fill in your credentials:

    DISCORD_TOKEN=your_token
    MONGO_URI=your_mongodb_uri
    
  4. Run with Docker:

    docker compose up -d
    

    To rebuild after changes: docker compose up --build -d