configuration.

tailoring the bot to your server.

start with diagnostics

,setup is a diagnostic, not an automatic server builder. it reports whether havoc is missing the bot permissions needed for roles, channels, messages, bans, kicks, timeouts, and nicknames. it also reminds you to place havoc above managed members, enable the required developer-portal intents, run setupmute for jail, and configure private logging separately.

,setup
/config setup
initial configuration commands
commandwhat it doesneeds
/setuprun bot-permission, hierarchy, intent, jail, and logging diagnosticsadministrator
/setupmutecreate or reuse the jail role and channel, then apply isolation overwritesmanage server, manage channels
/config viewshow which core settings are configuredadministrator

the config views

config views inspect stored entries without printing private values. output uses a namespace and key followed by “configured”; it does not disclose afk text, message content, or saved role snapshots. the plain config path and config view read the server’s stored settings, while focused paths filter that list.

config family
commandwhat it doesneeds
/configinspect configured entries across the serveradministrator
/config viewinspect the same complete core settings listadministrator
/config moderationshow entries in the core configuration namespaceadministrator
/config loggingshow logging route and logging configuration entriesadministrator
/config rolesshow autorole, sticky-role, button-role, and reaction-role entriesadministrator
/config automodshow automod configuration entriesadministrator
/config afkshow whether afk configuration entries exist without exposing statusesadministrator
noteconfig views do not edit module settings

these paths are inspectors. use each module’s documented commands or the implemented dashboard controls to change that module. the spurious [member] shown in registry usage for this family is not an argument you need to provide.

antinuke administrators

the antinuke branch manages the ids allowed to perform antinuke-protected actions. it requires administrator and is restricted to the server owner. add and remove resolve a current server member; list prints stored numeric ids. keeping this list short preserves the purpose of the protection.

antinuke administrators commands
commandwhat it doesneeds
/config antinukeshow the current antinuke administrator idsserver owner
/config antinuke add <member>add one member to the antinuke administrator listserver owner
/config antinuke remove <member>remove one member from the listserver owner
/config antinuke listshow the current listserver owner
,config antinuke add @trusted-admin
,config antinuke list
,config antinuke remove @trusted-admin

jail and timeout setup

setupmute looks for a role named havoc jailed and a text channel named havoc-jail, creating either when absent. it gives the role access to that channel, hides every other channel from it, removes voice connect access, and stores the role and channel ids. the role must remain below havoc’s highest role.

mute uses discord’s native timeout and is capped at 28 days. jail uses the configured role and channel. re-runsetupmute after adding channels if the jail role’s overwrites do not isolate them as intended.

warningsetupmute rewrites channel overwrites

the command touches the jailed role’s overwrite on every server channel. review unusual private-channel and category arrangements afterward. deleting the stored role makes jail fail until setup is run again.

prefix and command access

core configuration also includes the server prefix and command restrictions. prefixes are 1–12 characters, cannot contain whitespace or @, and require administrator to change. restrictions require manage server and add a role gate without replacing each command’s native discord permission.

,prefix
,prefix set !
,restrictcommand add "config view" @administrator
,restrictcommand list

prefix self currently removes the stored server prefix override and returns the server to the default comma; it does not persist a member-specific prefix. restriction reset clears every command gate, so list and record the current policy before using it.

where settings live

havoc stores settings in its database under a server id, namespace, and key. values are persisted rather than held only in process memory, so ordinary bot restarts do not discard configuration. server ids keep one server’s settings separate from another’s even when the same administrator manages both.

several modules own their own namespaces. that is why a core config view can show that something is configured without exposing its value, and why a core reset deliberately does not erase every domain. use the relevant module guide—such as logging or automod—for its editing commands.

resetting core configuration

,config reset deletes the server’s config and restrictions namespaces. it retains moderation cases, restoration state, pending jobs, and settings owned by other domains. this is a core reset, not a factory reset.

,config view
,restrictcommand list
,config reset
dangerthere is no undo command

reset removes prefix, core role references, antinuke administrators, and command restrictions together. capture the existing views first. restoring the database or re-entering settings is the only recovery path.

a first-hour checklist

  1. 01

    check the bot’s role and permissions

    place havoc above managed roles, then run ,setup and resolve every permission you need.

  2. 02

    configure isolation

    run ,setupmute only after deciding where the jail channel belongs, then review its overwrites.

  3. 03

    choose the command entry point

    keep the comma or use ,prefix set; verify both prefix and published slash paths with help.

  4. 04

    establish staff boundaries

    add command restrictions for teams that share discord permissions, and keep antinuke administrators minimal.

  5. 05

    configure and verify modules

    set private logging first, enable only needed modules, then use the focused config views to confirm stored entries.