Live demo — a click-around preview of the BugBot admin console. Nothing here is saved. Get BugBot on GitHub →
BugBot BugBot#4207 ada · demo

Reference

What each concept means, the formats fields accept, and worked examples.

Discord IDs

Discord IDs are snowflakes: long numeric IDs copied from Discord with Developer Mode enabled (User Settings → Advanced), then right-click → Copy ID.

Server ID
The guild the bot manages.
Channel ID
A text channel the bot reads or posts to.
Role ID
A role used for admin access, exemptions, auto-roles, or rewards.
User ID
A specific member used for admin access or moderation exemptions.
123456789012345678

Welcome, goodbye, and level-up messages replace these tags when posted.

{user}
Username or display name.
{mention}
Discord mention for the member.
{tag}
Username tag when available.
{server}
Server name.
{count}
Member count, for join/leave messages.
{level}
New level, for level-up messages.
Welcome: Welcome {mention}! You are member #{count}.
Goodbye: {user} left {server}.
Level-up: GG {mention}, you reached level {level}!
Trigger phrases
Full example questions or support statements, one per line.
Keywords
Optional single words that help a message match.
Answer
The exact message the bot posts.
Reply cooldown
Optional seconds before that FAQ can repeat in the same channel.
Trigger phrases:
How do I reset my password?
password reset not working

Keywords:
password
reset

Custom commands

Manage commands →

Commands are exact responders, separate from fuzzy FAQ matching.

Exact
The whole message must equal the trigger.
Starts with
The message must begin with the trigger.
Contains
The trigger may appear anywhere in the message.
Trigger: !rules
Match: Exact message
ID: rules
Response:
Read the server rules in #rules before posting support questions.

Moderation rules

Manage rules →
Phrases
Any listed phrase can trigger the rule.
All terms
Every listed term must appear.
Any terms
At least one listed term must appear.
Regex
Advanced JavaScript regular expressions; keep them short and specific.
Require URL
Only match messages that contain a link.
ID: scam-airdrop
Action: timeout
Reason: Crypto airdrop scam
Phrases:
free airdrop
claim your reward
Any terms:
wallet
airdrop
Timeout seconds: 86400

Moderation actions

What a rule or detector does when it matches, from mildest to strongest.

log
Records the match only.
delete
Removes the message.
warn
Warns the member.
timeout
Temporarily mutes the member.
kick
Removes the member from the server.
ban
Removes the member and blocks rejoin.

GitHub repositories

Configure search →

Repository settings use owner/repo only — never a full URL.

owner/repo
sparkbugz/bugbot

FAQ entries can attach a fixed GitHub URL, or search GitHub when that FAQ matches.

{
  "mode": "search",
  "repos": ["owner/repo"],
  "type": "both",
  "query": "oauth callback error",
  "minScore": 0.63
}
{
  "mode": "fixed",
  "url": "https://github.com/owner/repo/issues/123"
}

Level rewards use level:roleId, one per line. The role must be below the bot's highest role.

5:123456789012345678
10:234567890123456789

Settings reference

Every settings field with its accepted format and default.

General

SettingFormatDefault
Discord server ID Discord server ID, also called a guild snowflake. It is 5-25 digits. Empty unless commands, dashboard, or moderation are enabled.
Bot name Short display name used for the Discord nickname and presence. BugBot

Channels

SettingFormatDefault
Watched channels One Discord text channel ID per line. The bot ignores every channel not listed. Required from DISCORD_ALLOWED_CHANNEL_IDS; no built-in default.
Ignored channels One Discord channel ID per line. These override watched channels. Empty.

FAQ & matching

SettingFormatDefault
FAQ auto-replies On replies from the FAQ matcher; off disables automatic FAQ answers. On when the faq module is enabled; the default module set includes faq.
FAQ match threshold 0-1 confidence ratio. Lower answers more often; higher answers only close matches. 0.72.
Only answer genuine questions On gates the global GitHub fallback to likely help questions. Explicit FAQ matches still work. On.
Reply cooldown (seconds) Seconds before the same FAQ entry or GitHub fallback can reply again in one channel. 60 seconds.
Per-user cooldown (seconds) Seconds after a successful bot reply before the same user can trigger another automatic reply in that channel. 5 seconds.
Max message length Messages longer than this are ignored by FAQ/GitHub matching. 1000 characters.
Max reply length Discord messages cannot exceed 2000 characters; the bot truncates above this cap. 1900 characters.

GitHub search

SettingFormatDefault
GitHub lookups On allows FAQ-attached and fallback GitHub issue/PR searches. On when the github module is enabled; the default module set includes github.
GitHub fallback search On lets the bot search GitHub only after no FAQ entry matched. Off.
Repositories One repository per line in owner/repo format. Do not include https://github.com/. Empty unless GITHUB_DEFAULT_REPOS is set.
Fallback match minimum score 0-1 relevance ratio. Lower returns looser matches; higher only posts very close matches. 0.63.
Max query length Maximum normalized query text sent to GitHub. 256 characters.
Result cache (seconds) 0 disables useful cache lifetime; higher values reduce GitHub API calls but keep older results longer. 600 seconds.
Request timeout (seconds) Seconds to wait before aborting a GitHub API request. 8 seconds.

Commands

SettingFormatDefault
Slash commands On registers slash commands in the control server for enabled features. On.
Chat admin commands On allows authorized admins to run prefixed Discord chat commands. Off unless the commands module is enabled.
Command prefix Text prefix typed before chat admin commands. !faqbot
Support triage command On adds the support triage command for authorized admins. Off.
Custom commands On enables exact custom trigger/reply commands managed on the Custom commands page. Off.
Polls On registers /poll after the bot reconnects with slash commands enabled. Off.
Giveaways On registers /giveaway after the bot reconnects with slash commands enabled. Off.

Moderation

SettingFormatDefault
Moderation On enables automatic moderation and moderation commands. Moderated channels must also be set. Off.
Moderated channels One channel ID per line, or a single * to scan the whole control server. Empty.
Dry-run On logs what would happen without deleting, warning, timing out, kicking, or banning. On.
Default action Used when a moderation rule does not set its own action. timeout.
Default timeout (seconds) Timeout duration used by timeout rules without their own duration. 3600 seconds.
Ban message purge (seconds) 0-604800 seconds. Discord does not allow deleting more than 7 days of history during a ban. 86400 seconds.
Exempt users One Discord user ID per line. Automatic moderation never acts on these users. Empty.
Exempt roles One Discord role ID per line. Automatic moderation never acts on members with these roles. Empty.

Welcome & goodbye

SettingFormatDefault
Welcome new members On posts the welcome message when a member joins. Off.
Welcome channel Discord channel ID that receives welcome messages. Empty.
Welcome message Text template. Usable tags: {user}, {mention}, {tag}, {server}, {count}. Welcome to {server}, {mention}! You are member #{count}.
Announce leavers On posts the goodbye message when a member leaves. Off.
Goodbye channel Discord channel ID that receives goodbye messages. Empty.
Goodbye message Text template. Usable tags: {user}, {mention}, {tag}, {server}, {count}. {user} has left the server.
Auto-roles on join One role ID per line. The bot grants these roles to new members on join. Empty.

Reaction roles

SettingFormatDefault
Reaction roles On enables reaction-role events and requires the bot to reconnect with reaction intents. Off.

Server logging

SettingFormatDefault
Enable logging On records selected server events in the log channel. Off.
Log channel Discord channel ID that receives log events. Empty.
Log deleted messages On records deleted messages when server logging is enabled. On.
Log edited messages On records edited messages when server logging is enabled. On.
Log joins and leaves On records joins and leaves when server logging is enabled. On.

Starboard

SettingFormatDefault
Enable starboard On reposts messages once they collect enough matching reactions. Off.
Starboard channel Discord channel ID where highlighted messages are reposted. Empty.
Starboard emoji Standard emoji, custom emoji name, or custom emoji ID. ⭐.
Reactions needed Number of matching reactions required before a message is reposted. 3 reactions.

Leveling

SettingFormatDefault
Enable leveling On awards XP for qualifying chat messages. Off.
XP per message XP granted for each qualifying message. 15 XP.
XP cooldown (seconds) Seconds before one user can earn XP again. 60 seconds.
Announce level-ups On posts a message when a user reaches a new level. On.
Level-up channel Discord channel ID for level-up messages. Empty posts in the channel where the user leveled. Empty.
Level-up message Text template. Usable tags: {mention}, {user}, {tag}, {level}. GG {mention}, you reached level {level}!
Level role rewards One reward per line in level:roleId format. Empty.