Documentation menu

Docs/Plugins/Utilities

Utilities

Info commands, reminders, channel rules, sticky messages, auto-clean, announcements, and the fun commands.

The junk drawer, in the best sense: everything useful that is not moderation policy. Enable with an empty block and everything below is available:

plugins:
  utilities: {}

Setup checklist

  1. Add plugins.utilities: {} for info, reminder, announcement, and fun commands.
  2. For personal todo lists, add todo: { enabled: true, max_items: 50 }.
  3. For announcements, add each allowed destination under announce; the bot needs Send Messages and Embed Links there.
  4. For channel rules, open Setup > Channel Rules and configure one private test channel first. HepBoat needs Manage Messages for enforcement.
  5. If using sticky messages, choose an interval and confirm the bot can post and remove its earlier sticky copy. If using auto-clean, choose a timeout no longer than 24 hours.
  6. Post one allowed message and one deliberately disallowed message as a regular member. Confirm enforcement and the Censored message mod log entry.
  7. Wait through one sticky or auto-clean cycle before applying the settings to a busy channel.

Example channel setup:

plugins:
  utilities:
    todo: { enabled: true, max_items: 50 }
    announce:
      674638168474915242:
        webhook_color: 5793266
    channels:
      701234567890123456:
        allow_images: true
        allow_text: false
        allow_misc_files: false
        need_caption: true
        pinned_message: "Post one image with a useful caption."
        pinned_message_interval: 10
    auto_clean:
      709876543210987654:
        timeout: 3600
        include_bots: false

Info and lookup

info (user cards - staff also see infractions and voice activity inline; for the button-driven moderation panel see minfo on the Infractions page), avatar, server, channel, seen, search, emoji info and jumbo, plus random coin / random number.

The info card also shows a member's HepBoat badges - platform-wide titles like supporter tiers, staff and community badges. Badges follow the member everywhere HepBoat is, and their icons appear on rank cards too.

Reminders

remind / r add schedules a reminder ("in 2h", "1d"...) that pings you back in-channel, with a note of how long ago you set it. Reminders are stored durably, so restarts do not eat them. r clear <number> removes one (numbers come from r list); clearing everything requires the explicit r clear all, so a typo can never wipe your reminders.

Todo lists

Enable with todo: {} under plugins.utilities and every member gets a personal todo list - private to them, in every sense. todo <task> adds to it (the prefix confirmation never repeats the task back, and the slash version is entirely invisible to everyone else), and the /todos slash command opens the list itself: an ephemeral view only you can see, with a solve button next to each task and page buttons when the list grows. Completing a task tells you what you finished, how long it sat, and how many remain - and clearing the last one gets a little celebration.

Your list follows you across every server that has the feature enabled - it is one list per member, not one per server. max_items (default 50) caps how many open tasks a member can pile up.

Channel rules

Per-channel content policy, configured under channels (or with the dashboard's Setup → Channel Rules page):

  • restrict a channel to text / images / files only, with an optional caption requirement and roles exempted from all of it;
  • require text to match a regex pattern (whitelist_text_regex) - anything that does not match the pattern is removed, which is how you build a suggestions-only or links-only channel;
  • sticky messages that follow the bottom of a busy channel;
  • auto-clean timers that delete messages after a set age. Bot messages (including the bot's own replies) are skipped by default; turn on include_bots (the "Also delete bot messages" toggle on the Channel Rules page) to zap everything. A channel's active sticky message is never auto-cleaned either way.

Violations can warn or mute through the normal infractions machinery, and every restriction delete shows up in your modlog as a Censored message entry naming the rule it broke. Auto-clean sweeps log their own Auto-clean sweep modlog action instead of a plain deletion, so an automatic cleanup never reads like a moderator's purge.

Announcements

The announce block lists the channels !announce {channel} {message} may post an embed into, plus webhook_color for that embed's color. There is no scheduling - it is an allowlist for the command.

Fun

The animal pictures (cat, dog, fox, duck, bunny, shibe, bird, floof), pizza, and a handful of in-jokes the community would riot over losing. Yes, canadagoose plays the video.

Troubleshooting

  • Todo commands exist but the list is unavailable: add the todo block; the empty utilities block alone does not enable personal lists.
  • Channel restrictions log but do not delete: check Manage Messages and ensure the test role is not in role_whitelist.
  • A sticky duplicates: the bot must be able to delete its previous copy and read channel history.
  • Auto-clean ignores bot replies: include_bots defaults to false. The active sticky is always protected.
  • Announce refuses a channel: destinations must be listed under announce, and the bot needs posting permissions there.

Commands

Arguments in {curly braces} are required. Arguments in [square brackets] are optional.

Command What it does
/ping Ping the bot - replies with shard latency.
/info [user] Show a user's account + member info card. Mod+ also gets recent infractions inline.
/avatar [user] Show a user's avatar at full size.
/server [guild_id] Show this server's info card (or another guild by id).
/channel [channel_id] Show a channel's id, type, topic, and creation date.
/jumbo {emoji} Render an emoji at full size.
/emoji {emoji} Show metadata about an emoji.
/seen {user} Show when a user last sent a message in this guild.
/search {query} Search known users by id, mention, or username fragment (mod).
/announce {channel} {message} Post an announcement embed to a configured announce channel (admin).
/remind {duration} {content} Set a personal reminder for some duration in the future.
/r add {duration} {content} Add a personal reminder (alias for remind).
/r list List your pending reminders, numbered.
/r clear [reminder] Cancel one of your pending reminders by its number from r list.
/todo {task} Add a task to your private todo list.
/todos See and manage your private todo list (ephemeral, with solve buttons).
/random coin Flip a coin.
/random number [end] [start] Pick a random integer in a range (defaults to 1–100).
/bird Random birb image.
/cat Random cat image.
/dog Random dog image.
/fox Random fox image.
/duck Random duck image.
/bunny Random bunny image.
/shibe Random shibe.
/floof Random floof - picks one of cat/dog/bunny/bird/fox.
/blep Lily's blep.
/lily Lily.
/canadagoose Canada goose.
/pizza Order a virtual pizza (10s cook time).
/pizzacredit Credits for the Pizza Plugin.