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 protection

Full 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!bans

37 configurable options including auto_op, enforce_modes, rejoin_on_kick, and ChanServ awareness.

flood

Inbound flood protection

Tracks 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 messages

Sends 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 delete

Configurable delivery mode (PRIVMSG or NOTICE), min_flag to set custom greet.

seen

Last-seen tracking

Records 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 topics

Sets 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 preview

Warns if topic exceeds 390-char server limit. Per-user preview cooldown (60s).

help

Command help index

Provides !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 handler

Automatically replies to CTCP VERSION, PING, and TIME requests. Reads the version string from package.json.

Automatic — no user commands.

8ball

Magic 8-ball

Responds to questions with one of 20 affirmative, 5 non-committal, or 5 negative responses. The classic IRC staple.

!8ball <question>

No configuration required.