⚠ DEV / TEST INSTANCE — changes here do not affect the live bot. Switch to goofbot.gyneric.net for production.
🔍 Demo mode — exploring with sample data. Saves are disabled. ← Back to landing
D Dev GoofBot Dev build
First time here? Run the setup wizard — channels, roles, welcome, verify, and tickets in one flow.
Start setup wizard
DS

Demo Server

25 channels · 16 roles · 40/190 settings configured
Channels 8/26 configured

Pick where the bot should post and watch.

Suggestions channel i Where new suggestions created with /suggest get posted with upvote/downvote buttons.
+ Create a new text and use it
New channel defaults to mod/admin-only view. Adjust permissions in Discord after if needed.
Tickets category i Category under which private ticket channels are created. Leave blank to create tickets at the top level.
+ Create a new category and use it
New channel defaults to mod/admin-only view. Adjust permissions in Discord after if needed.
Tickets archive category i Closed tickets get moved into this category and locked to read-only. Leave blank to leave them in place.
+ Create a new category and use it
New channel defaults to mod/admin-only view. Adjust permissions in Discord after if needed.
Verify panel channel i Where /verifypanel posts the rules + I Agree button. Informational only — not required for the feature to work.
+ Create a new text and use it
New channel defaults to mod/admin-only view. Adjust permissions in Discord after if needed.
Twitch announce channel i Default destination for Twitch live-stream announcements. Each watched channel can override this.
+ Create a new text and use it
New channel defaults to mod/admin-only view. Adjust permissions in Discord after if needed.
Welcome channel i Channel that receives the welcome embed when a new member joins.
+ Create a new text and use it
New channel defaults to mod/admin-only view. Adjust permissions in Discord after if needed.
System status channel i Watchman service posts a single auto-updating embed here. Updated only when a monitored service changes state (UP→DOWN, DOWN→UP) plus a heartbeat refresh every 15 min so a stale embed = watchman is dead.
+ Create a new text and use it
New channel defaults to mod/admin-only view. Adjust permissions in Discord after if needed.
Ticket panel channel i Where the Create Ticket embed gets posted. Pick the channel members should run /ticket open from (typically #support). Saving the Ticket System form below auto-posts/refreshes the panel into this channel.
+ Create a new text and use it
New channel defaults to mod/admin-only view. Adjust permissions in Discord after if needed.
Modmail channel i When members DM the bot, a private staff thread is created here. Replies in the thread DM the user; messages prefixed with ! stay internal. Use a private channel hidden from regular members.
+ Create a new text and use it
New channel defaults to mod/admin-only view. Adjust permissions in Discord after if needed.
Anti-bot: log channel i Discord channel for anti-bot action logs. Falls back to the Twitch events channel, then the default log channel.
+ Create a new text and use it
New channel defaults to mod/admin-only view. Adjust permissions in Discord after if needed.
LoL announcements channel i Where the bot posts auto-announcements about tracked LoL accounts (rank-ups, hot streaks, big wins). Future Phase 2 — set this now to be ready when polling lands.
+ Create a new text and use it
New channel defaults to mod/admin-only view. Adjust permissions in Discord after if needed.
Overwatch announcements channel i Where the bot posts rank-change embeds for tracked Overwatch accounts. Overwatch 2 does not expose per-match history (Blizzard killed that API), so only role-rank promotions / demotions get announced — closest analog to a win/loss embed.
+ Create a new text and use it
New channel defaults to mod/admin-only view. Adjust permissions in Discord after if needed.
Valorant announcements channel i Where the bot posts auto-announcements about tracked Valorant accounts (rank-ups, ace callouts, milestone wins). Future Phase 2 — set this now to be ready when polling lands.
+ Create a new text and use it
New channel defaults to mod/admin-only view. Adjust permissions in Discord after if needed.
Leave announce channel i Where 'left the server' messages post. Leave blank to disable.
+ Create a new text and use it
New channel defaults to mod/admin-only view. Adjust permissions in Discord after if needed.
Community awards channel i Where /mod congratulate posts the celebratory embed. Pick a public channel everyone can read so the recognition is visible. Leave empty to disable announcements (the award + points still happen — just no embed).
+ Create a new text and use it
New channel defaults to mod/admin-only view. Adjust permissions in Discord after if needed.
Level-up announce channel i Channel where level-up messages get posted. Leave blank to suppress in-channel announcements (DM-only if xp_announce_dm is on).
+ Create a new text and use it
New channel defaults to mod/admin-only view. Adjust permissions in Discord after if needed.
No-XP channels i Channels where chat messages do NOT earn XP (e.g. spam channels, bot test channels). Pick multiple.
No channels selected
+ Create a new text and use it
New channel defaults to mod/admin-only view. Adjust permissions in Discord after if needed.
Birthday announcements channel i Where birthday announcements get posted. Required for birthday announcements.
+ Create a new text and use it
New channel defaults to mod/admin-only view. Adjust permissions in Discord after if needed.
Starboard channel i Where starred messages get reposted.
+ Create a new text and use it
New channel defaults to mod/admin-only view. Adjust permissions in Discord after if needed.
Slow-mode excluded channels i Channels the auto-toggle should ignore (spam, off-topic, etc.).
No channels selected
+ Create a new text and use it
New channel defaults to mod/admin-only view. Adjust permissions in Discord after if needed.
Twitch events channel i Where real-time Twitch alerts post (follows, subs, raids). Falls back to twitch_announce_channel when not set.
+ Create a new text and use it
New channel defaults to mod/admin-only view. Adjust permissions in Discord after if needed.
Boost announce channel i Channel where boost-celebration messages get posted. Leave blank to disable.
+ Create a new text and use it
New channel defaults to mod/admin-only view. Adjust permissions in Discord after if needed.
VOD timestamps channel i Discord channel where !mark timestamps post when a stream ends. Falls back to twitch_announce_channel if unset.
+ Create a new text and use it
New channel defaults to mod/admin-only view. Adjust permissions in Discord after if needed.
Clips auto-post channel i When set, every clip made via !clip auto-posts to this Discord channel. Clips also show on the dashboard Clips tab regardless.
+ Create a new text and use it
New channel defaults to mod/admin-only view. Adjust permissions in Discord after if needed.
Twitch schedule channel i Where the 15-min countdowns + Monday weekly roundup post when a watched broadcaster's Twitch schedule is published. Falls back to twitch_announce_channel.
+ Create a new text and use it
New channel defaults to mod/admin-only view. Adjust permissions in Discord after if needed.
Donation alerts channel i Discord channel where tip alerts post. Falls back to twitch_announce_channel.
+ Create a new text and use it
New channel defaults to mod/admin-only view. Adjust permissions in Discord after if needed.
Roles 8/14 configured

Tie setting behaviour to Discord roles.

Admin role(s) i Members with any of these roles get admin-tier commands without needing the Administrator permission. Roles on your server that already have the Administrator permission are auto-suggested.
@Admins
+ Create a new role and use it
New role has no special permissions by default — grant admin-tier perms in Discord's role editor if needed. Mentionable, not hoisted.
Moderator role(s) i Members with any of these roles get moderator-tier commands (close tickets, warn, timeout, etc.). Admin roles are already covered.
@Mods @Trial Mod
+ Create a new role and use it
New role has no special permissions by default — grant moderator-tier perms in Discord's role editor if needed. Mentionable, not hoisted.
Staff role(s) i Alternative label for moderator roles — same behavior. Pick any role you also want treated as staff/mod.
@Mods
+ Create a new role and use it
New role has no special permissions by default — grant moderator-tier perms in Discord's role editor if needed. Mentionable, not hoisted.
Verified role i Role granted when a new member clicks I Agree on the /verifypanel. Required for verification to work.
+ Create a new role and use it
New role has no special permissions by default. Mentionable, not hoisted.
Unverified role i Auto-assigned to new members on join. Removed when they verify. Leave blank to skip auto-assignment.
+ Create a new role and use it
New role has no special permissions by default. Mentionable, not hoisted.
Auto-join roles i Role(s) automatically granted to every member the moment they join — independent of the verify system. Pick one or more. Manage from Discord with /autorole.
No roles selected
+ Create a new role and use it
New role has no special permissions by default. Mentionable, not hoisted.
Mute role i Role assigned by /mod warn ... mutewithwarning:true that revokes Send Messages / Add Reactions / Speak / Send Voice Messages everywhere. The bot can auto-create + auto-lock this role for you from the dashboard. Read-only access otherwise — they can still see channels they had access to, just can't post or talk.
+ Create a new role and use it
New role has no special permissions by default. Mentionable, not hoisted.
Twitch ping role i Mentioned by default when a watched Twitch channel goes live. Each watched channel can override this.
+ Create a new role and use it
New role has no special permissions by default. Mentionable, not hoisted.
Twitch go-live role i Automatically granted to linked Discord members whose Twitch account (from the watchlist) is currently streaming, and removed when they stop. Leave empty to disable.
+ Create a new role and use it
New role has no special permissions by default. Mentionable, not hoisted.
No-XP roles i Members with any of these roles do NOT earn XP (typically used to exclude bots / mods / muted users).
No roles selected
+ Create a new role and use it
New role has no special permissions by default. Mentionable, not hoisted.
Birthday role i Optional role to grant a member on their birthday and remove the next day.
+ Create a new role and use it
New role has no special permissions by default. Mentionable, not hoisted.
Cosmetic anchor role i Cosmetic member-roles are created just ABOVE this role. Place it near the bottom of the role list so cosmetic colours don't override meaningful roles.
+ Create a new role and use it
New role has no special permissions by default. Mentionable, not hoisted.
Cosmetic gate role i Optional. Only members with this role can use /color set. Leave blank to allow everyone.
+ Create a new role and use it
New role has no special permissions by default. Mentionable, not hoisted.
Boost reward role i Role granted to every member who's currently boosting. Auto-revoked when they stop boosting.
+ Create a new role and use it
New role has no special permissions by default. Mentionable, not hoisted.
Toggles 6/71 configured

Feature on/off switches.

Tickets system i Master toggle for the support / ticket system. When off, the /ticket command and the panel Create button do nothing; existing tickets stay open but no new ones can be created.
DM the opener when their ticket is closed i Sends the ticket creator a polite "thanks, your ticket has been closed" DM when staff closes the ticket. Hidden when Tickets is off.
Ask for a 1–5 rating after close i Adds five star buttons to the close-DM. Members can tap a number (1=poor, 5=excellent) and optionally leave a comment. Anonymous in DMs to staff; raw analytics live in the Tickets dashboard.
Allow reopening closed tickets i When on, the close confirmation gets a Reopen button so a mod can flip an archived ticket back to active without losing transcript history. Off by default — most teams prefer that closed means closed.
Staff-only ticket control thread i When on, every new ticket spawns a private thread visible only to staff (mods/admins). Inside the thread the bot posts a control panel with Claim + Close buttons. Customers cannot see the thread or its embed. Off by default — staff use the existing in-channel buttons instead.
Ephemeral staff menu (HIGHLY EXPERIMENTAL) i Replaces the main-embed staff buttons with an 'Open staff menu' button. Click → ephemeral panel only the staff member sees. Customers see zero clutter. Trade-off: each mod's panel is independent (no shared in-channel audit), but every action is still written to the dashboard audit log so nothing is lost. Off by default.
Auto-assign roles on join i Master switch for the Auto-join roles above. When ON, configured roles are granted on join. Turn OFF to pause without clearing your role list.
Twitch anti-bot i Master switch for the Twitch anti-bot system (follow-bot guard, first-message scam filter, blocklist, suspicious-user automation). Everything below is also individually gated.
Anti-bot: observe / record mode i ON by default — detect, log, and contribute to the global learned blocklist, but take NO enforcement actions (no bans/timeouts/Shield). Safe to run alongside another bot (e.g. Sery) that does the actual moderating. Turn OFF (or '!antibot observe off') to let GoofBot enforce. Manual !shield always works.
Anti-bot: follow-bot guard i On each new follow, check account age / profile picture / known-bot blocklist and act on suspicious accounts. Also powers the follow-spike (hate-raid) detector.
Anti-bot: flag followers with no avatar i Treat a default (no) profile picture as a suspicion signal for the follow-bot guard.
Anti-bot: auto Shield Mode on spike i When a follow spike is detected, automatically enable Twitch Shield Mode. Auto-clears after 5 min.
Anti-bot: follower-only on spike i Also engage follower-only chat (30m) when a follow spike triggers Shield Mode.
Anti-bot: first-message scam filter i Scan each chatter's FIRST message for scam patterns (cheap viewers, buy followers, sketchy links). Matches are deleted + actioned.
Anti-bot: bot-like username detection i Flag generic-word + random-digit usernames in the follow-bot guard. Only counts when paired with another signal (young account / no avatar), never a solo ban.
Anti-bot: malicious link filter i Delete + action ANY message (not just first) containing scam shorteners or 'buy followers/viewers' link spam. Mods / VIPs exempt.
Anti-bot: chat flood guard i Timeout users who flood (>6 messages in 8s) or repeat the same message 4+ times. Mods / VIPs exempt.
Anti-bot: known-bot blocklist i Auto-act on usernames in the known-bot blocklist when they follow or chat. Which list(s) are consulted is set by the blocklist scope below.
Anti-bot: Twitch suspicious users i Act on Twitch's own restricted/monitored (low-trust) flag via EventSub. Requires the broadcaster to grant moderator:read:suspicious_users.
Allow mods to edit warning reasons i When ON, moderators can edit the reason on any active warning from the dashboard. Audit-logged. Owner / admin can always edit regardless of this setting.
Announce LoL rank changes i When ON, the bot posts a message in the announcements channel whenever a tracked account's tier or division changes. Off by default — Phase 2 polling lights this up.
Only announce LoL promotions i When ON, only tier promotions get announced (e.g. Gold IV → Gold III). Demotions stay quiet — useful for community-respect servers. Implies Announce rank changes is on.
Ping linked Discord user on LoL match embeds i OFF (default): the match-result embed emphasizes the player's Riot ID in bold and posts allowedMentions:{parse:[]} so nobody is notified. ON: the linked Discord user gets a real @-mention every match — best for small hype channels where the ping is wanted.
Announce Overwatch rank changes i When ON, the bot posts an embed in the announcements channel whenever a tracked account's role tier (Bronze→Silver, etc.) or division (Silver 3→Silver 2) changes. Off by default.
Only announce Overwatch promotions i When ON, only tier promotions get announced. Demotions stay quiet — useful for community-respect servers. Implies Announce rank changes is on.
Ping linked Discord user on Overwatch rank embeds i OFF (default): the embed emphasizes the player's BattleTag in bold with no mention. ON: the linked Discord user gets a real @-mention every rank change.
Announce inferred Overwatch matches i When ON, the bot posts an embed for each match it can INFER from career-stat deltas (career profile aggregates only — no map / KDA / team). Hero attribution comes from time-played delta. Best with a 15min poll cycle. Off by default. Blizzard does not expose a per-match API.
Announce Valorant rank changes i When ON, the bot posts a message in the announcements channel whenever a tracked account's competitive tier changes. Off by default — Phase 2 polling lights this up.
Only announce Valorant promotions i When ON, only tier promotions get announced (e.g. Silver 3 → Gold 1). Demotions stay quiet. Implies Announce rank changes is on.
DM welcome i When enabled, new members get a DM with welcome_dm_message (in addition to the channel post).
Auto-fix color role hierarchy on bot startup i When enabled (default), the bot scans this server on every boot and re-orders any color reaction-role roles that have drifted below their correct slot (below admin / mod / staff and any XP level-reward roles). Turn off if you'd rather manage role positions yourself — the manual "Fix role hierarchy" button on the Reaction roles card still works either way.
Message logging i When enabled, the bot keeps a local copy of every non-bot message for a retention window so mods can review a user's recent chat (including deleted messages) from a ticket. Off by default for privacy.
Monitor private threads i Auto-join private threads as they are created so message logging + automod + audit logs cover them. Off by default. Members of private threads are typically not aware that a bot is in the room — enable only if your community is comfortable with that disclosure (consider posting a server-rules note). Requires Manage Threads. Effective only when Message logging is also on.
Points system i Toggle the cross-platform points system for this server. When enabled, members earn points from Discord chat (and later, Twitch chat once the bridge is active).
Twitch chat logging i When enabled, the bot archives non-bot Twitch chat for this guild's watched streamers so mods can review recent chat (including via the ticket "Show User History" button's Twitch branch). Off by default for privacy.
Twitch chat points earning i When enabled, linked Discord members earn points from Twitch chat messages (subject to a cooldown) — same balance as Discord-side earnings.
Twitch chat games i Enable !slots, !roulette, !flip, !dice in your Twitch chat. Players bet their loyalty points (linked Twitch ↔ Discord accounts only). Off by default — turn on after you've configured points + cooldown + max-bet to taste.
Slots (!slots) i Enable the three-reel slot machine. Defaults to ON when chat games are enabled.
Russian roulette (!roulette) i Enable the six-chamber roulette. 1/6 fired (lose), 5/6 click (small win). Defaults to ON.
Coin flip (!flip) i Enable the coin flip. ~48/52 with a small house edge. Defaults to ON.
Dice roll (!dice) i Enable the dice roll. 1-3 lose, 4 push, 5 small win, 6 big win. Defaults to ON.
Twitch claim items i Enable !claim <trigger> in your Twitch chat. Streamer registers triggers (e.g. "bum", "hug") on the dashboard; chatters running !claim bum get +1 added to their per-user inventory and the bot replies with their new total. Off by default — turn on after registering at least one trigger.
XP / Levels system i Toggle the per-server XP system. When enabled, members earn XP by chatting and gain levels (configurable rewards on the dashboard).
DM members on level-up i Send a DM to the leveled-up member in addition to (or instead of) the channel announcement.
Voice-channel XP i Earn XP for time spent in voice channels (one tick per minute, only if unmuted and not alone).
Loyalty quests i Master switch for daily-login streaks + chat milestones + referral bonuses.
└─ Daily-login quest i Reward the first chat message each UTC day. Streaks multiply the base reward.
└─ Chat-milestone quest i Reward every N messages sent in this server.
└─ Referral bonus i Credit the inviter when a newly-joined member survives 7 days.
XP decay i When enabled, inactive members slowly lose XP. Controlled by xp_decay_after_days + xp_decay_per_day_percent. Re-levels down if they fall below a level threshold.
AFK status i Toggle the /afk command. When a member is AFK, the bot replies with their reason whenever someone pings them, and clears their AFK on next message.
Birthday announcements i Toggle daily birthday announcements. Members opt in via /birthday set; the bot posts in birthdays_channel each day at the configured UTC hour.
Birthday DM i When enabled, DM the birthday person directly in addition to the channel post.
Starboard i When enabled, messages that get a configurable threshold of star reactions get reposted to the starboard channel.
Anti-raid auto-lock i When enabled, the bot monitors new-member joins and auto-locks the server if it detects a raid burst (joins-per-minute above threshold).
Slow-mode auto-toggle i When enabled, the bot turns on slow mode in a channel after a message-velocity spike and clears it when things calm down.
Announce follows i Post a message whenever someone follows a watched Twitch channel.
Announce subscriptions i Post a message for new subs + resubs on a watched Twitch channel.
Announce gift subs i Post a message when someone gifts subs in a watched Twitch channel.
Announce raids i Post a message when a watched Twitch channel is raided.
Announce cheers (bits) i Post when someone cheers bits in a watched Twitch channel. Needs the broadcaster's bits:read OAuth scope.
Announce channel-point redemptions i Post when a channel-point reward is redeemed. Needs channel:read:redemptions on the broadcaster's OAuth link.
Announce predictions i Post when the broadcaster starts or resolves a Twitch prediction. Needs channel:read:predictions on the broadcaster's OAuth link.
Announce polls i Post when the broadcaster starts or resolves a Twitch poll. Needs channel:read:polls on the broadcaster's OAuth link.
Welcome image card i When enabled, new-member welcomes include a generated image card (avatar, username, optional background).
Cosmetic role colors i When enabled, members can set a personal role colour via /color set. Each member gets a dedicated auto-created role positioned just above the cosmetic anchor role.
Auto-shoutout incoming raiders i When the broadcaster is raided, GoofBot posts a !so for the raider in Twitch chat with their last-played game.
Combine simultaneous live alerts i When 2+ watched streamers go live in the same poll cycle, post one combined embed listing all of them instead of N separate posts. Defaults ON; set to off to always post separately.
Image moderation i Scan image attachments through SightEngine and act on flagged ones. Requires SIGHTENGINE_USER + SIGHTENGINE_SECRET in the bot's .env. No-op if those aren't set.
Auto-clip hype moments i When chat velocity spikes past the threshold, GoofBot auto-fires !clip. Cheers count 3x, so bit trains register fast.
🔒 Translate welcomes / panels (coming soon) i Locked. The bot's translation framework (DeepL / LibreTranslate / MyMemory + DB cache) is wired in but disabled globally while we validate quality. Flipping this setting currently has no runtime effect.
Numbers 8/52 configured

Durations, thresholds, limits.

Auto-delete after N days closed i Time-based pruner: delete the Discord channel for any ticket closed longer than this. DB row + transcript stay (channel_id is just nulled). Leave blank to never time-prune. Range 1-90 days on the standard tier — higher retention is reserved for enterprise.
Keep newest N closed tickets per guild i Count-based pruner: delete the Discord channel for closed tickets beyond the newest N (oldest first when over count). Leave blank to never count-prune. Range 1-250 on the standard tier — Discord caps a guild at 500 total channels (text + voice + forum + categories combined), so 250 leaves headroom for the rest of the server. Higher caps are reserved for enterprise.
Stale-ticket warning (hours) i Tickets older than this without being closed show as STALE on the Tickets dashboard. Set to 0 to disable the highlight. Default 24h.
Max open tickets per user i Cap how many tickets one user can have open at the same time. They get a polite refusal once they hit this number. Default 3. Range 1-25.
Anti-bot: min follower account age (days) i Followers whose Twitch account is younger than this are flagged by the follow-bot guard. Default 3.
Anti-bot: follow-spike count i Number of follows within the spike window that triggers hate-raid defense (Shield Mode). Default 15.
Anti-bot: follow-spike window (sec) i Time window for the follow-spike count. Default 60.
Message log retention (days) i How long the local message log keeps rows before pruning them. 0 = keep forever. Default: 30.
Twitch chat log retention (days) i How long Twitch chat lines from watched channels are kept. 0 = keep forever. Default: 30.
Audit log retention (days) i How long dashboard audit-log entries (who changed which setting / who applied which action) are kept. 0 = keep forever. Default: 90.
Points history retention (days) i How long the points transaction ledger is kept. Running balances are never affected. 0 = keep forever. Default: 180.
Mod-actions retention (days, cleared only) i How long cleared / expired mod-actions (warnings, timeouts, etc.) stay in history before pruning. Active warnings and bans are always kept. 0 = keep forever. Default: 365.
Invite-join records retention (days) i How long the per-member invite-credit history is kept. Affects invite leaderboards. 0 = keep forever. Default: 180.
Daily message counters retention (days) i How long the daily message-count buckets used by the analytics dashboard are kept. Analytics windows are 30-90d so this only affects long-tail history. 0 = keep forever. Default: 365.
Community awards retention (days) i How long /mod congratulate awards are kept. Stars and totals derive from this table — pruning lowers lifetime totals. 0 = keep forever (default).
Default points per award i How many points /mod congratulate awards when the issuer doesn't specify a count. Default: 5.
Default stars per award i How many stars /mod congratulate hands out when the issuer doesn't specify a count. Stars accumulate per-user on the leaderboard. Default: 1.
Max points per award i Cap on points one /mod congratulate call can hand out — prevents accidentally awarding 1,000,000 points. Default: 100.
Max stars per award i Cap on stars one /mod congratulate call can hand out. Stars accumulate per-user on the leaderboard, so this caps how fast one mod can move someone up the board. Default: 5.
Points per chat message i How many points a member earns per qualifying chat message (short messages and cooldowns still apply). Default: 1.
Points earn cooldown (seconds) i Minimum seconds between point-earning messages per user — prevents farming. Default: 60.
Twitch points per chat message i Points awarded per qualifying Twitch chat message from a linked user. Default: 1.
Twitch points earn cooldown (seconds) i Minimum seconds between point-earning Twitch chat messages per user. Default: 60.
Chat games cooldown (seconds) i Per-user-per-game cooldown between plays. A chatter who just played !slots can still !dice without waiting; the timer is only enforced for the same game. Default: 30.
Chat games max bet i Largest single bet a chatter can place. Keeps a high-roller from emptying their balance in one !slots. Default: 100.
XP per message — minimum i Lower bound of the random XP roll for each qualifying chat message. Default: 15.
XP per message — maximum i Upper bound of the random XP roll. Random pick between min/max keeps farming harder. Default: 25.
XP earn cooldown (seconds) i Minimum seconds between XP-earning messages per user. Default: 60.
Voice XP per tick (min) i Minimum XP awarded each minute in voice. Default 5.
Voice XP per tick (max) i Maximum XP awarded each minute in voice. Default 10.
Voice XP cooldown (s) i Seconds between voice XP earnings per member. Default 60.
Daily base reward i Default 50 points.
Per-day streak bonus i Extra points per consecutive day (capped). Default 10.
Streak cap (days) i Maximum streak days counted for the bonus. Default 10.
Milestone every N messages i Default 100.
Milestone reward i Default 25 points.
Referral reward i Default 200 points.
Decay grace period (days) i Members keep their XP for this many days after their last message before decay begins. Default 14.
XP decay per day (%) i Percentage of current XP shaved off per inactive day once the grace period passes (1-50). Default 1.
Decay floor (XP) i XP won't decay below this floor — keeps long-time members with a baseline. Default 0.
Starboard threshold i Number of ⭐ reactions required to repost. Default: 3.
Minimum account age (days) i Kick new joiners whose Discord account is younger than this many days. 0 = disabled.
Mass-join threshold i Joins within 60s that triggers auto-lockdown. Default: 8.
Slow-mode trigger (msgs / 10s) i Messages in 10s that trigger auto slow mode. Default: 15.
Slow-mode duration (seconds) i setRateLimitPerUser value applied when triggered. Default: 5.
Auto-clear after (minutes) i Auto-clear slow mode this many minutes after the last trigger. Default: 10.
Warning decay (days) i Auto-clear warnings older than this many days. 0 disables decay. Default 0.
Trivia reward (points per correct answer) i Points awarded to the first member who answers a /trivia question correctly. Default 5. Requires points_enabled=1.
Pin reward (points) i Points awarded to the original author when a staff member pins their message via /pin. 0 disables the reward. Default 0.
Max gambling bet i Upper bound on wagers for /gamble, /slots, and bet options on /coin/rps. Default 10000.
Hype threshold (msgs / 10s) i Minimum messages in a 10-second window to trigger an auto-clip. Default 20.
Hype cooldown (s) i Minimum seconds between auto-clips per channel. Default 120.
Text 1/27 configured

Freeform strings (usernames, URLs, messages).

(internal) System status message ID i Auto-managed: the message ID of the system-status embed in system_status_channel. Cleared to force a new post.
Close-DM message i Body of the DM sent on close. {server} is replaced with the server name. Leave blank to use the built-in default.
Rating prompt i Wording shown above the star buttons. Leave blank for the default. Members can skip the rating entirely by ignoring the message.
Ephemeral menu scope i When ephemeral menu is on, choose where it activates. 'forums' = only on forum-channel tickets (where private threads aren't supported). 'all' = on every ticket regardless of channel type. Default 'forums' so the change is opt-in for the impossible-to-thread case only.
Anti-bot: follow action i What to do with a flagged follower: ban | timeout | log. Default log.
Anti-bot: first-message action i What to do on a scam first-message (the message is always deleted): delete | timeout | ban. Default delete.
Anti-bot: blocklist scope i Which blocklist(s) this channel matches against: global (the shared list — public sync + GoofBot's self-learning), personal (only your own !antibot blockadd entries), or both. Default both.
Anti-bot: suspicious-user action i Action for a Twitch-flagged suspicious user: ban (restricted only) | timeout | delete | log. Default log.
Anti-bot: allowlist i Comma/space-separated Twitch logins that are always exempt from every anti-bot check.
Welcome message i Template for the welcome embed. Supports {user}, {server}, {memberCount}.
Welcome DM body i Template sent as a DM to new members. Supports {user}, {server}, {memberCount}.
Leave message i Template posted when a member leaves. Supports {user}, {server}, {memberCount}.
Points currency name i What to call the points in this server (e.g. "coins", "gems", "stars"). Default: "points".
Points emoji i Single emoji displayed next to point balances. Default: ⭐
Birthday DM message i Template for the birthday DM. Supports {user}, {server}, {age}. Defaults to a generic greeting.
Starboard emoji i Emoji to count as a star (default ⭐). Can be a custom server emoji like :star2:.
Lockdown action i What to do with new joiners during a lockdown: 'kick', 'quarantine' (assign unverified_role), or 'log' (audit log only).
Welcome background image URL i Optional — PNG/JPEG URL used as the backdrop behind the avatar + username. Leave blank for a solid-color gradient.
Welcome card accent colour i Hex colour used for the username text and ring. Default: #a579ff.
Welcome card template i Built-in background: gradient / nebula / sunset / forest / ocean / midnight / grid / confetti. Only used when welcome_image_background is blank.
Welcome card font i Font style: sans / rounded / serif / mono / display / handwriting. Default 'sans'.
Boost message i Template for the boost post. Supports {user}, {server}, {tier}. Defaults to '🚀 {user} just boosted {server}! Thanks for the support.'
Image moderation action i What to do with flagged images: 'delete' (remove + DM the user), 'warn' (reply with a public warning), or 'log' (just post to mod-log). Default: 'log'.
Image moderation threshold i Confidence score above which an image is flagged. 0.0 = paranoid (lots of false positives), 1.0 = only obvious cases. Default: 0.65.
Image moderation categories i Comma-separated list of categories to flag. Available: nudity, gore, offensive, violence, weapon. Default: nudity,gore,offensive,violence.
Ko-fi verification token i Paste from Ko-fi → API settings → Webhooks. Set the webhook URL to https://goofbot.gyneric.net/webhooks/kofi
Bonus points per currency unit i Reward tippers with N points per $1 (or whatever currency unit). Set to 0 to disable. Default 0.
Saves all Channels / Roles / Toggles / Numbers / Text changes above. Discard
Reaction roles 5 mappings

Reaction roles i Drop a panel into any text channel. Members click the emoji reactions below it to toggle roles on themselves.

Self-serve role assignment via emoji reactions.

Existing panels

<#999000200000000010> msg 999000700000000001
@🌸 Pink
@🔵 Blue
@🟣 Purple
<#999000200000000010> msg 999000700000000002
@🎮 Gamer
@📚 Reader

Create a new panel

Posts an embed into the channel you pick. You'll get back the message ID so you can add mappings below.

Channel
Title
Description

Add a mapping to an existing panel

Paste any message ID (enable Discord Developer Mode → right-click the message → Copy Message ID). Max 10 mappings per panel. The bot will auto-react with the emoji.

Channel
Message ID
Emoji i Type a Unicode emoji or click one from your server's custom emoji list below. Custom emojis use the <:name:id> syntax.
Role
Server custom emojis — click to use:
Need a role that doesn't exist yet? Create one here.
The new role has no permissions by default. Refresh after creation — it'll appear in the Role dropdown above.
Dashboard managers 1 extra grant
i Grant dashboard access to a Discord user who doesn't have Manage Server. Useful for delegating bot config to a community mod without giving them full Discord admin rights. Only the server owner and Discord admins can edit this list.

Your access level: owner (discord-owner).

User Scope Granted
ModSupreme 999000500000000011 manager 2026-03-12 18:42:11