Zagreus

Engagement Features

Suggestions, reminders, AFK, temporary voice channels, auto-responses, voice XP, reaction XP, role persistence, birthdays, timezones, polls, events, and invite tracking.

Zagreus provides a suite of engagement features designed to increase community activity and improve quality of life for members. These tools run alongside the core trading and moderation systems and are independently configurable.


Suggestions

A structured suggestion system that lets members submit ideas and lets staff review and track them through a defined lifecycle.

Commands

CommandDescription
/suggest setup <channel>Set the channel where suggestions are posted. Suggestions appear as embeds with upvote and downvote reactions.
/suggest submit <idea> [anonymous]Submit a suggestion. Optionally mark it as anonymous to hide the author's name from the public embed.
/suggest review <number> <status> [reason]Review a suggestion by its number. Set the status and optionally provide a reason.

Suggestion Lifecycle

StatusDescription
PendingThe default status when a suggestion is submitted. Open for community voting.
ApprovedA moderator has approved the suggestion for implementation.
DeniedA moderator has denied the suggestion with an optional reason.
ImplementedThe suggestion has been implemented.

When a suggestion is submitted, the bot automatically adds upvote and downvote reactions to the embed for community feedback. Staff can review the vote counts alongside the suggestion when making a decision.


Reminders

Personal reminders that DM the user at a specified time.

Commands

CommandDescription
/remind set <time> <message>Set a reminder. The time can be a relative duration (e.g., 2h, 30m, 1d) or a specific date/time. The bot DMs you the message when the time arrives.
/remind listView all your active reminders with their scheduled times and messages.
/remind cancel <number>Cancel a specific reminder by its number from the list.

Limits

LimitValue
Max reminders per user25
Max duration1 year

Reminders are delivered via DM. If the user has DMs disabled, the reminder is silently skipped.


AFK

Set an AFK status that notifies anyone who mentions you while you are away.

CommandDescription
/afk [reason]Mark yourself as AFK with an optional reason.

Behavior

  • When someone mentions an AFK user, the bot replies with an ephemeral message saying the user is AFK and showing their reason
  • When the AFK user sends a message in any channel, their AFK status is automatically removed
  • A welcome-back message is shown when AFK is cleared, including how long the user was away

Temporary Voice Channels

A join-to-create voice channel system that gives members personal, ephemeral voice channels.

Setup

CommandDescription
/voice setup <channel> [category]Designate a voice channel as the creator channel. Optionally specify the category where temporary channels are created.

How It Works

  1. A member joins the designated creator channel
  2. The bot immediately creates a new voice channel and moves the member into it
  3. The member who created the channel is the owner and can manage it with the commands below
  4. When the last member leaves the temporary channel, it is automatically deleted

Management Commands

CommandDescription
/voice rename <name>Rename your temporary voice channel.
/voice limit <number>Set a user limit on your channel (0 for unlimited).
/voice lockLock your channel — only users you have permitted can join.
/voice unlockUnlock your channel — anyone can join.
/voice permit @userAllow a specific user to join your locked channel.
/voice reject @userRemove a user from your channel and prevent them from rejoining.

Only the channel owner can run management commands. Ownership cannot be transferred — if the owner leaves, the channel is unmanaged until it empties and is deleted.


Auto-Responses

Automatic replies triggered by message content. Useful for answering frequently asked questions, providing links, or fun community interactions.

Trigger Types

TypeDescription
ContainsTriggers when the message contains the keyword anywhere in its text.
ExactTriggers only when the entire message matches the keyword exactly.
Starts withTriggers when the message begins with the keyword.
RegexTriggers when the message matches a regular expression pattern.

Filtering

Auto-responses support granular filtering to control where and for whom they activate:

FilterDescription
Role filterOnly trigger for users with (or without) specific roles.
Channel filterOnly trigger in specific channels.
CooldownMinimum time between activations of the same auto-response to prevent spam.

Limits

LimitValue
Max auto-responses per server50

Auto-responses are configured and managed through the web dashboard at Settings > Auto-Responses.


Voice XP

Awards XP to members for time spent in voice channels. Voice XP contributes to the same leveling system as message XP, rewarding members who participate in voice conversations.

How It Works

  • Members earn XP for every minute spent in a voice channel
  • XP is awarded at a configurable rate (e.g., 5 XP per minute)
  • The system checks voice state every minute and awards XP to eligible members

Requirements

To earn voice XP, a member must meet all of the following conditions:

RequirementDescription
Not deafenedThe member must not be server-deafened or self-deafened.
Not aloneAt least one other non-bot, non-deafened member must be in the same channel.
Not in AFK channelThe server's designated AFK voice channel is excluded.
Not in blacklisted channelSpecific voice channels can be excluded from XP earning.

Configuration

Voice XP is configured through the web dashboard at Settings > Voice XP.

SettingDescription
XP per minuteHow much XP is awarded per eligible minute in voice.
Minimum membersThe minimum number of non-bot, non-deafened members required in the channel (default 2).
Blacklisted channelsVoice channels where XP is not earned.

Reaction XP

Awards a small amount of XP when a member reacts to another user's message. Encourages engagement with community content.

Rules

  • Self-reactions do not award XP — you cannot earn XP by reacting to your own messages
  • A configurable cooldown prevents rapid reaction farming
  • The XP amount per reaction is configurable

Configuration

SettingDescription
XP per reactionHow much XP is awarded per qualifying reaction.
CooldownMinimum time between XP-earning reactions for the same user.

Role Persistence

Role persistence saves a member's roles when they leave the server and restores them automatically when they rejoin. This prevents users from evading moderation punishments by leaving and rejoining.

Modes

ModeDescription
All rolesAll assignable roles are saved and restored. Roles above the bot's highest role are excluded since they cannot be assigned.
AllowlistOnly roles explicitly added to the allowlist are saved and restored. Use this for selective persistence (e.g., only persist punishment roles).

Use Cases

  • Moderation evasion prevention: Muted or restricted users cannot clear their roles by leaving and rejoining
  • Role recovery: Members who accidentally leave do not lose their earned roles
  • Verification persistence: Verified members do not need to re-verify after rejoining

Role persistence does not restore roles that have been deleted from the server while the member was absent. Only roles that still exist are restored.


Birthdays

Track member birthdays and see upcoming celebrations.

Commands

CommandDescriptionPermission
/birthday set <date> [timezone]Set your birthday (YYYY-MM-DD format, optional IANA timezone)Everyone
/birthday removeRemove your birthdayEveryone
/birthday view [user]View a birthday (default: yourself)Everyone
/birthday upcomingShow birthdays in the next 7 daysEveryone

Timezone defaults to UTC if not specified. Use IANA format like America/New_York or Europe/London.


Timezones

Store your timezone for easy time conversion between members.

Commands

CommandDescriptionPermission
/timezone set <tz>Set your IANA timezone (e.g. America/New_York)Everyone
/timezone removeClear your stored timezoneEveryone
/timezone view [user]Show a user's current local timeEveryone
/timezone convert <time> <from> <to>Convert a time (HH:MM 24h) between two users' timezonesEveryone

Polls

Create polls with button-based voting and live results.

Commands

CommandDescriptionPermission
/poll create <question> <options> [duration] [anonymous]Create a poll (options separated by |, 2-10 options)Manage Messages
/poll end <poll-id>End a poll early and show final resultsManage Messages

Polls display live progress bars and vote counts. Duration supports formats like 30m, 1h, 7d. Anonymous mode hides voter identities.


Scheduled Events

Create community events with RSVP tracking.

Commands

CommandDescriptionPermission
/event create <title> <starts> <channel> [description]Create an event with RSVP buttonsEveryone
/event listView upcoming events (up to 20)Everyone
/event cancel <id>Cancel an event (creator or admin only)Creator / Admin

Events post an announcement embed with three RSVP buttons: Going, Decline, and Maybe. The starts option accepts ISO 8601 format (e.g. 2026-04-15T20:00Z).


Invite Tracking

Track who invited whom and see invite statistics.

Commands

CommandDescriptionPermission
/invites stats [user]View invite count, leaves, and net invitesEveryone
/invites leaderboardView the top 15 invitersEveryone
/invites setup [log-channel]Enable invite tracking (optionally set a log channel)Administrator

The bot monitors server joins and leaves, attributing each to the invite link used. The leaderboard ranks members by total invites.

On this page