Skip to content
Documentation

Chopsticks Docs

Use the hosted instance, reskin it to match your brand, or self-host your own. Everything you need is here.

Overview

Chopsticks is a full-featured Discord bot built on discord.js v14 with PostgreSQL persistence, Redis caching, and a Lavalink audio backend. It ships 148 prefix commands and 101 slash commands across music, moderation, economy, games, AI, and social features.

It's open source and actively developed — you can self-host your own instance, fork the code, or contribute directly and help build something genuinely great.

148
Prefix commands
101
Slash commands
MIT
License

Hosted quickstart

Add Chopsticks to your server — no hosting or coding required.

1

Invite the bot

Use the OAuth2 invite link. Chopsticks requests only the permissions it needs.

2

Run /setup

Initialises the database for your server — economy tables, mod log channel, welcome settings.

3

Configure modules

Use /setup to configure moderation, economy, and agent-pool settings per your server.

4

Test with /ping

Confirm the bot is responding. Then /help to see all commands grouped by category.

Self-hosting

Run your own instance with the full Docker stack. PostgreSQL, Redis, and Lavalink are all included.

git clone https://github.com/WokSpec/Chopsticks
cd Chopsticks
cp .env.example .env
# Fill in your bot token, client ID, and DB credentials
docker compose -f docker-compose.laptop.yml up -d
npm run deploy    # register slash commands with Discord

For production use, see docker-compose.production.yml which includes Caddy reverse proxy and hardened settings.

VariableRequiredDescription
DISCORD_TOKENYesBot token from Discord Developer Portal
CLIENT_IDYesApplication client ID
DATABASE_URLYesPostgreSQL connection string
REDIS_URLYesRedis connection string (default: redis://localhost:6379)
LAVALINK_HOSTYesLavalink server host
OPENAI_API_KEYNoOpenAI key for AI features (users can BYOK)

Reskinning

Fork the repo, update the constants in src/config/branding.ts, and rebuild. You can change the bot name, avatar URL, embed color, footer text, and error message copy.

// src/config/branding.ts
export const BRANDING = {
  name:        'Your Bot Name',
  avatarUrl:   'https://cdn.yoursite.com/avatar.png',
  color:       0x38BDF8,          // hex as integer
  footer:      'Powered by YourBot',
  errorPrefix: '❌',
};

After updating branding, run docker compose up --build -d to apply changes.

Per-server themes

Servers can customise the bot's appearance without forking, using the /theme command family:

CommandEffect
/theme color #hexSets the embed accent color for this server
/theme name <name>Renames the bot's persona in all embeds
/theme feature <mod>:offDisables a module (music, economy, games, ai)
/theme viewDisplays current theme settings

Feature flags

Module-level feature flags can be toggled per-server with /theme feature or globally in .env for self-hosters:

FEATURE_MUSIC=true
FEATURE_ECONOMY=true
FEATURE_GAMES=true
FEATURE_AI=true
FEATURE_AUTOMATION=true
FEATURE_AGENT_POOL=true

Setting any flag to false disables all commands in that module across the entire instance. Per-server flags override the global defaults.

Agent System

The Agent System lets you deploy configurable bot actors inside your server — each with a name, persona, and assigned role. Agents can narrate audiobooks in voice channels, host support threads, run trivia, commentate gaming sessions, and more.

This feature is actively in development. You can experiment with it today, but it's an area where community contributions are especially welcome. If you want to help shape how agents work, the GitHub repo is the place to start.

# Getting started with agents
1. Invite Chopsticks to your server
2. Run /agent setup to configure your first agent
3. Assign it a channel and a persona
4. Use /agent deploy to activate it in a voice or text channel

# Want to contribute?
- Browse open issues: github.com/WokSpec/Chopsticks/issues
- Read CONTRIBUTING.md before opening a PR
- Join the Discord to discuss ideas with the team

See the Contributing guide on GitHub to get involved.

Contributing

Pull requests are welcome. For major changes, open an issue first to discuss the approach.

# Development setup
git clone https://github.com/WokSpec/Chopsticks
cd Chopsticks
npm install
cp .env.example .env
npm run dev

See CONTRIBUTING.md for code style, commit conventions, and the PR checklist.