Plugins
HexBot ships with 8 bundled plugins. Plugins are hot-reloadable — edit the file and run .reload <name> in IRC or the REPL without restarting the bot.
chanmod
Channel moderation and protectionFull channel management suite. Auto-grants op/halfop/voice on join, enforces channel modes, manages timed bans, protects ops from being deopped, and optionally takes revenge on kicks.
!op!deop!halfop!dehalfop!voice!devoice!kick!ban!unban!kickban!bans37 configurable options including auto_op, enforce_modes, rejoin_on_kick, and ChanServ awareness.
flood
Inbound flood protectionTracks message, join, and nick-change rates per user using sliding windows. Escalates enforcement from warn to kick to timed ban. Ops can be exempted.
Automatic — no commands. Configurable thresholds, windows, ban duration, and action sequence.
greeter
Join greetings with custom messagesSends a greeting when users join the channel. Registered users can set their own custom greet message. Supports {channel} and {nick} substitution.
!greet set <message>!greet deleteConfigurable delivery mode (PRIVMSG or NOTICE), min_flag to set custom greet.
seen
Last-seen trackingRecords the last time a nick was active in a channel — message content, channel, and timestamp. Reports relative times (e.g. '5m ago', '3h 20m ago').
!seen <nick>Persistent via SQLite. Configurable max age (default 365 days). Auto-cleans stale entries hourly.
topic
Color-coded themed topicsSets channel topics with IRC color-code themed borders. Includes topic protection — restores the topic if changed by a non-op. 10+ built-in themes.
!topic <theme> <text>!topic preview <theme> <text>!topic lock!topic unlock!topics!topics previewWarns if topic exceeds 390-char server limit. Per-user preview cooldown (60s).
help
Command help indexProvides !help listing all available bot commands, filtered by the requesting user's permission level. Supports per-command detail and category views.
!help!help <command>!help <category>Configurable reply type (PRIVMSG, NOTICE, channel_notice). Per-user cooldown on full list.
ctcp
CTCP response handlerAutomatically replies to CTCP VERSION, PING, and TIME requests. Reads the version string from package.json.
Automatic — no user commands.
8ball
Magic 8-ballResponds to questions with one of 20 affirmative, 5 non-committal, or 5 negative responses. The classic IRC staple.
!8ball <question>No configuration required.