2026-02-05 15:00:37 +01:00
2026-02-05 14:07:58 +01:00
2026-02-05 14:25:04 +01:00
2026-01-29 12:26:13 +01:00
2026-02-05 14:07:58 +01:00
2026-02-05 14:07:58 +01:00
2026-02-05 14:25:04 +01:00
2026-02-05 14:07:58 +01:00
2026-02-05 15:00:37 +01:00
2026-01-29 12:26:13 +01:00
2026-02-05 14:07:58 +01:00
2026-02-05 14:07:58 +01:00
2026-02-05 14:07:58 +01:00
2026-02-05 14:07:58 +01:00
2026-02-05 14:07:58 +01:00
2026-01-29 12:26:13 +01:00

Joel Discord Bot

A Discord bot with AI-powered responses and message tracking.

Quick Start

# Install dependencies
bun install

# Set environment variables
cp .env.example .env
# Edit .env with your tokens

# Run in development mode
bun run dev

# Run in production
bun run start

Project Structure

See src/README.md for detailed architecture documentation.

src/
├── core/       # Bot client, config, logging
├── commands/   # Slash commands
├── events/     # Discord event handlers
├── features/   # Feature modules (Joel AI, message logging)
├── services/   # External services (AI providers)
├── database/   # Database schema and repositories
└── utils/      # Shared utilities

Environment Variables

Variable Description
DISCORD_TOKEN Discord bot token
DISCORD_CLIENT_ID Discord application client ID
DISCORD_CLIENT_SECRET Discord application client secret
OPENROUTER_API_KEY OpenRouter API key for AI
KLIPY_API_KEY Klipy API key for GIF search (optional)
ELEVENLABS_API_KEY ElevenLabs API key for voiceover
ELEVENLABS_VOICE_ID Default ElevenLabs voice ID (optional)
ELEVENLABS_MODEL ElevenLabs model ID (default: eleven_multilingual_v2)
WEB_PORT Port for web dashboard (default: 3000)
WEB_BASE_URL Base URL for web dashboard
SESSION_SECRET Secret for session encryption

Scripts

Script Description
bun run dev Development with hot reload
bun run start Production start
bun run build Build for production
bun run db:generate Generate DB migrations
bun run db:migrate Run DB migrations
bun run db:studio Open Drizzle Studio
bun run typecheck Type check without emit
Description
No description provided
Readme Unlicense 1.5 MiB
Languages
TypeScript 82.1%
CSS 11%
JavaScript 6%
Nix 0.4%
Dockerfile 0.3%
Other 0.2%