Skip to content

HenBOMB/SherbotAI

Repository files navigation

🕵️ SherbotAI

Discord

SherbotAI is a high-fidelity Discord bot designed to facilitate immersive, AI-powered Murder Mystery investigations. Built with Node.js and TypeScript, it leverages cutting-edge LLMs (Gemini, Ollama) to create dynamic suspect interactions and procedurally generated cases.

SherbotAI Banner

Join our community: Discord Server


🔍 Key Features

⚖️ Murder Mystery (MM) Engine

Case Briefing

  • Immersive Investigations: Players move between dedicated Discord channels representing different rooms (e.g., #📍┃kitchen, #📍┃study).
  • AI-Powered Interrogation: Suspects are simulated by AI models, responding to player mentions in real-time. Confront them with evidence to force breakthroughs!
  • Forensic Toolset: Use specialized commands to uncover the truth:
    • dna: Analyze chemical traces in a room.
    • footage: Archive witness accounts and camera logs.
    • search: Physically scour locations for hidden items.
    • analyze: Conduct deep forensic reconstruction of evidence.
  • Procedural Generation: Admin-driven case generation with themes like Noir, Modern, and Mansion.
  • Evidence System: Collect, examine, and present physical evidence to suspects (Phoenix Wright style!).

🛠️ Additional Modules

  • Daily Tips: Automated community engagement and helpful server tips.
  • Auto-Moderation: Robust tools for maintaining server health.
  • User Profiler: Advanced activity tracking and user profiling.
  • Web Dashboard: Integrated API server (Express + Socket.io) for monitoring and management.

🚀 Getting Started

Prerequisites

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/SherbotAI.git
    cd SherbotAI
  2. Install dependencies:

    npm install
  3. Configure Environment: Create a .env file in the root directory and populate it:

    BOT_TOKEN=your_discord_bot_token
    CLIENT_ID=your_discord_client_id
    GEMINI_API_KEY=your_gemini_key (optional)
    N8N_WEBHOOK_URL=your_webhook (optional)
    DB_PATH=./database.sqlite

Running the Bot

  • Development Mode (with hot-reload):
    npm run dev
  • Build Project:
    npm run build
  • Production Start:
    npm start

📜 Commands

Player Commands (/mm)

Command Description
/mm join/leave Join or leave the current investigation team.
/mm status View the investigation clock and current funds.
/mm look/search Inspect your current room and search for evidence.
/mm dna/footage Use forensic tools to gather data (Costs pts).
/mm examine Inspect evidence found in the case.
/mm present Confront a suspect with evidence to increase pressure.
/mm accuse Make a final verdict on the culprit.

Admin Commands (/mma)

Command Description
/mma start Start a specific case from the database or files.
/mma generate Procedurally create a new mystery case.
/mma cleanup Remove all game-related channels/categories.
/mma points Adjust the investigation funds.

🏗️ Project Structure

SherbotAI/
├── src/
│   ├── features/
│   │   ├── mm/          # Murder Mystery core logic
│   │   ├── ai.ts        # AI service integration
│   │   └── profiler.ts  # Activity tracking
│   ├── database.ts      # Sequelize models & initialization
│   ├── config.ts        # Environment configuration
│   └── index.ts         # Main entry point
├── data/                # Static case definitions (YAML)
├── public/              # Visual assets and thumbnails
└── package.json         # Dependencies and scripts

📄 License

This project is licensed under the ISC License.

About

The Art Of Deduction Custom Discord Bot, Sherbot

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors