Autoresponder Cog

The Autoresponder cog provides a keyword-based automatic reply system, designed as a replacement for third-party bots like Dyno. When a message matches a configured trigger, the bot automatically replies with a plain message, a rich embed, or a reaction.

Features

  • Flexible trigger matching — match by contains, whole word, or exact message
  • Optional command prefix — rules can also be invoked with a !prefix shortcut
  • Three response types — plain text, Discord embed (with full field, author, footer, image support), or emoji reaction
  • Channel and role scope — each rule can be restricted to specific channels or roles (include-only or exclude mode)
  • Per-rule cooldowns — prevents a rule from firing repeatedly in the same channel within a configurable window
  • Variable substitution — embed/message text supports {user}, {username}, {server}, {channel}, {avatar}, {&RoleName}, {#channel-name}
  • Exempt roles — roles whose messages are never checked against any rule
  • Log channel — optionally log every autoresponder trigger to a designated channel

Commands

All commands require Manage Server permission.

Command Description
/autoresponder list List all configured autoresponder rules and their status
/autoresponder reload Manually flush the rule cache and reload from the database

Rules are managed through the bot’s dashboard, not via Discord commands. The slash commands above are utility helpers.

Configuration

Configure this cog through the config UI:

/config cog Autoresponder
Setting Description
Enabled Toggle the autoresponder system on or off
Log Channel Channel where rule triggers are logged
Exempt Roles Roles whose messages are never checked (up to 25)

How It Works

  1. Every non-bot message in the server is checked
  2. Members with an exempt role are skipped entirely
  3. If the message starts with !, it is checked against rules that have a matching command prefix — if found, the rule fires (subject to cooldown) and no further rules are checked
  4. Otherwise the message content is tested against each enabled rule’s triggers in order:
    • Channel and role scope filters are applied first
    • If the message matches any trigger (using the rule’s match_type), the rule’s cooldown is checked
    • If off cooldown, the response is sent and no further rules are checked for this message
  5. All matches are logged to the log channel if configured

Response Types

Type Behaviour
message Sends a plain text message to the channel. Supports variable substitution.
embed Sends a Discord embed. Configured via the dashboard embed builder. Supports variable substitution in all text fields.
reaction Adds an emoji reaction to the triggering message.

Variable Reference

The following variables are supported in message text and embed fields:

Variable Resolves to
{user} Mention of the message author
{username} Display name of the author
{server} Server name
{channel} #channel-name of the channel
{avatar} URL of the author’s avatar
{everyone} @everyone (without actually pinging)
{here} @here (without actually pinging)
{&RoleName} Mention of the role named RoleName
{#channel-name} Mention of the channel named channel-name