afk_enabled
bool
AFK status
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.
antinuke_count_perms
bool
Anti-nuke counts permission changes
On (default): mass channel-permission edits by a non-bot member count toward the anti-nuke threshold.
antinuke_enabled
bool
Anti-nuke protection
Quarantine members who perform many destructive actions (channel/role deletes, bans, webhook changes) within a minute — stripped roles + 24h timeout + mod-log alert. Guild owner and the bot are always exempt.
antinuke_threshold
number
depends on antinuke_enabled
Anti-nuke threshold
Destructive audit-log actions per 60 seconds that trips quarantine (3–50, default 5).
antinuke_trusted_role
role
multi
depends on antinuke_enabled
Anti-nuke trusted role(s)
Members with these roles are exempt from anti-nuke tracking (e.g. senior admins running cleanup bots).
audit_log_retention_days
int
default: 90
Audit log retention (days)
How long dashboard audit-log entries (who changed which setting / who applied which action) are kept. 0 = keep forever. Default: 90.
autorole_enabled
bool
Auto-assign roles on join
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.
autorole_roles
role
multi
Auto-join roles
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.
color_hierarchy_startup_heal
bool
Auto-fix color role hierarchy on bot startup
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.
community_awards_channel
channel
Community awards channel
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).
community_awards_default_points
int
default: 5
Default points per award
How many points /mod congratulate awards when the issuer doesn't specify a count. Default: 5.
community_awards_default_stars
int
default: 1
Default stars per award
How many stars /mod congratulate hands out when the issuer doesn't specify a count. Stars accumulate per-user on the leaderboard. Default: 1.
community_awards_max_points
int
default: 100
Max points per award
Cap on points one /mod congratulate call can hand out — prevents accidentally awarding 1,000,000 points. Default: 100.
community_awards_max_stars
int
default: 5
Max stars per award
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.
community_awards_retention_days
int
default: 0
Community awards retention (days)
How long /mod congratulate awards are kept. Stars and totals derive from this table — pruning lowers lifetime totals. 0 = keep forever (default).
confessions_channel
channel
Confession channel
Where anonymous confessions post.
confessions_enabled
bool
Confessions enabled
Members can post anonymous confessions with /confession. Names never show publicly; the author is kept server-side so mods can act on abuse.
confessions_log_channel
channel
Confession audit channel (mods)
Optional staff-only channel that receives each confession WITH its author, for abuse handling. Blank = author stored in the database only.
events_announce_channel
channel
Events channel
Where event RSVP cards post. Discord-native scheduled events are auto-announced here too (with RSVP buttons) when auto-post is on.
events_autopost
bool
Auto-post Discord events
When someone creates a native Discord scheduled event, GoofBot posts an RSVP card for it in the events channel so it actually gets seen.
events_create_native
bool
Bot events create Discord events
When on, events made via /event or the dashboard also create a native Discord scheduled event. Off by default — Discord-native events are the source of truth and the bot just mirrors them.
events_ping_role
role
Events ping
Role pinged when an event card posts (initial post and each new occurrence of a repeating event). Supports @everyone/@here.
hierarchy_color_anchor
role
(Role hierarchy tab) Color band anchor
Color roles band directly below this role. Blank = automatic (lowest staff/level-reward role).
hierarchy_cosmetics_above
bool
(Role hierarchy tab) /color above template colors
On (default): custom /color roles beat template color roles.
hierarchy_excluded
text
(Role hierarchy tab) Excluded role ids
Comma-separated role ids GoofBot must never move.
hierarchy_mode
string
(Role hierarchy tab) Mode
auto | manual | off — how GoofBot manages role ordering. Configure on the Role hierarchy tab.
honeypot_action
string
(Jail tab) Bot trap action
ban = insta-ban every reactor. jail = jail reactors (with optional young-account auto-ban).
honeypot_channel
channel
(Jail tab) Bot trap channel
Where the trap post lives.
honeypot_message_id
string
(Jail tab) Bot trap message id
Set automatically when the trap is posted.
honeypot_young_ban
bool
(Jail tab) Bot trap: auto-ban young accounts
Jail mode only — accounts younger than the threshold get banned instead of jailed.
honeypot_young_days
int
(Jail tab) Bot trap: young-account threshold (days)
Default 7.
i18n_enabled
bool
🔒 Translate welcomes / panels (coming soon)
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.
invite_joins_retention_days
int
default: 180
Invite-join records retention (days)
How long the per-member invite-credit history is kept. Affects invite leaderboards. 0 = keep forever. Default: 180.
jail_allowed_roles
text
(Jail tab) Allowed role ids
Comma-separated role ids allowed to use /jail. Empty = admin roles only.
jail_announce_channel
channel
(Jail tab) Announce channel
Optional public announcement when someone is jailed. Blank = silent.
jail_category
channel
(Jail tab) Case-channel category
Where per-user case channels spawn. Blank = top level.
jail_display_name
string
(Jail tab) Display name
Brands the jail feature — e.g. The Shadow Realm. Blank = Jail.
jail_mode
string
(Jail tab) Mode
hide (see nothing but the case channel) or showcase (see everything, talk nowhere).
jail_role
role
(Jail tab) Jail role
The deny-net role. Auto-created; set by the deny-net sync.
jail_tomato_ping
bool
(Jail tab) Tomato throws ping the prisoner
On (default): each splat @-mentions the jailed member in their cell. Off: name only, no ping.
jail_tomatoes_enabled
bool
(Jail tab) Tomatoes enabled
Allow /tomato throws at jailed members. Default on.
log_channel_default
channel
multi
Default log channel
Catch-all channel for any log category that has no dedicated channel set. If empty, falls back to the legacy Audit log channel(s) for back-compat.
log_channel_joinleave
channel
multi
Join/leave log channel(s)
Dedicated channel for join + leave embeds, separate from other member events. Falls back to log_channel_member then to Default.
log_channel_member
channel
multi
Member log channel(s)
Where member events post (joins, leaves, role updates, bans, timeouts, etc.). Falls back to Default log channel.
log_channel_message
channel
multi
Message log channel(s)
Where message events post (deletes, edits, purges). Falls back to Default log channel.
log_channel_server
channel
multi
Server log channel(s)
Where server-structure events post (channel/role/emoji create/update/delete, server updates). Falls back to Default log channel.
log_channel_voice
channel
multi
Voice log channel(s)
Where voice events post (join/move/leave). Falls back to Default log channel.
log_collapse_bot_self
bool
Collapse GoofBot's own permission sweeps
On (default): bot-driven bulk permission passes (deny-net sync, auto-build) log as one summary instead of per-channel spam.
log_event_channel_created
bool
default: 1
Log: Channel creation
When enabled, posts an embed to the server log channel(s) when this event fires. Default: ON.
log_event_channel_deleted
bool
default: 1
Log: Channel deletion
When enabled, posts an embed to the server log channel(s) when this event fires. Default: ON.
log_event_channel_perms
bool
Log channel permission changes
Log added/removed/edited permission overwrites per channel, with who did it.
log_event_channel_updated
bool
Log: Channel updates
When enabled, posts an embed to the server log channel(s) when this event fires. Default: OFF.
log_event_emoji_changed
bool
Log: Emoji changes
When enabled, posts an embed to the server log channel(s) when this event fires. Default: OFF.
log_event_honeypot_triggered
bool
Log bot-trap triggers
Alert when someone reacts to the honeypot (ban/jail outcome included).
log_event_joinleave_joined
bool
default: 1
Log: Members joining
When enabled, posts an embed to the joinleave log channel(s) when this event fires. Default: ON.
log_event_joinleave_left
bool
default: 1
Log: Members leaving
When enabled, posts an embed to the joinleave log channel(s) when this event fires. Default: ON.
log_event_member_avatar_changed
bool
Log: Avatar changes
When enabled, posts an embed to the member log channel(s) when this event fires. Default: OFF.
log_event_member_banned
bool
default: 1
Log: Member bans
When enabled, posts an embed to the member log channel(s) when this event fires. Default: ON.
log_event_member_nickname_changed
bool
Log: Nickname changes
When enabled, posts an embed to the member log channel(s) when this event fires. Default: OFF.
log_event_member_role_updated
bool
default: 1
Log: Role updates
When enabled, posts an embed to the member log channel(s) when this event fires. Default: ON.
log_event_member_timeout_added
bool
default: 1
Log: Member timeout added
When enabled, posts an embed to the member log channel(s) when this event fires. Default: ON.
log_event_member_timeout_removed
bool
default: 1
Log: Member timeout removed
When enabled, posts an embed to the member log channel(s) when this event fires. Default: ON.
log_event_member_unbanned
bool
default: 1
Log: Member unbans
When enabled, posts an embed to the member log channel(s) when this event fires. Default: ON.
log_event_member_username_changed
bool
Log: Username changes
When enabled, posts an embed to the member log channel(s) when this event fires. Default: OFF.
log_event_message_deleted
bool
default: 1
Log: Deleted messages
When enabled, posts an embed to the message log channel(s) when this event fires. Default: ON.
log_event_message_edited
bool
default: 1
Log: Edited messages
When enabled, posts an embed to the message log channel(s) when this event fires. Default: ON.
log_event_message_purged
bool
Log: Purged messages (bulk delete)
When enabled, posts an embed to the message log channel(s) when this event fires. Default: OFF.
log_event_role_created
bool
default: 1
Log: Role creation
When enabled, posts an embed to the server log channel(s) when this event fires. Default: ON.
log_event_role_deleted
bool
default: 1
Log: Role deletion
When enabled, posts an embed to the server log channel(s) when this event fires. Default: ON.
log_event_role_updated
bool
Log: Role updates
When enabled, posts an embed to the server log channel(s) when this event fires. Default: OFF.
log_event_server_updated
bool
Log: Server updates
When enabled, posts an embed to the server log channel(s) when this event fires. Default: OFF.
log_event_voice_joined
bool
Log: Join voice channel
When enabled, posts an embed to the voice log channel(s) when this event fires. Default: OFF.
log_event_voice_left
bool
Log: Leave voice channel
When enabled, posts an embed to the voice log channel(s) when this event fires. Default: OFF.
log_event_voice_moved
bool
Log: Move between voice channels
When enabled, posts an embed to the voice log channel(s) when this event fires. Default: OFF.
log_ignored_channels
channel
multi
Ignored channels
Events sourced from these channels are suppressed (no log posted). Useful for spam channels, bot-test channels, etc. that you don't want polluting the log.
lol_announce_channel
channel
LoL announcements channel
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.
lol_announce_ping_user
bool
Ping linked Discord user on LoL match embeds
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.
lol_announce_promotions_only
bool
Only announce LoL promotions
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.
lol_announce_rank_changes
bool
Announce LoL rank changes
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.
message_counters_retention_days
int
default: 365
Daily message counters retention (days)
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.
mod_actions_retention_days
int
default: 365
Mod-actions retention (days, cleared only)
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.
monitor_private_threads
bool
depends on message_logging_enabled
Monitor private threads
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.
mute_role
role
Mute role
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.
ow_announce_channel
channel
Overwatch announcements channel
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.
ow_announce_match_inferences
bool
Announce inferred Overwatch matches
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.
ow_announce_ping_user
bool
Ping linked Discord user on Overwatch rank embeds
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.
ow_announce_promotions_only
bool
Only announce Overwatch promotions
When ON, only tier promotions get announced. Demotions stay quiet — useful for community-respect servers. Implies Announce rank changes is on.
ow_announce_rank_changes
bool
Announce Overwatch rank changes
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.
starboard_channel
channel
depends on starboard_enabled
Starboard channel
Where starred messages get reposted.
starboard_emoji
text
depends on starboard_enabled
default: ⭐
Starboard emoji
Emoji to count as a star (default ⭐). Can be a custom server emoji like :star2:.
starboard_enabled
bool
Starboard
When enabled, messages that get a configurable threshold of star reactions get reposted to the starboard channel.
starboard_threshold
int
depends on starboard_enabled
default: 5
Starboard threshold
Number of ⭐ reactions required to repost. Default: 3.
system_status_message_id
text
(internal) System status message ID
Auto-managed: the message ID of the system-status embed in system_status_channel. Cleared to force a new post.
val_announce_channel
channel
Valorant announcements channel
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.
val_announce_promotions_only
bool
Only announce Valorant promotions
When ON, only tier promotions get announced (e.g. Silver 3 → Gold 1). Demotions stay quiet. Implies Announce rank changes is on.
val_announce_rank_changes
bool
Announce Valorant rank changes
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.
warnings_editable_by_mods
bool
Allow mods to edit warning reasons
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.