Docs/Plugins/HepBoat Intelligence
HepBoat Intelligence
AI-assisted moderation - every eligible message read against six hazards and your own rules, scored 0 to 100, and sent to a review channel with one-click actions or handled automatically at the level you choose.
HepBoat Intelligence reads what real members post and gives every message one risk score from 0 to 100. Below your review line nothing happens. Above it a card lands in your review channel with the member, a jump link, the reasons in plain words, and buttons your moderators press: Dismiss, Delete, Warn, Timeout, Mute, Kick, Softban, Ban, and Explain. Above your act line HepBoat can act on its own - once you turn that on. Every automatic action still posts a card, so staff always see what happened and why.
It is set up on the dashboard's Setup - Intelligence page. In Discord you
work from the review card, plus one staff command, analyze, that sums up any
member for you (see Analyze a member below).
Intelligence is included with Server Premium on the main HepBoat bot and lasts exactly as long as your paid time does. Elsewhere it is granted by the operator for a set period. It is never part of a bundle and never on by default.
plugins:
intelligence:
review_channel: 665875009507426304 # staff-only channel for the cards
exempt_channels: [] # never read these
exempt_roles: [] # never read members with these roles
staff_level: 50 # command level at or above this is staff
hazards:
harassment: true
hate: true
threats: true
sexual: true
scam: true
self_harm: true
rules: # up to 10 short lines, 1500 characters in total
- No politics outside #debate.
- No advertising or unsolicited invites.
thresholds:
review_at: 55 # risk at or above this posts a card
act_at: 80 # risk at or above this runs the action below
min_confidence: 0.6 # below this an act is held for review instead
actions:
act: flag # flag | delete | delete_warn | delete_timeout
timeout_minutes: 60
prefilter:
min_length: 12 # shorter messages are never read
per_user_per_minute: 6
Setup checklist
- Make sure your server has the Intelligence feature. The Setup - Intelligence page tells you when it is missing - on the main bot it comes with Server Premium.
- Create a staff-only review channel and give HepBoat View Channel, Send Messages, and Embed Links there. Give it Manage Messages in the channels it will read, and Moderate Members if you want Timeout to work from the card.
- Open Setup - Intelligence. Pick a community profile (General, Family friendly, Mature 18+, or Competitive gaming) and a strictness (Relaxed, Balanced, or Strict). Each pick writes real settings you can change below.
- Set the review channel. Leave Above the act line on "Post a card only" for now.
- Read the rules the profile wrote and replace them with your own, one short line each. Or paste your #rules post into Import from your rules text and review what comes out.
- Save. Post a clearly rule-breaking message from a non-staff test account and confirm a card appears in the review channel. Press Explain on it to see every number behind the score.
- Run it for a week on cards only. Watch the Recent flags table and the dismiss rates: a hazard your moderators dismiss more than half the time is too sensitive for your server - raise the review line or switch it off.
- When the cards match what your team would have done, turn on an automatic action for the act line if you want one.
Who gets read
Only real members. These never reach the model and never count toward your allowance:
- bots and webhooks
- anyone whose command level is at or above staff level (50 by default, your moderator tier)
- members holding an exempt role
- messages in an exempt channel, or outside your watched channels if you set any
- messages shorter than the minimum length once mentions, links, and emoji are stripped, and messages that are only emoji
- a member's repeat of their own last message, and anything past the per-member-per-minute limit (floods are the anti-spam plugin's job)
- edits that changed less than half the words
The score
Every read message is checked for six hazards - harassment, hate speech, threats and violence, sexual content, scams and spam, and self-harm - plus how severe it would be to leave up, plus whether it breaks one of your written rules. Those become one risk number from 0 to 100. The card lists the reasons that drove it, for example "Harassment (91%)" or "Breaks rule 2: No advertising (84%)", and the severity.
Two lines decide what happens:
- Review line (default 55) - at or above this a card posts.
- Act line (default 80) - at or above this the act-line action runs.
A third setting, confidence to act, protects you from a confident-looking number the model is actually unsure about: below it, an act is held for review instead, and the card says so.
Switch any hazard off if it does not fit your server. A mature server turns off sexual content; a competitive server keeps harassment on and writes a rule that trash talk about the game is fine.
Your rules
Write your rules the way you would explain them to a new member, one per line, up to 10 rules and 1,500 characters in total. Short rules are read more accurately, and they are sent with every message read, so they are also what your allowance is mostly spent on. Rule breaks reach the review line on their own even when no hazard fires, so a rule like "No politics outside #debate" works as you would expect.
The review card
Only your moderators can use the buttons - the same people who could run the matching command. Every action deletes the message first, then applies the punishment through the normal infraction system, so warnings, timeouts, mutes, kicks, softbans, and bans show up in the member's history and the mod log exactly as if a moderator had typed the command, with the reasons as the infraction reason. Dismiss records a false positive and feeds the dismiss rates on the setup page. Explain shows every hazard percentage, the severity, the confidence, and which rule matched, only to the person who pressed it. The first moderator to press a button decides; anyone else is told who handled it.
Analyze a member
analyze {user} gives your staff a quick read on one member: a summary of
under 500 characters, a standing (no concerns, worth watching, concerning, or
serious), a one-line profile check, and up to four findings, each tied to
something specific such as an infraction, a date, or a message. Under it HepBoat lists the plain record:
infractions here, messages on record, when they joined, and how old the
account is.
HepBoat reads what it already has about the member in your server and nothing else:
- their infractions here (including staff notes and whether each is still active), and how many they have across other servers HepBoat shares with them
- any Intelligence flags on their messages and what staff did with them
- their recent messages in this server, including ones they deleted
- their profile: username, display name, server nickname, server tag, badges, roles, account age, when they joined, whether they boost, are timed out, or are still in rules screening, and Discord's own signals (a likely-spammer flag, or a username, bio, or tag that Discord AutoMod quarantined)
- their avatar, server avatar, and profile banner, which HepBoat looks at for anything that breaks your rules (it never tries to work out who someone is)
- your server rules from this page and a short outline of your moderation setup (censor and spam settings)
The profile check flags things like slurs or sexual content in a name or image, scam or advertising text, and names that impersonate your staff or the bot. Custom statuses are not part of it, because HepBoat does not receive them.
It does not guess, ask you questions, or make conversation. If the history is thin, it says so. It does not recommend a punishment; it tells you what the record shows. Members' own messages are treated as evidence only, so a member cannot talk their way into a clean summary.
- Who can run it: level 50 (moderators) and up. The result posts in the channel you run it in, so use it in a staff channel.
- Works for members who left. Their infractions and messages are still on record, and the summary notes they are no longer in the server.
- Needs only the feature. You do not have to turn on message reading to
use
analyze.
Your monthly allowance
The setup page shows two bars. The first is message reading. It is a guide, not a limit: past 100% the feature keeps working and the bar keeps counting. It resets on the 18th of each month. Because staff, bots, short messages, and repeats are skipped before they count, a typical server uses a small fraction of it. If the shared allowance across every server is ever used up, the page says so and evaluation pauses everywhere until the reset.
The second bar is Analyze, and it is a real limit: once it is full,
analyze replies that this month's analyses are used up until the reset. The
analyze result shows the same bar in its footer. A failed analysis never
counts against it.
Common problems
- No card ever appears. Check the feature is granted, the plugin is saved (saving with defaults is enough), the review channel is set and HepBoat can post there, and you are testing from a non-staff account in a watched channel with a message longer than the minimum.
- Cards for harmless banter. Raise the review line, switch off the hazard the dismiss rate points at, or make the banter channel exempt.
- A rule break is never flagged. Rewrite the rule as a plain statement of what is not allowed. The model reads literally; "be nice" catches less than "no insults or name-calling".
- The Timeout or Mute button reports a problem. HepBoat needs Moderate Members for timeouts, and a mute role configured in the infractions plugin for mutes.
- Nothing is read at all. The whole thing is paused if the operator has it off for maintenance or the shared allowance is used up; the setup page shows a notice in both cases.
analyzesays the allowance is used up. This month's analyses are spent; the bar on the setup page shows when it resets.
Commands
Arguments in {curly braces} are required. Arguments in [square brackets] are optional.
Level is the built-in command level: 0 everyone, 10 trusted, 50 moderator, 100 admin. Your commands.overrides can change it - see Permissions.
| Command | Level | What it does |
|---|---|---|
/analyze {user} |
50 (moderator) | Summarize a member for staff: record, recent messages, and profile against your rules. |