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 by goot27 and Wok Specialists. It ships 60 slash commands across music, moderation, economy, games, AI, and utility — plus the Agent Pool system for community-powered voice deployments.

It's open source (MIT), free forever, and built on discord.js v14 with PostgreSQL, Redis, and Lavalink. You can use the hosted instance immediately, fork and reskin it for your brand, or self-host a full Docker stack.

Hosted quickstart

The easiest path. The hosted instance is run by goot27 — no accounts, no servers, no config required.

  1. Click Add to Discord and authorize the bot with your server.
  2. Use /setup to configure modules (optional).
  3. Start using commands — try /help for a full list.

Self-hosting

Run your own Chopsticks instance. Everything is containerized — you need Docker, a Discord bot token, and nothing else to start.

Prerequisites

RequirementVersion
Node.js20 or 22 LTS
Docker + Composev2+
PostgreSQL15+ (or use Docker)
Redis7+ (or use Docker)
LavalinkLatest (music only)

Quick start (Docker)

git clone https://github.com/WokSpec/Chopsticks.git cd Chopsticks cp .env.example .env # Fill in DISCORD_TOKEN, CLIENT_ID, BOT_OWNER_IDS at minimum docker compose -f docker-compose.free.yml up -d

Use docker-compose.free.yml for a minimal free-tier stack. Use docker-compose.production.yml for a hardened production deployment. See the full self-hosting guide for all options.

Reskinning (fork & rebrand)

All brand text, colors, and feature flags are controlled by src/config/branding.js. Fork the repo, edit that file, and you have a fully rebranded bot.

// src/config/branding.js export const Branding = { name: "MyBot", tagline: "My custom Discord bot", supportServer: "https://discord.gg/myserver", website: "https://mybot.example.com", github: "https://github.com/yourname/mybot", footerText: "{botname} • mybot.example.com", colors: { primary: 0xFF5733, // your brand color success: 0x57F287, error: 0xED4245, music: 0x1DB954, }, };

Every field also has an environment variable equivalent — so you can rebrand via .env with no code edits at all:

BOT_NAME=MyBot BOT_TAGLINE=My custom Discord bot COLOR_PRIMARY=16734003 FEATURE_ECONOMY=false

Per-server customization

No fork needed. Server admins can customize how Chopsticks looks and behaves in their own server using the /theme command:

CommandEffect
/theme color primary #FF5733Change the primary embed color
/theme name MyBotRename the bot persona for this server
/theme footer "Powered by MyBot"Set a custom embed footer
/theme feature economy disableDisable the economy module in this server
/theme previewShow current server theme
/theme resetReset all customizations to defaults

Feature flags

Toggle entire modules on or off globally (via branding.js or .env) or per-server (via /theme feature):

// branding.js features block features: { economy: true, music: true, ai: true, leveling: true, voicemaster: true, tickets: true, moderation: true, fun: true, social: true, notifications: true, }

Or via env vars: FEATURE_ECONOMY=false, FEATURE_MUSIC=false, etc.

Agent Pool system

The Agent Pool is Chopsticks' flagship feature. Multiple bot tokens are pooled, encrypted, and dispatched to voice channels on demand. Servers never manage tokens — they spend server credits to request an agent.

Server admins configure available agent actions and their credit costs via /setup agent-pool. Available actions include: joining a voice channel, playing audio, running trivia, sending a message, or running an AI assistant.

Agents are contributed by the community — anyone can add a token to the pool via the dashboard. The pool dispatcher handles load balancing and ensures no single agent is overloaded.

Contributing

Chopsticks is open source under a modified MIT license. Bug reports, feature requests, and pull requests are all welcome.

See CONTRIBUTING.md in the repository for the contribution guide, code standards, and how to submit a PR.