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, wholeword, orexactmessage - Optional command prefix — rules can also be invoked with a
!prefixshortcut - 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
- Every non-bot message in the server is checked
- Members with an exempt role are skipped entirely
- 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 - 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
- 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 |