Guide
Getting Started
Voltcord is a Discord engagement bot that turns passive servers into active, rewarding communities. It scores members by their text messages — boosted when they chat from a voice channel, when they are actively boosting the server, and when they are wearing the server tag — to generate voltage scores, powers a weekly leaderboard with automated rewards, and includes a full points economy, game integrations, moderation suite, and audio toolbox.
Quick start
- Subscribe — Pick a tier on the pricing page and complete checkout.
- Install — Use the invite link from your confirmation email to add Voltcord to your server.
- Run /setup — The interactive wizard walks you through every configuration step in under two minutes.
Key features at a glance
Voltage Leaderboard
Track and rank member engagement automatically
Weekly Winners
Automated reward roles for top contributors
Points Economy
Server-wide currency with transfers and audit log
Moderation Suite
27 commands for warnings, bans, locks, case tracking, and full-fidelity channel transcripts
Game Integrations
Valorant and Counter-Strike map bans and drafts
Audio Toolbox
14 AI-powered audio processing commands
Setup Wizard
Run /setup to launch the wizard. It guides you through ten steps with interactive menus — no manual config files needed.
Admin Roles
Select which roles can manage Voltcord settings.
Leaderboard Channel
Choose where the weekly leaderboard is posted.
Tracked Channels
Pick which channels contribute to voltage scores.
Announcement Channel
Set where winner announcements go.
Voltage Roles
Configure reward roles for 1st, 2nd, and 3rd place.
Multipliers
Set score multipliers for different activity types.
Weekly Rewards
Enable or disable the automatic weekly cycle.
Audit Log Channels
Route Moderation, Economy, General, and Store audit posts to one channel or four — each is optional.
Branding
Customize the bot's embed color and footer text.
Confirmation
Review all settings and confirm to activate Voltcord.
Settings
After initial setup, use /settings to open an interactive panel that lets you modify any configuration option on the fly. Changes take effect immediately.
Interactive Menu
The settings panel uses Discord's select menus and buttons — no slash command arguments required. Navigate categories, toggle options, and update values with a few clicks.
Preview Embeds
Use /previewembed to see exactly how your leaderboard and announcement embeds will look before the next cycle runs.
Permissions
Voltcord needs the following Discord permissions to function. The invite link requests these automatically, but if you're troubleshooting, verify the bot role has all of them enabled.
Staff Roles
Voltcord has six configurable staff role slots, all settable from /settings → Moderation (or via /modconfig roles):
- Admin Role and Moderator Role are permission roles. Admins can access all commands; Moderators can use moderation tools but not server configuration commands. The initial values can also be picked during
/setup. - Retired Staff and Staff 1 / 2 / 3 are staff team slots used by
/modconfig recruitand/modconfig fire. They don't grant moderation permissions on their own —recruitassigns the chosen slot's role,firestrips all staff roles and assigns Retired Staff.
Tier Overview
Voltcord offers three tiers. Every tier includes the core engagement system — higher tiers unlock additional tools and customizations.
| Feature | Starter | Pro | Enterprise |
|---|---|---|---|
| Voltage Leaderboard | |||
| In-Voice Boost | |||
| Weekly Winners | |||
| Points Economy | |||
| Audit Logs (Moderation, Economy, General, Store) | |||
| Setup Wizard | |||
| Interactive Settings | |||
| Counter-Strike Tools | |||
| Valorant Tools | |||
| Minecraft Server Tools | |||
| In-Discord Games & Stats | |||
| Wood Entertainment (Lyrics, Movies & Charts) | |||
| Industry-Grade Moderation | |||
| Custom Branding | |||
| White-Label | |||
| Automod | |||
| Audio Toolbox (14 commands) | |||
| Support Ticketing System | |||
| Priority Support |
Automod
Automated content policing for your server. Configuration lives entirely under /settings → 🛡️ Automod. Every rule is independently toggleable and has its own sub-screen; a master toggle at the top of the menu enables or disables all rules at once.
Automod is Enterprise-only. Discord Administrators bypass every Automod rule by default, so you can safely enable it without locking yourself out while you configure things.
Rules
Banned Phrases
Two independent admin-curated phrase lists.
Under /settings → 🛡️ Automod → 🚫 Banned Phrases you maintain two separate lists:
- Exact Phrases — case-insensitive, word-boundary anchored. Inline
*wildcards still work —bad*wordcatches badword, bad123word. - Wildcard Phrases — every entry matches anywhere inside a word; whitespace in the entry fuzzes to any non-alphanumeric run, so
gift cardcatches gift card, giftcard, gift-card, gift_card, gift.card, MyGiftCard, agiftcardy. Single-word entries likescamcatch scam, scammer, iamascammer.
Both lists share the same workflow: case-insensitive matching, zero-width character stripping, an Add modal that accepts comma- or newline-separated batch entries, a Remove-by-select dropdown, and caps of 250 entries per list / 120 characters per entry.
Links
URL filter with three modes.
Pick block_all (deny any link), allowlist (only listed domains pass), or blocklist (listed domains are blocked, others pass). Matching is subdomain-aware — example.com also matches sub.example.com — and schemes are optional, so bare domains are still caught. The list is capped at 250 entries.
Invites
Discord-invite filter with two modes.
Pick block_all to deny every Discord invite, or allowlist to let specific servers through. Allow-list entries accept both numeric guild IDs (15–20 digits) and vanity codes — Voltcord resolves an invite to its guild ID at scan time and caches the lookup for 5 minutes. Cap: 100 entries.
Mass Mentions
Per-message mention ceiling with timeout on hit.
Set a per-message mention cap (default 5, range 2–50) and choose which of Users / Roles / @everyone + @here count toward it. On a hit, the offending message is deleted and the author receives a configurable timeout (default 5 min, range 30 s – 7 d). Edits are scanned too.
Spam Rate Limit
Messages-per-rolling-window cap.
Configure N messages in Y seconds per user per channel (default 5 messages per 5 s; max-messages 2–50; window 1–60 s). Exceeding the cap deletes the triggering message and applies a configurable timeout (default 5 min, range 30 s – 7 d). Unlike the other message rules, edits do not count — only newly-posted messages.
Account Age Gate
Quarantine brand-new Discord accounts on join.
When a joining member's Discord account is younger than the configured threshold (default 7 days, range 1–365), Voltcord assigns an admin-configured quarantine role. No kick, no ban, no block — the member joins, gets the role, and you control what the quarantine role can see and say through normal Discord channel permissions. Existing members are never retroactively re-evaluated; only new joins are scanned.
Membership Gate
Per-channel minimum server-membership time.
Mark specific channels (text / news / voice / forum) as gated, each with its own threshold in whole hours (1–720 = 30 days). When a member posts in a gated channel before they've been in the server long enough, the message is removed and (optionally) a transient in-channel notice explains why. Threads inherit their parent channel's gate automatically. Use this to keep fresh accounts out of announcements, trading, or verified-only channels. Capped at 25 gated channels (Discord select-option limit).
Verification Gate
Button-click challenge before newcomers can speak.
Post a public panel message (title, description, and an ✅ I'm not a bot button) in a channel you pick; new members click the button to receive an admin-configured verified role. Enforcement is passive — you configure Discord channel permissions so @everyone can't speak where the verified role can, and Voltcord only manages the role. The settings wizard walks you through the required pieces (channel perms → role pick → channel pick → post the panel → toggle on) and refuses to enable the rule until everything is in place. The panel's button is a persistent view, so clicks survive bot restarts.
Raid Detection + Patterns + Auto Mode
Join-velocity + coordination detectors with optional auto-engaged lockdown.
Set a velocity threshold (default 10 joins, range 2–100) and a window (default 30 s, range 5–600 s). When more joins land within the window, Voltcord posts a 🚨 Raid Detected audit embed listing the burst plus up to 5 flagged joiners (mention · account age · join-lag) and persists the event so later anti-raid tooling can act on the same burst.
Pattern Detection (opt-in) layers coordination-based detectors on top of the velocity check, watching the join stream over a separate longer window (default 5 min). Toggle it on under 🚨 Raid Detection → 🛡️ Patterns and enable any combination of three independent detectors:
- Username similarity — flags clusters of joiners whose usernames are pairwise similar above a configurable threshold (default 0.85, range 0.60–0.95). Catches farms like
RaidUser01..RaidUser20. - Account-age cluster — flags clusters of joiners whose Discord accounts were created within the same window (default 60 min) AND in the recent past (default last 7 days). Catches account farms that were mass-created shortly before a raid.
- Avatar collision — flags clusters of joiners sharing the same avatar hash. Cheap and effective: sock puppets that don't customise their avatars get caught (Discord's default avatars count too).
Detectors run cheapest-first (avatar → account-age → username), and the first to trip wins so a single coordinated burst writes one event row with a 🚨 Coordinated Join Pattern Detected audit. Cluster size required to trip is configurable per detector (default 5+, range 3–50).
Auto Raid Mode (opt-in) layers automatic enforcement on top of both velocity AND pattern detection. Toggle it on under 🚨 Raid Detection → 🛡️ Auto Mode and pick a duration (1–1440 min, default 30). On every detection trip — velocity OR pattern — Voltcord engages any combination of three actions you've enabled, then auto-lifts when the duration expires:
- Slowmode — applies a configurable delay (default 30 s, max 6 hours) to every text channel the bot can edit. Only raises per-channel — never reduces a stricter setting an admin already had in place.
- Verification level — raises the server verification level to a configured target (default
high). Only raises if the current level is below the target. - Invite pause — flips Discord's server-wide Pause Invites flag. Only flips it on if invites aren't already paused.
Each engage and lift posts its own audit embed (🚨 Raid Mode Engaged / ✅ Raid Mode Lifted) summarising exactly what changed and what was restored. Re-trips during an active raid mode do not extend the duration — admins know exactly when lockdown ends from the engage time.
Bulk Cleanup Tooling closes the loop. Use /automod raid review (server-administrator only) to open a paginated list of recent events, or click the 🔍 Review button on any 🚨 Raid Detected / 🚨 Coordinated Join Pattern Detected audit embed to drill straight into a single event. The review UI shows every flagged member's current state (in server / banned / left) and offers four bulk actions, with a recommended action highlighted in green based on the detector:
- Ban All — permanent ban on every flagged member still in the server. Skips already-banned members.
- Kick All — kicks every flagged member still present.
- Quarantine All — assigns a configured quarantine role (set under
/settings → 🛡️ Automod → Raid Detection; can be different from the Account-Age Gate quarantine role). - Timeout All — applies a Discord timeout for a configurable duration (default 1 hour, max 28 days).
Every destructive action shows an ephemeral confirmation listing exactly who'll be hit and who'll be skipped, then posts a final audit embed summarising the result. There's also a Mark Resolved (no action) button for cases where a mod has already handled the situation outside the bot.
One-click false-positive cleanup. If the bulk action turns out to be wrong, click ↩️ Reverse Last Action on the same review screen — Voltcord undoes the action against every member it actioned (ban → unban, quarantine → remove role, timeout → clear) and posts an audit embed recording the reversal. The original action stays in the event's history; the reversal is appended on top, so the full audit trail of who-acted-and-who-undid-it survives. Kicks aren't reversible (the kicked member already left), so the button is hidden in that case.
No action is taken on members automatically — Auto Raid Mode tightens the *server*, not its members. Member action only happens when an admin clicks a bulk action button.
How actions work
Message rules
On a hit, Banned Phrases / Links / Invites / Mass Mentions / Spam Rate Limit / Membership Gate all take the same action path:
- Delete the offending message.
- For Mass Mentions and Spam Rate Limit only: apply a configurable member timeout.
- If the rule's In-Channel Notice toggle is on, post a short plain-text notice in the same channel that auto-deletes after 10 seconds. On by default.
- Write an audit embed to the Automod slot of your Audit Logs.
Join-time rules
Account Age Gate, Verification Gate, and Raid Detection act on the joining member rather than a message — assign a quarantine role, assign a verified role after button click, or post a raid audit alert (and, if Auto Raid Mode is enabled, automatically engage slowmode / raise verification / pause invites for a configurable window). There is no in-channel notice for these (the member has no relevant channel at join time), and message-rule behaviour is unaffected.
Voltcord never DMs affected users
Feedback is always via the transient in-channel notice or the audit log — never a direct message. This is a project-wide rule across every Voltcord module.
Exemptions
Server administrators are always exempt from every Automod rule — admins can speak past a misfiring rule without a settings round-trip. On top of that, you can configure a list of additional roles whose holders bypass every message-driven rule, plus a list of channels where every message-driven rule is silently skipped (threads inherit their parent channel's exemption), under /settings → 🛡️ Automod → 🛡️ Exemptions. Both pickers are multi-selects with toggle semantics — picking an entry that isn't yet on the list adds it; picking one already on the list removes it — and the screen has paired Clear roles / Clear channels buttons to reset each list independently. Exemption applies to every message rule (Banned Phrases, Links, Invites, Mass Mentions, Spam, Membership Gate); join-time rules don't use it because Discord delivers new members with only @everyone at join time.
Severity Ladder
Repeat offenders should get progressively firmer responses, not the same delete-and-warn every time. Configure a per-server escalation ladder under /settings → 🛡️ Automod → 🪜 Severity Ladder and opt rules in one by one. Each step is one of warn (delete + transient notice only), timeout:<seconds>, kick, or ban; up to 5 steps; counts past the last step keep firing the last step. Offenses age out over a configurable window (default 24 hours, max 30 days) so a single moment of carelessness doesn't haunt a member forever. Six message-driven rules can opt in: Banned Phrases, Links, Invites, Mass Mentions, Spam, and Membership Gate. When the ladder is enabled for Mass Mentions or Spam, the rule's built-in fixed timeout is replaced by the ladder step. Per-rule audit embeds grow a **Severity Ladder:** line whenever the ladder fires; kick and ban steps additionally post a dedicated 🪜 Severity Ladder escalation audit. Join-time rules (account age, raid detection) don't use the ladder — they aren't per-member message events.
Scope Filters
Sometimes a rule should only fire for newcomers. Each message-driven rule (Banned Phrases, Links, Invites, Mass Mentions, Spam) gets an optional scope block under /settings → 🛡️ Automod → <Rule> → 🎯 Scope with two AND-combined filters: 🆕 Account age below (1–365 days, blank to clear) and ⏱️ Member age below (1–8760 hours, blank to clear). When a filter is set, the rule only fires for authors who fall under it. Both filters AND together with each other and with the rule's primary trigger; when both are blank the scope is a no-op. Channel scoping isn't part of scope filters — Phase 7b channel exemptions already cover that. Per-rule audit embeds gain a **Scope:** line whenever scope narrows a trigger.
Custom Notice Copy
Out of the box, every removal posts a generic notice like "your message was removed because it contained a banned phrase." Under /settings → 🛡️ Automod → <Rule> → ✏️ Notice you can override that text for any of the six notice-bearing rules (Banned Phrases, Links, Invites, Mass Mentions, Spam, Membership Gate). Up to 500 characters; {user} and {author} substitute to the author mention. The notice still auto-deletes after 10 seconds and the audit log records the event regardless. Heads-up: for Mass Mentions, Spam, and Membership Gate, custom overrides lose the dynamic count / timeout / threshold details that the default copy carries — by design; if you need them, keep the default.
Audit destination
Every Automod action writes to the Automod slot of the Audit Logs module. Route it to the same channel as your other audit categories, or give it a dedicated channel under /settings → 📋 Audit Logs → Automod. Leave the slot blank to silently skip posting.
Command Reference
All Commands
Complete reference for every Voltcord command, organized by category.
Voltage System
The core engagement tracking system. Members earn voltage points through messages, voice activity, server tag status, staff-role bonuses (admin and moderator), and in-Discord game results (game voltage). The leaderboard ranks the top 20 members by weekly voltage; the top 10 share the weekly rewards pool. Ignored roles (configured via /settings → Role) are always excluded from the Mr. Electricity cosmetic role. Whether they appear on the leaderboard and earn rewards is controlled by the Admins Earn Voltage toggle in /settings → High Voltage (enabled by default). Server admins can also enable an Auto Weekly Cap toggle under /settings → High Voltage → 🤖 Auto Weekly Cap that lets the bot adjust the weekly rewards cap automatically after each winners run — the next week's cap snaps to whatever this week's organic reward pool would have been (subject to a configurable floor, default 100), so the cap quietly tracks demand instead of needing manual tuning.
/voltage leaderboard
Display the server's voltage leaderboard showing top members by engagement score.
/voltage leaderboard/voltage winners
View past weekly winners and their winning voltage scores.
/voltage winners/voltage status
See voltage generated across each channel plus a Reward Pool field showing both the current estimate and the configured weekly maximum side-by-side, formatted with the server's currency emoji. Shows a game voltage 🥊 field when any game voltage is non-zero.
/voltage statusGame voltage (e.g. Street Fight win HP remaining × 100) is included in the total volt and reward pool calculation. More games will contribute game voltage in the future.
/voltage estimate
Quick one-liner showing how many days of activity are currently being counted, the total voltage generated in that window, and the estimated reward pool for this cycle.
/voltage estimateThe reward pool estimate uses the same formula as /voltage status: total voltage ÷ 1000, capped at the configured weekly reward amount. The server currency emoji is shown next to the estimated pool, followed by ` / N` where N is the configured weekly maximum (set manually under /settings → High Voltage → Weekly Rewards Cap, or let the bot auto-adjust it weekly via /settings → High Voltage → 🤖 Auto Weekly Cap).
/voltage how
Shows the server's voltage multipliers and eligible tracking channels. The main block displays the in-voice multiplier, booster multiplier, server tag multiplier, their combined value, up to 5 tracked text channel mentions, a tip on how to maximise voltage earn rate, the optional `🏷️ Server tag required to earn voltage` line (when tag enforcement is on), and a `🪙 Max rewards pool: <emoji> N` line showing the configured weekly maximum. A separated **Staff perks** block at the bottom renders conditionally based on whether the admin/moderator multipliers are active (multiplier > 0 AND the matching role configured): both active shows both values plus a note that admin takes priority over moderator if a member has both, single-active shows just that line with the configured role mentioned, neither-active hides the block entirely.
/voltage howShows '⚠️ None configured' for channels if no text channels have been set up via /settings → Channel Tracking. When server tag enforcement is enabled (the default), a 4th line — '🏷️ Server tag required to earn voltage' — is shown. It disappears if tag enforcement is turned off via /rewards tagscan off.
Weekly Winners
Automated weekly reward cycles. At the end of each week, top-voltage members receive designated reward roles and an announcement is posted in your configured channel.
/rewards distribute
Manually trigger reward distribution for the current cycle. Useful for testing or off-schedule distributions.
/rewards distributeRequires: Admin only
/rewards toggle
Enable or disable the automatic weekly reward distribution cycle.
/rewards toggleRequires: Admin only
/rewards spot
Credit an ad-hoc spot reward to any member on demand. All four parameters are required. In addition to an ephemeral confirmation, the bot posts a public announcement embed in the specified channel mentioning the member, and sends an audit log entry to the Economy slot of your Audit Logs (every reward credits a wallet, so the audit is grouped with other wallet movements).
/rewards spot <user> <amount> <reason> <channel>- • user — The member to award.
- • amount — Points to credit (minimum 1).
- • reason — Reason for the spot reward (required).
- • channel — Channel where the public announcement embed will be posted.
Requires: Discord Administrator OR economy admin (see /settings → Economy → Admin Roles / Admin Members)
The public announcement embed mentions the member so they receive a notification. The footer on the public embed shows only the timestamp — the admin's name is kept out of the public-facing copy. Audit log entry is silently skipped if no Economy audit channel is configured (set one in /settings → Audit Logs → Economy).
/rewards burst
Credit the same reward amount to every member of a role in one operation. All four parameters are required. In addition to an ephemeral confirmation, the bot posts a public announcement embed in the specified channel mentioning the role, and sends an audit log entry to the Economy slot of your Audit Logs (every reward credits a wallet, so the audit is grouped with other wallet movements). Each member's transaction history will show a Burst Reward entry.
/rewards burst <role> <amount> <reason> <channel>- • role — The role whose members will be credited.
- • amount — Points to credit each member (minimum 1).
- • reason — Reason for the burst reward (required).
- • channel — Channel where the public announcement embed will be posted.
Requires: Discord Administrator OR economy admin (see /settings → Economy → Admin Roles / Admin Members)
Only non-bot members of the role are credited. If the role has no eligible members the command fails before any credits are applied. The footer on the public embed shows only the timestamp — the admin's name is kept out of the public-facing copy. Audit log entry is silently skipped if no Economy audit channel is configured (set one in /settings → Audit Logs → Economy).
/rewards unburst
Review and reverse a past burst reward. Opens a paginated list of all unreversed burst events for the server. Select a burst by its serial number to see a confirmation prompt, then confirm to reverse all wallet credits in that burst. Member balances may go negative after reversal and will self-correct as future credits arrive.
/rewards unburstRequires: Discord Administrator OR economy admin (see /settings → Economy → Admin Roles / Admin Members)
The list shows the role, amount, reason, member count, the admin who ran the burst, and the date. Each burst can only be reversed once — reversed bursts are removed from the list. The reversal is recorded in each member's transaction history as a Burst Reversed entry.
Rewards Enforcement
Per-user voltage ban system with automatic server tag enforcement. Banned members are blocked at the source — their messages are not stored and game wins are not recorded — so no voltage accrues while a ban is active. They are also excluded from the leaderboard and reward distributions, and their wallet operations are restricted. The auto-enforcement background task runs every 15 minutes — no manual scanning required.
/rewards ban
Ban a member from voltage ranking and wallet operations. While banned, the member's messages are not stored and game wins are not recorded, so no new voltage accrues. They are immediately removed from the leaderboard, excluded from reward distributions, and their /points transfer, /credit, and /debit operations are blocked.
/rewards ban <member> <reason> [public] [channel]- • member — The member to ban.
- • reason — Reason for the ban (required).
- • public — Optional. Yes/No. Posts the ban embed publicly to the channel.
- • channel — Optional. Route the public embed to a specific channel.
Requires: Discord Administrator OR economy admin (see /settings → Economy → Admin Roles / Admin Members)
Triggers an immediate leaderboard refresh and posts an audit log entry to the Moderation slot of your Audit Logs (every rewards ban is treated as a member sanction; configure under /settings → Audit Logs → Moderation).
/rewards unban
Lift an active voltage ban from a member, restoring their leaderboard eligibility and wallet access.
/rewards unban <member> [reason] [public] [channel]- • member — The member to unban.
- • reason — Optional reason for lifting the ban.
- • public — Optional. Yes/No. Posts the unban embed publicly.
- • channel — Optional. Route the public embed to a specific channel.
Requires: Discord Administrator OR economy admin (see /settings → Economy → Admin Roles / Admin Members)
Records the unban timestamp and reason. Triggers an immediate leaderboard refresh and posts an audit log entry to the Moderation slot of your Audit Logs.
/rewards bans
View the server's full voltage ban history, paginated at 10 entries per page. Active bans are listed first (newest-first), followed by inactive bans. Auto-bans issued by the tag enforcement system are marked with a 🔴 [AUTO] badge.
/rewards bans [public] [channel]- • public — Optional. Yes/No. Posts the ban list publicly.
- • channel — Optional. Route the public embed to a specific channel.
Requires: Discord Administrator OR economy admin (see /settings → Economy → Admin Roles / Admin Members)
/rewards tagscan
Enable or disable the periodic server tag enforcement scan for this server. Turning it off immediately lifts all active auto-bans and removes their wallet restrictions, then reports how many were lifted. Turning it on resumes enforcement — the next automatic scan runs within 15 minutes.
/rewards tagscan <on|off>- • on — Enable periodic server tag enforcement. Next scan runs within 15 minutes.
- • off — Disable enforcement. All active auto-bans are lifted immediately and a leaderboard refresh is triggered.
Requires: Discord Administrator OR economy admin (see /settings → Economy → Admin Roles / Admin Members)
Tag scan defaults to enabled for all servers. The same toggle is also available under `/settings → High Voltage → Administrative` as a `🏷️ Tag Scan: On/Off` button, with identical behaviour (including the auto-ban lift on disable). Disabling is non-destructive for manually-placed bans — only auto-bans (auto_ban=True) are lifted when turned off. Re-enabling does not retroactively re-ban anyone; the next scheduled scan will re-evaluate all members.
/rewards scantag
Manually trigger a server tag compliance scan for all members holding the High Voltage role. Returns a 3-view navigation embed: Scan Summary (members checked, bans issued, bans lifted, already compliant), Banned Members, and Unbanned Members.
/rewards scantag [public] [channel]- • public — Optional. Yes/No. Posts the scan result publicly.
- • channel — Optional. Route the public embed to a specific channel.
Requires: Discord Administrator OR economy admin (see /settings → Economy → Admin Roles / Admin Members)
Requires high_voltage_role_id to be configured via /settings. If tag scan is disabled via /rewards tagscan off, this command returns an informational embed instead of running — use /rewards tagscan on to re-enable first.
Automatic Tag Enforcement
A background task runs every 15 minutes checking all members with the High Voltage role. Members not displaying the guild's server (clan) tag are automatically voltage-banned. Members with an active auto-ban who subsequently adopt the server tag are automatically unbanned. Manually-placed bans are never modified by the auto system.
Requires high_voltage_role_id to be configured. Auto-bans are flagged with auto_ban=True and attributed to the bot. Audit log entries are posted as [REWARDS AUTO-BAN] and [REWARDS AUTO-UNBAN]. Silently skipped per guild if the High Voltage role is not configured. When a member is auto-banned, Voltcord immediately sends a message in the channel where they last spoke, mentioning them and explaining the ban. The message is followed by the Voltage How embed showing active multipliers and eligible channels. If the member has not sent any message since the bot started, the notification is silently skipped.
In-Voice Boost
Members in a voice channel earn a bonus multiplier on the text messages they post in tracked channels. Voltcord does this entirely through role membership — it automatically assigns a configured 'In Voice' role the moment a member joins any voice channel and removes it when they leave. The multiplier is applied at the moment each message is sent, only if the author is in voice at that moment. There is no minute-by-minute time tracking and no AFK/muted/solo exclusion logic — presence in any voice channel is the single criterion.
Automatic In Voice Role
Once configured, the In Voice role is added the instant a member joins any voice channel and removed when they leave (with a short cooldown to smooth out channel hops). A 1-minute background sweep reconciles the role against current VC occupants to heal any missed voice-state events.
Configure the role in /settings → Role → In Voice. If no role is set, the in-voice bonus cannot apply. The role is not removed when a member mutes, deafens, or sits alone in a VC — only channel presence is considered. Bots are never assigned the role.
In-Voice Multiplier
A configurable multiplier applied to each text message sent while the author holds the In Voice role. Default is 3×. Stacks with the text, booster, server-tag, and (when the author has the configured admin or moderator role) the admin/moderator multipliers at voltage calculation time.
Configure the value in /settings → High Voltage → Multipliers, or during step 6 of the /setup wizard. Run /voltage how to see the currently active value and the combined multiplier.
Admin Multiplier
A configurable multiplier applied to each text message sent while the author holds the configured Admin role (set on /settings → Moderation or via /modconfig roles). Default is 1×. Stacks additively with the text, voice, booster, and server-tag multipliers at voltage calculation time. Set to 0 to disable the bonus entirely.
If a member holds both the Admin and Moderator role, the admin multiplier wins — the moderator multiplier does not also apply. Configure under /settings → High Voltage → Role Multipliers. Run /voltage how to see the currently active value. Affects messages sent after the multiplier was set; historical messages are unaffected.
Moderator Multiplier
A configurable multiplier applied to each text message sent while the author holds the configured Moderator role (set on /settings → Moderation or via /modconfig roles). Default is 1×. Stacks additively with the text, voice, booster, and server-tag multipliers at voltage calculation time. Set to 0 to disable the bonus entirely.
Does not apply to members who also hold the Admin role — the admin multiplier takes priority. Configure under /settings → High Voltage → Role Multipliers. Run /voltage how to see the currently active value. Affects messages sent after the multiplier was set; historical messages are unaffected.
Points Economy
A server-wide currency system. Admins can credit and debit points, members can check balances, transfer points, and browse their full transaction history. Wallets of members who leave the server are automatically reset (preserving transaction history) — both lazily when /rich is invoked and via an hourly background sweep. Every reset is posted as a Wallet Reset embed to the Economy slot of your Audit Logs (configurable in /settings → Audit Logs → Economy, or during step 9 of the /setup wizard). All operations are logged for auditing. Economy-mutating commands (/credit, /debit, /rewards group) accept three authorization paths: Discord Administrator, member of any role in the Economy Admin Roles list, or member of the Economy Admin Members list. Unauthorized invocation attempts are tracked to the channel set under /settings → Economy → Security Channel.
/points balance
Check your current point balance or another member's.
/points balance [@user]- • @user — Optional. View another member's balance.
If the target user has an active voltage ban, a ban notice field is appended to the balance embed.
/points transfer
Transfer points from your balance to another member. The amount cannot exceed your current balance.
/points transfer @user <amount>- • @user — The recipient.
- • amount — Number of points to transfer. Must be at most your current balance.
Transfers larger than the sender's current balance fail with a generic 'Transfer failed. Please check your balance and try again.' message. Blocked with an ephemeral 'Transfer Restricted' error if either the sender or the recipient has an active voltage ban — when blocked, a tracking alert is also posted to the channel configured under /settings → Economy → Security Channel.
/points transactions
View your points transaction history, or another member's. Each entry shows the direction, signed amount, balance after, transaction type, counterpart (sender/recipient/admin), and a relative timestamp. Paginated at 10 entries per page.
/points transactions [@user]- • @user — Optional. View another member's history. Defaults to yourself.
Bots cannot be selected as a target. Members with no transaction history see a tailored empty-state message.
/rich
Display the richest members in the server by point balance. Shows all members with a balance above 0, paginated at 10 per page. Also opportunistically resets the wallets of any members who have left the server — issuing a system_cleanup transaction that zeroes the balance, preserves the wallet's transaction history, and posts a Wallet Reset embed to the Economy slot of your Audit Logs (configurable in /settings → Audit Logs → Economy).
/richTitle, description, color, thumbnail, and footer are configurable via /settings → Rich Embed. Wallets with negative balances (e.g. those pushed below zero by /debit) are deliberately left untouched during cleanup, since clearing a negative balance would effectively reward the departed member. The same cleanup also runs automatically once an hour as a background sweep, so admins do not need to invoke /rich to keep things tidy.
/credit
Add points to a member's balance.
/credit @user <amount> [reason]- • @user — The member to credit.
- • amount — Points to add.
- • reason — Optional reason for the credit.
Requires: Discord Administrator OR member listed in economy admin lists (admin_role_id_list / admin_member_id_list under /settings → Economy)
Blocked with an ephemeral 'Wallet Restricted' embed if the target user has an active voltage ban — when blocked, a tracking alert is also posted to the channel configured under /settings → Economy → Security Channel. Unauthorized invocation attempts (members without economy-admin permission) are also posted to the security channel.
/debit
Remove points from a member's balance. Can push the balance below zero — useful for issuing manual penalties when the member doesn't have enough points to cover the deduction.
/debit @user <amount> [reason]- • @user — The member to debit.
- • amount — Points to remove.
- • reason — Optional reason for the debit.
Requires: Discord Administrator OR member listed in economy admin lists (admin_role_id_list / admin_member_id_list under /settings → Economy)
Negative balances persist until offset by future credits or rewards. Blocked with an ephemeral 'Wallet Restricted' embed if the target user has an active voltage ban — when blocked, a tracking alert is also posted to the channel configured under /settings → Economy → Security Channel. Unauthorized invocation attempts are also posted to the security channel.
Games
Real-time in-Discord games for Pro and Enterprise servers. Start matches with `/games`, then use `/gamestats` to review leaderboards, recent history, and player profiles.
Street Fight
Use this for competitive 1v1 battles with skill-based turns. Pick your moves carefully, build charge for your signature attack, and play for both wins and stronger RR rating progress.
Russian Roulette
Use this when you want a fast, high-risk game night round. It is simple to launch, quick to resolve, and ideal for short challenge streaks between members.
Tic-Tac-Toe
Use this for lightweight, casual matchups. Start a game instantly, play on the interactive 3x3 grid, and track wins, losses, and draws over time.
Speed Chess
Use this for a quick competitive chess match. Each turn you choose from up to 5 engine-ranked moves — you have 5 seconds to decide or the top move plays automatically. Games are capped at 3 minutes and resolved by material if time runs out. Winners earn +25 RR and voltage; losers lose RR scaled to how slowly they played.
/games
ProLaunch a game against another member. If no game or opponent is provided, an interactive selector guides you through the choice.
/games [game] [@opponent]- • game — Optional. Street Fight, Tic-Tac-Toe, Russian Roulette, or Speed Chess.
- • @opponent — Optional. The member to challenge.
If both parameters are omitted, a game selector appears first, then an opponent selector.
/gamestats leaderboard
ProView the server leaderboard for a specific game, ranked by that game's competitive metric.
/gamestats leaderboard game: <Street Fight | Russian Roulette | Tic-Tac-Toe | Speed Chess>- • game - The game to show the leaderboard for.
/gamestats history
ProView recent match history for a specific game, newest-first with 10 matches per page.
/gamestats history game: <Street Fight | Russian Roulette | Tic-Tac-Toe | Speed Chess>- • game - The game to show history for.
/gamestats profile
ProView a full player stat card for a specific game - record, win rate, streaks, ratings, and server rank.
/gamestats profile game: <Street Fight | Russian Roulette | Tic-Tac-Toe | Speed Chess> [@user]- • game — The game to show the profile for.
- • @user — Optional. Defaults to the invoking user.
Wood Entertainment
Entertainment commands for Pro and Enterprise servers. Look up song lyrics from Genius, search for movies and TV shows, or browse top charts for music, movies, TV shows, and anime — all directly in Discord.
/wood lyrics
ProSearch for a song and display its full lyrics. Type just the song title, or include the artist name for a more precise search (e.g. 'attention charlie puth'). Results are filtered to only songs with available lyrics before the list is shown. If one song matches, lyrics are shown immediately. If multiple match, a numbered list is shown — pick the one you want using the Select Song button. Lyrics are shown in a paginated embed with the song artwork and Genius stats (views, annotations, bookmarks) in the footer.
/wood lyrics <query>- • query — Required. The song title, or song title and artist name together.
Only songs that have lyrics available are shown in the results list — you won't be shown a song you can't retrieve lyrics for. When multiple results are found, use the green 🎵 Select Song button and enter the number of the song from the list. Pagination controls are locked to the member who ran the command. Buttons disable after 2 minutes of inactivity.
/wood movies
ProSearch for any movie by title and view a full detail card — genres, runtime, rating, tagline, overview, director, cast, status, language, and links to TMDB and IMDb. Type a title and the bot returns a numbered list of matching movies. If multiple results are found, use the 🎬 Select Movie button and enter the number of the movie from the list. The detail card shows community vote count in the footer. If only one result is found, the detail card is shown immediately. A ← Back to Results button returns to the search list.
/wood movies <query>- • query — Required. The movie title to search for.
Powered by TMDB (search, cast, crew, poster) and OMDb (IMDb, Rotten Tomatoes, and Metacritic ratings). Results are ordered by TMDB relevance. Ratings are shown when available — if OMDb has no data for a title, the ratings line is silently omitted. The vote count in the footer reflects total TMDB community ratings. Only the member who ran the command can navigate pages or select a movie. Buttons disable after 2 minutes of inactivity.
/wood tvshows
ProSearch for any TV show by title and view a full detail card — genres, season count, rating, tagline, IMDb, Rotten Tomatoes, and Metacritic ratings, overview, creator, cast, status, network, language, and links to TMDB and IMDb. Type a title and the bot returns a numbered list of matching shows. If multiple results are found, use the 📺 Select Show button and enter the number from the list. The detail card shows community vote count in the footer. If only one result is found, the detail card is shown immediately. A ← Back to Results button returns to the search list.
/wood tvshows <query>- • query — Required. The TV show title to search for.
Powered by TMDB (search, cast, creator, poster) and OMDb (IMDb, Rotten Tomatoes, and Metacritic ratings). Results are ordered by TMDB relevance. Ratings are shown when available — if OMDb has no data for a title, the ratings line is silently omitted. The vote count in the footer reflects total TMDB community ratings. Only the member who ran the command can navigate pages or select a show. Buttons disable after 2 minutes of inactivity.
/wood topchart
ProBrowse current top charts directly in Discord across five categories: Songs, Albums, Movies, TV Shows, and Anime. Results are shown as a numbered list — 10 per page — with Previous and Next navigation. Use the 🔍 View Details button to open a full profile card for any entry. Movies and TV Shows default to TMDB (global) with three category options: Trending This Week (global weekly trending), Currently Popular (rolling popularity score), or Top Rated (all-time highest-rated). Switch to Apple iTunes with the source option to see the regional iTunes Store chart instead, with buy/rental prices. Songs and Albums always use Apple Music Charts. Anime always uses global AniList trending. Tap ← Back to Chart to return.
/wood topchart chart: <Songs | Albums | Movies | TV Shows | Anime> [region: <country>] [source: <TMDB | Apple iTunes>] [trend_category: <Trending This Week | Currently Popular | Top Rated>]- • chart — Required. The chart to display: Songs, Albums, Movies, TV Shows, or Anime.
- • region — Optional. The country chart to show (applies to Songs, Albums, and iTunes-sourced Movies/TV Shows). Defaults to United States. Ignored for Anime and TMDB-sourced Movies/TV Shows.
- • source — Optional. Data source for Movies and TV Shows only: TMDB (default, global) or Apple iTunes (regional iTunes Store chart). Ignored for Songs, Albums, and Anime.
- • trend_category — Optional. TMDB chart category for Movies and TV Shows only: Trending This Week (default), Currently Popular, or Top Rated. Ignored for all other sources and chart types.
Movies and TV Shows default to TMDB (global) unless Apple iTunes is chosen as the source. When TMDB is the source, use trend_category to switch between weekly trending, rolling popular, or all-time top rated — defaults to Trending This Week if omitted. Region is ignored when TMDB is the source. Anime always shows global AniList trending regardless of region or source. Only the member who ran the command can navigate pages or open detail cards. Buttons disable after 2 minutes of inactivity.
Moderation Suite
A comprehensive set of industry-grade moderation tools. Every command accepts an optional `public` parameter (Yes/No) that makes the response visible to the channel instead of ephemeral, and an optional `channel` parameter to route the public embed to a specific channel. Manage warnings, bans, mutes, channel locks, case tracking, and more — all with full audit logging to the Moderation slot of your Audit Logs (configurable in /settings → Audit Logs → Moderation, in step 9 of the /setup wizard, or via the /modconfig logchannel shortcut).
/moderation warn
ProIssue a warning to a member. Logged in the case system.
/moderation warn @user [reason]- • @user — The member to warn.
- • reason — Optional reason for the warning.
Requires: Moderator
/moderation warnings
ProView all active warnings for a member.
/moderation warnings @userRequires: Moderator
/moderation ban permanent
ProPermanently ban a member from the server with an optional reason.
/moderation ban permanent @user [reason] [delete_days]- • @user — The member to ban.
- • reason — Optional reason.
- • delete_days — Days of messages to delete (0–7).
Requires: Admin only
/moderation ban temp
ProTemporarily ban a member for a specified duration.
/moderation ban temp @user <duration> [reason]- • @user — The member to tempban.
- • duration — Ban length (e.g. 7d, 24h).
- • reason — Optional reason.
Requires: Admin only
/moderation ban soft
ProBan and immediately unban a member to purge their recent messages.
/moderation ban soft @user [reason]Requires: Admin only
/moderation kick
ProKick a member from the server.
/moderation kick @user [reason]Requires: Moderator
/moderation mute
ProTimeout a member for a specified duration.
/moderation mute @user <duration> [reason]- • @user — The member to mute.
- • duration — Mute length (e.g. 10m, 1h, 1d).
- • reason — Optional reason.
Requires: Moderator
/moderation unmute
ProRemove a timeout from a member.
/moderation unmute @userRequires: Moderator
/moderation channel lock
ProLock a channel, preventing members from sending messages. Accepts text and forum channels — for forums, every active and archived post is locked individually, and new post creation is blocked at the channel level.
/moderation channel lock [#channel] [reason]- • #channel — Optional. Accepts text or forum channels. Defaults to current channel.
- • reason — Optional reason shown in the lock message.
Requires: Moderator
Due to Discord's API limitations, forum thread state can lag, and threads created or unarchived after the lock command is run are not retroactively locked. Forum thread locking may behave inconsistently in the moments around when the command is invoked.
/moderation channel unlock
ProUnlock a previously locked channel. Accepts text and forum channels — for forums, every post that this command originally locked is unlocked, including archived ones.
/moderation channel unlock [#channel]Requires: Moderator
Due to Discord's API limitations, forum thread state can lag and only threads that the matching lock command originally locked are restored. Threads that were locked manually or by other tools are left untouched.
/moderation channel slowmode
ProSet a slowmode delay on a channel.
/moderation channel slowmode <seconds> [#channel]- • seconds — Delay between messages (0 to disable).
- • #channel — Optional. Defaults to current channel.
Requires: Moderator
/moderation lockdown activate
ProLock every channel in the server simultaneously during emergencies — text, voice, stage, and forum channels. For forums, both reply permissions and new-post creation are blocked, and every active and archived forum post is locked individually. An optional duration auto-lifts the lockdown when it expires.
/moderation lockdown activate <#announcement_channel> [reason] [duration]- • #announcement_channel — Channel to post the public lockdown announcement in (required).
- • reason — Optional reason shown in the announcement.
- • duration — Optional duration (e.g. 30m, 1h, 1d, 1w2d3h). When set, the lockdown lifts itself automatically and the announcement channel receives an expiry notice. Leave empty for an indefinite lockdown.
Requires: Admin only
Due to Discord's API limitations, forum thread state can lag, and threads created or unarchived after the lockdown begins are not retroactively locked. Forum thread locking may behave inconsistently in the moments around when the command is invoked.
/moderation lockdown remove
ProRemove a server-wide lockdown and restore channel access.
/moderation lockdown removeRequires: Admin only
/moderation case view
ProLook up a specific moderation case by its ID.
/moderation case view <case_id>Requires: Moderator
/moderation case reason
ProUpdate the reason on an existing moderation case.
/moderation case reason <case_id> <new_reason>Requires: Moderator
/moderation case log
ProView a member's full moderation history across all case types.
/moderation case log [@user]Requires: Moderator
/moderation case withdraw
ProWithdraw one or more active moderation cases and reverse the associated Discord action. Withdrawing a ban unbans the member on Discord; withdrawing a mute removes their timeout. Warnings and kicks are record-only with no Discord action to reverse. Accepts a required case type filter and optional filters for a specific member and/or case number. After processing, a Cases Withdrawn embed lists every affected case.
/moderation case withdraw <case_type> [@user] [case_id] [public] [channel]- • case_type — Required. One of: Active Bans, Active Temp Bans, Active Warnings, Active Mutes, Kicks, All Active Cases.
- • @user — Optional. Limit withdrawal to a specific member.
- • case_id — Optional. Withdraw a single specific case by number. Validated: must exist, be active, and match the selected type.
- • public — Optional (Yes/No). If Yes, the response embed is posted publicly in the invoking channel.
- • channel — Optional. Route the response embed to a specific channel; an ephemeral confirmation is sent to the invoker.
Requires: Admin only
For ban withdrawals, the target is no longer in the server (they are banned), so the @user filter will not resolve them via autocomplete. Use case_id to target a specific ban case, or omit @user to withdraw all matching ban cases across the server.
/moderation note add
ProAdd a private moderator note to a member's record.
/moderation note add @user <text>Requires: Moderator
/moderation note list
ProView all moderator notes for a member.
/moderation note list @userRequires: Moderator
/moderation note remove
ProRemove a specific moderator note by ID.
/moderation note remove <note_id>Requires: Moderator
/moderation whois
ProGet detailed information about a member including join date, roles, and moderation summary.
/moderation whois @userRequires: Moderator
/moderation clearmessage
ProBulk delete messages in a channel. Can filter by user.
/moderation clearmessage <amount> [@user]- • amount — Number of messages to delete (1–100).
- • @user — Optional. Only delete messages from this user.
Requires: Moderator
/moderation embed
ProCreate and send a rich embed message. Running with no arguments opens a full GUI builder with modals for title, description, color, author, footer, images, and up to 25 fields, plus a live preview.
/moderation embedRequires: Moderator
Opens an interactive embed builder with live preview. Supports \n escape sequences in all text fields.
/moderation announce
ProSend a formatted announcement to a specified channel.
/moderation announce <#channel> <message>Requires: Admin only
/moderation transcript
ProArchive a channel's full message history as a downloadable zip bundle — useful right before deleting a channel. No message cap. The zip contains a self-contained HTML file plus every asset needed to render the channel exactly as it was: custom emojis (static and animated), stickers (including Lottie), per-user avatars, and every attachment (images, video, audio, files). Because Discord CDN links expire after ~24 hours, bundling the media locally keeps the archive viewable forever. The HTML is styled with a Gray + Red shadcn theme, defaults to dark mode with a built-in light/dark toggle, and has a live search bar that filters by author or content. Renders Discord markdown (bold, italic, underline, strike, spoilers, inline code, code fences, auto-linked URLs), resolves mentions to names, and inlines reply quotes, forwarded-message snapshots, rich embeds, and reactions. Ephemeral to the admin who ran the command; if an audit log channel is configured, a second non-ephemeral copy is posted there.
/moderation transcript [#channel]- • #channel — Optional. The channel to transcript. Defaults to the channel the command is run in. Accepts text channels and threads.
Requires: Admin only
If the full zip exceeds your server's Discord upload limit (25 MB free, 50/100 MB on boost tiers), Voltcord automatically retries without bundled attachment files — the resulting transcript still shows emojis, stickers, avatars, and embeds, and attachments appear as Discord CDN links (which expire after ~24 hours). If the degraded bundle is still too large, a 'Transcript Too Large' embed is shown with a green 'Download text-only version' button that generates a plain HTML-only transcript on click. Requires /modconfig logchannel to be configured if you want a copy sent to your audit log channel.
Moderation Config
Configure how the moderation suite behaves — set log channels, DM notifications, appeal links, escalation thresholds, and the opt-in staff server-tag enforcement that automatically retires staff members who stop displaying your server tag.
/modconfig logchannel
ProSet or change the channel where moderation actions are logged.
/modconfig logchannel <#channel>Requires: Admin only
/modconfig dmnotify
ProToggle whether members receive DM notifications when moderated.
/modconfig dmnotify <on|off>Requires: Admin only
/modconfig appeallink
ProSet a URL members can use to appeal moderation actions.
/modconfig appeallink <url>Requires: Admin only
/modconfig escalation
ProConfigure automatic escalation rules based on warning count (e.g. auto-mute at 3 warnings).
/modconfig escalation <threshold> <action>- • threshold — Number of warnings to trigger the action.
- • action — The action to take (mute, kick, ban).
Requires: Admin only
/modconfig roles
ProAssign a Discord role to one of the six staff slots used for permission checks and staff management. Each slot holds exactly one role.
/modconfig roles <admin|moderator|retired_staff|staff_1|staff_2|staff_3> @role- • admin|moderator|retired_staff|staff_1|staff_2|staff_3 — Which slot to assign. All slots hold a single role.
- • @role — The role to assign to the chosen slot.
Requires: Admin only
/modconfig removerole
ProClear the role assigned to a staff slot.
/modconfig removerole <admin|moderator|retired_staff|staff_1|staff_2|staff_3> @role- • admin|moderator|retired_staff|staff_1|staff_2|staff_3 — Which slot to clear.
- • @role — The role to remove.
Requires: Admin only
/modconfig show
ProDisplay the current moderation configuration.
/modconfig showRequires: Admin only
/modconfig recruit
ProAssign a member to a staff role. Any other configured staff roles they currently hold are removed first, making this command work for first-time recruitment, promotion, and demotion alike. Removes the Retired Staff role if they have it. Requires admin, mod, and retired staff roles to all be configured first.
/modconfig recruit @user <admin|moderator|staff_1|staff_2|staff_3> [public] [channel]- • @user — The member to recruit (required).
- • admin|moderator|staff_1|staff_2|staff_3 — The role slot to assign (required).
- • public — Post the announcement publicly in this channel (optional).
- • channel — Send the announcement to a specific channel instead (optional).
Requires: Admin only
When public or a channel is specified, the recruited member is mentioned alongside the embed. The action is always logged in the configured moderation log channel.
/modconfig fire
ProRemove a member from the staff team. Strips all configured staff roles (admin, moderator, and all staff position slots) and assigns the Retired Staff role. Requires admin, mod, and retired staff roles to all be configured first.
/modconfig fire @user [public] [channel]- • @user — The member to retire (required).
- • public — Post the announcement publicly in this channel (optional).
- • channel — Send the announcement to a specific channel instead (optional).
Requires: Admin only
All configured staff roles are removed in one action — no role selection required. The retired member is never mentioned, even when the announcement is posted publicly. The action is always logged in the configured moderation log channel.
/modconfig tagenforcement
ProOpt in to an automatic 15-minute background scan that retires staff members who are not displaying the server (clan) tag. Off by default. Uses the same fire flow as /modconfig fire — strips all configured staff roles and assigns the Retired Staff role.
/modconfig tagenforcement <enabled> [channel]- • enabled — True turns the scan on; False turns it off.
- • channel — Text channel where the retirement embed is posted with a mention of the fired staff member. Required the first time you enable the feature; kept across toggles so re-enabling later does not require re-specifying it.
Requires: Admin only
The retirement embed is posted twice: once to the moderation log channel (no mention, same as manual /modconfig fire) and once to the notify channel (with a user mention so the fired staff sees it). The same toggle and notify-channel picker are also available under `/settings → Moderation → Staff tag enforcement` as a `🏷️ Tag Enforcement: On/Off` button and a `📢 Notify Channel` button — both surfaces enforce the same "notify channel must be set before enabling" rule. Requires admin, mod, and retired staff roles to all be configured first. Once fired, a staff member is not automatically rehired if their tag reappears — an admin must run /modconfig recruit to reinstate them. Bots and the guild owner are never auto-fired.
Valorant Tools
Competitive Valorant utilities for your community. Run map ban sequences and agent drafts directly in Discord.
/valorant mapban
ProStart an interactive map ban/pick sequence between two teams or captains.
/valorant mapban @captain1 @captain2- • @captain1 — First team captain.
- • @captain2 — Second team captain.
/valorant draft
ProRun an agent draft for scrims or tournaments with alternating picks.
/valorant draft @captain1 @captain2- • @captain1 — First team captain.
- • @captain2 — Second team captain.
Counter-Strike Tools
Counter-Strike utilities including map bans, player drafts, Steam profile lookup, and VAC ban status checking.
/counterstrike mapban
ProStart an interactive CS map ban/pick sequence between two captains.
/counterstrike mapban @captain1 @captain2- • @captain1 — First team captain.
- • @captain2 — Second team captain.
/counterstrike draft
ProRun a player draft for pickup games with alternating captain picks.
/counterstrike draft @captain1 @captain2- • @captain1 — First team captain.
- • @captain2 — Second team captain.
/counterstrike steamprofile
ProLook up a Steam profile and display key stats like hours played and level.
/counterstrike steamprofile <steam_id_or_url>/counterstrike banstatus
ProCheck if a Steam account has any active VAC or game bans.
/counterstrike banstatus <steam_id_or_url>Minecraft Tools
Minecraft server status tools for your community. Check live server status and who's online, or let Voltcord post an automatically-refreshing status bulletin to a designated channel at your chosen interval.
/minecraft status
ProFetch and display the current status of the configured Minecraft server — online/offline state, player count, max players, and a numbered list of currently online players.
/minecraft status/minecraft onlineplayers
ProDisplay a compact numbered list of all players currently online on the Minecraft server.
/minecraft onlineplayersAutomatic Status Bulletin
ProA background task refreshes the Minecraft server status embed in your configured channel every 30 seconds — deleting the previous message and posting a fresh one automatically. No command needed once configured.
Configure everything via /settings → Minecraft Server: toggle the module on/off, pick the bulletin channel, set the server URL and port, set the bulletin interval (30 s – 24 h), and customise the embed appearance — all without touching any config files.
Audio Toolbox
A full suite of audio processing tools powered by AI. Record voice notes, remaster tracks, apply effects, convert formats, and more — all without leaving Discord.
/audio voicenote
EnterpriseRecord a voice note directly in Discord and save it as an audio file.
/audio voicenoteremaster
EnterpriseAI-powered audio remastering — enhances clarity, balances levels, and improves overall quality.
Attach audio file → remastercleanup
EnterpriseRemove background noise and artifacts from an audio recording.
Attach audio file → cleanupnormalize
EnterpriseNormalize audio volume to a consistent level across the track.
Attach audio file → normalizeequalize
EnterpriseApply equalization adjustments to an audio file.
Attach audio file → equalizemix
EnterpriseMix two audio files together into a single track.
Attach two audio files → mixpitchup
EnterpriseIncrease the pitch of an audio file.
Attach audio file → pitchuppitchdown
EnterpriseDecrease the pitch of an audio file.
Attach audio file → pitchdownstretch
EnterpriseTime-stretch audio to make it faster or slower without changing pitch.
Attach audio file → stretchtrim
EnterpriseTrim audio to a specified start and end time.
Attach audio file → trim <start> <end>convert
EnterpriseConvert audio between formats (mp3, wav, ogg, flac, etc.).
Attach audio file → convert <format>spectrogram
EnterpriseGenerate a visual spectrogram image from an audio file.
Attach audio file → spectrogrammetadata
EnterpriseDisplay detailed metadata and technical info about an audio file.
Attach audio file → metadatavoicefx
EnterpriseApply voice effects (robot, echo, deep, chipmunk, etc.) to an audio recording.
Attach audio file → voicefx <effect>Support System
Full ticketing and voice queue system for managing member support requests.
Overview
The Support System is an Enterprise-only text and voice-based ticketing module. Organise support requests into categories — each with custom staff roles and welcome messages. All ticket events are logged to a configurable log channel, and HTML transcripts are auto-generated on close.
Setting Up (Express Wizard)
Run /supportsetup to launch the 5-step wizard:
- Assign global staff roles
- Pick the Discord category, panel channel, log channel, and transcript channel
- Toggle member-close, transcript logging, CSAT feedback; set per-member ticket limit
- (Optional) Enable voice queue and select VC/notify channels
- Review and apply — writes config to database and enables the module
After setup, post the panel embed with /postpanel.
Categories
Run /addcategory to create a ticket routing bucket. Each category has: name, description, emoji, staff roles, welcome message, topic requirement, and max open tickets per member. Edit with /editcategory <name>, archive with /deletecategory <name> (existing tickets are preserved).
How Tickets Work
Members press a button on the panel embed to open a ticket. A private Discord channel is created; the welcome embed shows topic, priority, and status. Staff can Claim the ticket (button) to assign ownership; members see priority emoji (🔵🟡🟠🔴). Close via the button or /closeticket [reason]; members can close too if “allow member close” is enabled. On close, a CSAT rating prompt is posted in the channel mentioning the ticket opener, then a 90-second countdown begins before the channel is permanently deleted.
Transcripts & Feedback
On close, an HTML transcript (Discord dark-theme styled) is uploaded to the configured transcript channel. A CSAT prompt (1–5 ⭐ rating) is posted non-ephemerally in the ticket channel, mentioning the ticket opener — only they can rate. The moment a star is clicked, the rating is saved and a compact CSAT log embed (member, staff, topic, and rating) is posted to the log channel immediately. A follow-up embed then appears with a green Share Remarks button — clicking it opens a short modal for optional additional feedback. Dismissing or ignoring the modal does not affect the already-captured rating. The prompt appears immediately before the 90-second deletion countdown begins.
Auto-Close
Inactive tickets receive a 24-hour warning, then are automatically closed and permanently deleted. The inactivity threshold is set in the Support Settings via /supportsetup.
Voice Queue
Members run /joinqueue [topic] to enter the queue; /queueposition to check their position. Staff run /queue next to pull the next member into the support VC. Members are auto-removed from the queue on voice disconnect or after the configurable timeout (default 60 min).
Setup & Admin
/supportsetup
EnterpriseLaunch the 5-step express setup wizard to configure the support system.
/addcategory
EnterpriseCreate a new support category using the 4-step category wizard.
/editcategory <name>
EnterpriseEdit an existing support category (pre-fills all current values).
/deletecategory <name>
EnterpriseSoft-delete a support category (existing tickets are preserved).
/postpanel
EnterprisePost or repost the support panel embed with ticket-creation buttons.
Ticket Management
/closeticket [reason]
EnterpriseClose the current ticket. Generates a transcript, posts a CSAT rating prompt (1–5 ⭐) mentioning the ticket opener — only they can rate. The star rating is saved and a CSAT log is posted to the log channel the moment a star is clicked. A follow-up embed then offers an optional Share Remarks button for additional feedback. A 90-second countdown runs before the channel is permanently deleted.
/addmember <member>
EnterpriseAdd a member to the current ticket channel.
/removemember <member>
EnterpriseRemove a member from the current ticket channel.
/setpriority <level>
EnterpriseSet ticket priority: low, medium, high, or urgent.
/transferticket <category>
EnterpriseMove the current ticket to a different support category.
/rename <name>
EnterpriseRename the current ticket channel. Must be used inside an active ticket. Input is lowercased and spaces are converted to dashes automatically.
/transcript
EnterpriseGenerate and post an HTML transcript of the current ticket directly in the ticket channel. Must be used inside an active ticket channel.
Ticket Views
/tickets list [status] [member]
EnterpriseView a paginated list of tickets, filterable by status and member.
/tickets stats
EnterpriseView server-wide ticket stats: open count and average CSAT rating.
Voice Queue (Staff)
/queue next [vc]
EnterpriseDequeue the next member and move them to the staff voice channel.
/queue list
EnterpriseView all members currently in the voice support queue.
/queue remove <member>
EnterpriseManually remove a member from the voice queue.
/queue clear
EnterpriseClear the entire voice queue.
Member Commands
/newticket [category]
EnterpriseOpen a new support ticket. Prompts for a topic if the category requires one.
/mytickets
EnterpriseView all your own tickets with statuses (paginated).
/joinqueue [topic]
EnterpriseJoin the voice support queue with an optional topic.
/leavequeue
EnterpriseRemove yourself from the voice support queue.
/queueposition
EnterpriseCheck your current position in the voice support queue.
Setup & Config
Initial bot setup and ongoing configuration commands. Run the setup wizard to get started, then use settings and preview to fine-tune your configuration.
/setup
Launch the interactive setup wizard that walks you through configuring Voltcord for your server.
/setupRequires: Admin only
The wizard covers: admin roles, leaderboard channel, tracked channels, announcement channel, voltage roles, multipliers, weekly rewards, branding, and confirmation.
/settings
Open the interactive settings panel to view and modify your current Voltcord configuration.
/settingsRequires: Admin only
/previewembed
Preview what your configured leaderboard and announcement embeds will look like.
/previewembedRequires: Admin only
Automod
Enterprise-only automated moderation. Configuration lives entirely under /settings → 🛡️ Automod (every rule has its own sub-screen with toggles and bounds-checked modals); slash commands here are reserved for the moderator-facing review and action workflows that only make sense as ad-hoc tools rather than persistent settings. Phase 11 will add /automod panic, /automod unlock, /automod raid mode, and review-queue commands; Phase 4d ships the first one (raid review) standalone so admins can act on tripped events today.
/automod raid review
EnterpriseOpen a paginated review of recent raid events. Each event row shows the trigger (velocity / pattern + detector), status badge (📋 detected / 🟢 active / ✅ resolved / ❌ reversed), and member count. Drilling into one event opens the bulk-action UI: a per-page member list with current state (in server / banned / left), a recommended-action highlight (green button) chosen by the detector, and four bulk actions — Ban All / Kick All / Quarantine All / Timeout All. A confirmation step lists exactly who will be hit and who will be skipped before the action runs. Per-member outcomes are recorded on the event row, and a `↩️ Reverse Last Action` button on the same screen undoes a false-positive bulk action (ban → unban, quarantine → remove role, timeout → clear) for every member it originally actioned.
/automod raid reviewRequires: Server Administrator (Discord-level, default_permissions)
Same UI also reachable from a persistent 🔍 Review button attached to every fresh `🚨 Raid Detected` and `🚨 Coordinated Join Pattern Detected` audit embed (going forward — old embeds posted before 4d shipped won't retroactively gain buttons). Quarantine All requires the quarantine role configured under /settings → 🛡️ Automod → Raid Detection (separate from the Account Age Gate quarantine role so admins can use different roles for the two purposes). Timeout All uses the duration configured in the same settings screen (default 1 hour, max 28 days = Discord's hard cap). The recommended action is detector-aware: avatar-collision trips recommend Ban; young account-age clusters recommend Ban; older clusters and username similarity recommend Kick; pure velocity trips recommend Quarantine — mods can override. The `↩️ Reverse Last Action` button is shown only when the event is in the `resolved` state and the most recent applied action was a ban / quarantine / timeout — kicks aren't reversible (the kicked member already left), so the button is hidden in that case. Reversal is terminal: once an event is `reversed`, the bulk-action and Mark Resolved buttons stay disabled and an admin who wants to act again does so via Discord's native moderation.