ai assistant.
asking havoc in plain english instead of remembering syntax.
how the assistant is addressed
ai requests use the configured gemini model directly. the default local profile caps requests at five per minute and 100 per rolling day, with passive opinion collection and search grounding switched off. google’s project quotas still apply, and local counters reset when the process restarts.
the assistant listens only when the server’s ai command setting is on and the author is on the global ai chat whitelist. address havoc by mentioning it, replying to one of its messages, or writing its name in the message. after a real response, the same member can continue in the same channel without naming it again for about ninety seconds.
@havoc warn @member for flooding chat
havoc, what can you do here?
[reply to havoc] what about the last message?prefix commands are ignored by this listener and continue through the normal command system. a direct mention or reply receives an answer when processing fails or the request is unclear. merely naming havoc in unrelated conversation may produce no response, because the assistant first decides whether the message is directed at it.
the server switch and the whitelist
two independent gates must pass. ai command on lets eligible messages in that server reach the assistant; it does not grant every server member access. the whitelist is global, controlled only by the bot owner, and determines which users may talk to ai chat anywhere. the bot owner is always eligible.
- 01
owner allows the user
the bot owner runs
,ai whitelist add @member; a server administrator cannot change this list. - 02
server enables interpretation
a member with manage server runs
,ai command onin that server. - 03
member addresses havoc
the whitelisted member mentions havoc, replies to it, or clearly uses its name.
- 04
check both states
,ai statusshows whether command interpretation is on and the size of the global whitelist.
an unwhitelisted user is ignored even on a direct mention. turning ai command on does not override that gate. check ai status and ask the bot owner to check the whitelist before treating silence as an outage.
all ai administration commands
| command | what it does | needs |
|---|---|---|
| /ai command <on|off> | allow or stop mention-based ai interpretation in this server | manage server |
| /ai status | show the server switch and whitelist count | manage server |
| /ai opinion <user> | show havoc’s private, accumulated opinion of a member | manage server |
| /ai whitelist add <user> | allow a user to talk to ai chat globally | bot owner only |
| /ai whitelist remove <user> | remove a user’s global ai chat access | bot owner only |
| /ai whitelist list | list globally allowed users | bot owner only |
,ai command on
/ai status
,ai whitelist add @member
/ai whitelist remove user: @memberall six commands also have slash paths under /ai. whitelist changes accept a user mention or id. removing someone stops later ai chat, but does not change their ordinary command permissions.
what command interpretation can do
when enabled, havoc receives a catalog built from the live command registry. it can answer ordinary questions, identify one matching command from plain english, or select several actions when the request clearly asks for several. each chosen command is resolved back to a real registry path and then dispatched through the same permission checks as a typed command.
permissions still apply
plain english does not bypass manage messages, manage server, role checks, owner restrictions, confirmations, or the server’s command restrictions.
the registry is the boundary
owner-only and developer commands are excluded. an invented or unknown path is rejected rather than executed.
order matters
when a request clearly contains several actions, havoc runs recognized actions in the order returned. a failed action does not automatically cancel later ones.
chat is not execution
if no command fits, havoc may answer, ask for specificity, or say the capability is unavailable instead of improvising a command.
for exact syntax and predictable moderation work, use the normal commands documented under how commands work. natural language is convenient, but it can misunderstand an ambiguous target or reason.
destructive actions and follow-ups
a direct request can select destructive commands, but normal dispatch still applies the command’s permission and confirmation rules. bare yes, y, no, n, and cancel messages are deliberately left for an active command confirmation instead of being interpreted as new ai instructions.
a message caught only because it falls inside the follow-up window can chat or run an unprivileged, non-destructive command. it cannot run a destructive command or any command with a required permission. mention havoc again or reply directly when giving a new operational instruction, then read any confirmation before accepting it.
havoc also ignores bot and webhook messages, messages outside servers, and messages beginning with the server’s command prefix. a four-second per-user cooldown limits repeated ai requests. globally blocked users receive no ai chat response.
context, opinions, and privacy boundaries
- ::recent channel messages
- the assistant can use a small window of messages from the current channel, including its own recent replies. it does not fetch another channel to answer the question.
- ::your moderation history
- it may use the requesting member’s own recent cases to explain what happened to that same member. it is instructed not to reveal another member’s case history.
- ::private opinion
- when explicitly enabled by the operator, havoc builds a subjective score and short impressions from visible messages. collection is off by default. this is flavor, not evidence or a moderation decision.
ai opinion requires manage server and displays the stored opinion for the requested user, if one exists. when enabled, passive opinion collection is separate from whitelist access: a member does not need to be allowed to chat with the assistant for havoc to form an opinion from messages it can see.
the score may be incomplete or wrong and is never a factual conduct record. use reports, logs, and moderation cases for decisions that affect a member.
limits and failure modes
the assistant can misread pronouns, choose the wrong matching command, or lack enough recent context. ask with an explicit member mention, action, and reason when the result matters. it cannot run owner-only or developer commands, cannot bypass a missing Discord permission, and cannot share records the invoking member is not allowed to access through ordinary dispatch.
real-world answers may use a live lookup when current information is needed, but a failed lookup can produce a short failure response or a cautious fallback. the assistant is not a durable transcript of a conversation: follow-up state is brief, scoped to one member and channel, and expires. use documented command syntax whenever you need repeatable behavior.
