Plugins

HexBot ships with 8 bundled plugins, auto-discovered from the plugins/ directory. Plugins are hot-reloadable — edit the file and run .reload <name> in IRC or the REPL without restarting the bot.

  • 1

    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.

  • 2

    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.

  • 3

    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 del

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

  • 4

    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.

  • 5

    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).

  • 6

    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.

  • 7

    ctcp

    CTCP response handler

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

    Automatic — no user commands.

  • 8

    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.