Configuration reference
Copy config.example.json to config.json with npm run setup. Restart the bot after changing this file. IDs must be Discord IDs from your application and server. Empty optional IDs disable those destinations or features.
| Setting | Purpose |
|---|---|
name | Bot name shown in audit reasons, help and notices. |
applicationId, guildId | Your Discord application and one server. They must match the signed licence. |
ownerIds | User IDs allowed to run owner prefix commands. Keep at least one. |
prefix | Owner command prefix, comma by default. |
databaseFile | Relative SQLite path inside the package. This edition runs one bot against one database. |
roles.moderator | Role allowed to warn and timeout members and run giveaways. |
roles.administrator | Role allowed to kick, ban, unban, announce and change cases. |
roles.ticketHandler | Additional role allowed to claim and close tickets. |
roles.newMember | Optional role assigned to new human members. |
permissions.* | Minimum bot access for moderation, case changes, giveaways and announcements. Each value is moderator, admin or owner. |
channels.moderationLog | Private log for cases and automod events. |
channels.ticketLog | Private transcript log; required to close tickets. |
channels.reports | Private report destination; required for /report. |
channels.welcome | Optional public welcome channel. |
categories.tickets | Parent category for private tickets; required to open them. |
tickets.panelTitle, tickets.panelDescription, tickets.channelPrefix | Ticket panel copy and ticket channel name prefix. |
welcome.message | Supports {member} and {server} placeholders. |
automod.blockedHosts | Exact domains or their subdomains to delete. Do not include whole platforms without a good reason. |
automod.messageLimit, automod.windowSeconds | Basic message-rate threshold for ordinary members. |
giveaways.enabled | Enables or disables /giveaway. |
The token is the only value in .env. The licence is a separate signed license.json; do not edit it. Owner and role permissions are checked by the bot. A Discord Administrator bit alone does not put someone on the owner list.