Documentation

Chopsticks Docs

Everything you need to run, configure, and contribute to Chopsticks.

Overview

Chopsticks is a Discord bot focused on music playback and AI voice agents. You can invite the hosted version to your server or self-host your own instance.

The project is in early development. Features are shipping regularly. Check the GitHub repo for the latest changes.

Requirements

  • Node.js 18+
  • A Discord application and bot token (discord.com/developers)
  • PostgreSQL 14+ (for persistent queue and user data)
  • Redis 7+ (for session caching)
  • Optional: Docker and Docker Compose for container setup

Self-hosting

Clone the repository and run the setup script:

git clone https://github.com/WokSpec/Chopsticks
cd chopsticks
cp .env.example .env
# Edit .env with your tokens
npm install
npm run dev

Or with Docker Compose:

docker compose up -d

Configuration

All configuration is done via environment variables. Required variables:

VariableDescription
DISCORD_TOKENYour bot token from the Discord developer portal
DISCORD_CLIENT_IDApplication ID from Discord
DATABASE_URLPostgreSQL connection string
REDIS_URLRedis connection string (default: redis://localhost:6379)
GITHUB_CLIENT_IDFor web dashboard OAuth (optional)
GITHUB_CLIENT_SECRETFor web dashboard OAuth (optional)

Commands

See the full Commands reference for all slash commands.

Chopsticks uses Discord's slash command system. Commands are auto-registered on startup.

AI Agents

AI agents allow natural language control of music. This feature is currently in active development.

Planned capabilities:

  • Natural language: "play something chill" → queues appropriate tracks
  • Agent memory: learns preferences per server over time
  • Multi-agent pooling: multiple voice agents per server
  • LLM-powered queue curation

Contributing

Contributions are very welcome. The areas that need the most help:

  • New commands and command improvements
  • AI agent prompt engineering and evaluation
  • Dashboard UI (React/Next.js)
  • Test coverage
  • Documentation improvements