A multipurpose Discord bot for communities of all sizes β moderation, engagement, and automation with a full web dashboard.
Helix helps you run a Discord server: moderate it, welcome new members, verify them, give out self-assignable roles, track activity with detailed audit logs, and keep members engaged with a deep economy system and fun commands. Everything is configurable from Discord commands or the web dashboard β no hosting or code required for server admins.
- Moderation β bans, kicks, timeouts, mutes, purges, warnings with escalation (warn β timeout/kick/ban), and live moderation actions from the dashboard.
- Audit logging β 31 event types across moderation, members, messages, voice, server changes, and AutoMod, with per-event channels and ignore lists.
- Verification β button-based gate with a customizable embed; grants a role on verify.
- Reaction roles β self-assignable role menus with labels, emoji, per-menu limits, and pause/resume.
- Welcoming β welcome/farewell messages with placeholders, auto-role on join, and image cards.
- Economy β wallet & bank, shop, inventory & equipment, item effects, auctions, leaderboards, and RPG-style stats.
- AutoMod β Discord native AutoMod rule management plus custom keyword blocklists.
- Social feeds β automatic Reddit feeds per channel (Twitch/YouTube/TikTok/X/Instagram/RSS planned).
- Fun & utility β emotion roleplay commands, canvas image effects, pet pics, polls placeholders, 8-ball, memes, and more.
- Dashboard β per-server web panel for every setting above, with live Discord-style previews.
- AI (beta) β Ollama-powered
askcommand with a family-friendly assistant persona.
All modules can be toggled per server from /configmodule or the dashboard. Default state in brackets.
| Module | What it covers | Default |
|---|---|---|
| General | Info commands, help, ping, profiles | β on |
| Moderation | Ban/kick/timeout/mute/purge/warn, AutoMod | β on |
| Administration | Prefix, staff roles, log channels, toggles | β on |
| Verification | Verify gate + setup | β on |
| Welcoming | Welcome/farewell, auto-role, cards | β on |
| Reaction Roles | Role menus | β on |
| Economy | Wallet/bank/shop/inventory/auctions | β on |
| Fun | 8-ball, memes, games, emotion, image, pets | β on |
| Utility | Misc helpers (password, uuid, colorβ¦) | β on |
| Developer | Owner-only diagnostics & data tools | β on |
| Music | Voice playback | β on (not yet implemented) |
| Leveling | XP, ranks, role rewards | β off (in development) |
| Symbol | Meaning |
|---|---|
| π’ | Active |
| Very active (current focus) | |
| π΅ | Beta |
| βͺ | Alpha |
| π‘ | Inactive |
| π΄ | Discontinued |
| π£ | Unofficial / private |
| π | Life support (security fixes only) |
| β / π€ / β | Full / partial / no AI |
| βοΈ | In progress |
| Core | Version(s) | Codename | Status | Engine | AI | Notes |
|---|---|---|---|---|---|---|
| β | v1.0.0 β 1.1.8 | Rootspawn | π΄ | D.js 12.2.0 | β | |
| β | v2.0.0 β 2.6.0 | Loopback | π΄ | D.js 12.4.1 | β | |
| β | v3.0.0 β 3.5.0 | EchoRun | π | D.js 12.5.2 | β | |
| β | v4.0.0 β 4.1.2 | Neatline | π΄ | D.js 12.5.3 | β | |
| β | v5.0.0 | Ghostping | π‘ | D.js 13.6.0 | β | |
| β | v5.1.0 | Signalband | π’ | D.js 13.11.0 | β | |
| β | v6.0.0 | Dataloom | π΄ | D.js 13.14.0 | β | |
| β | v6.1.0 | Protothype | π΅ | D.js 14.9.0 | β | |
| β | v7.0.0 | Cleancut | π΄ | D.js 14.11.0 | βοΈ | |
| Hex_1 | v9.0.0 β 9.0.6 | Stackflow | π΄ | D.js 14.6.0 | βοΈ | Deprecated in favor of Carbonkernel |
| Hex_2 | v10.0.1 | Carbonkernel | D.js 14.26 | βοΈ | Current. Sapphire framework + Svelte dashboard + REST API | |
| Cranberry | x | Cranberry | π£ | D.js 14.14.1 | π€ | Private moderation bot for the Helix support server |
v9.0+ runs on Paperplane, a custom fork of Sapphire.
- π Website
- β Add Helix to your server
- π¬ Support server β help, suggestions, and status updates
- π In-bot help β
/helplists every command; the dashboard documents each settings page inline
Requires Bun β₯ 1.3.14 and a MongoDB database.
bun install # install bot dependencies
cp src/example.env .env # then fill in DISCORD_TOKEN, MONGO_URI, ...
bun run build # typecheck + compile to dist/
bun run start # run the botLive-reload bot:
bun run devbun run dev:allBoots the bot first, waits for its API, then boots the dashboard. Bot logs pass through untouched; dashboard lines are re-tagged TIMESTAMP - DASH - β¦ (magenta). Ctrl+C stops everything.
To delete both dist/ folders, rebuild the bot and dashboard from clean, then launch both (so a broken compile fails before anything starts):
bun run dev:freshThe web dashboard lives in dashboard/ β a Svelte SPA served by a Bun server that handles Discord login and proxies the bot API.
bun run dashboard:install # install dashboard deps
bun run dashboard:dev # dev: Vite (5173) + Bun server (3000)
bun run dashboard:build # production frontend build
bun run dashboard:start # serve production buildConfigure via DASHBOARD_WEB_PORT, DASHBOARD_WEB_URL (e.g. https://dash.domain.tld), BOT_API_URL, plus DISCORD_CLIENT_ID / DISCORD_CLIENT_SECRET / SESSION_SECRET. Register {DASHBOARD_WEB_URL}/api/auth/callback as an OAuth2 redirect in the Discord developer portal. See dashboard/README.md.
Other useful scripts: bun run validate (pre-commit checks), bun run test, bun run create-module / delete-module (scaffold toggleable modules).
- Sapphire framework β bot architecture, MIT
- Paperplane β Helix's Sapphire fork
- discord.js β Discord API library
- Svelte β dashboard UI
GPL-3.0 β see LICENSE.
