Skip to main content
The AFK system lets members signal that they are temporarily unavailable. When an AFK member is mentioned, the bot sends an inline notice with their reason and how long they have been away. When the AFK member sends their next message, their status is automatically cleared and they receive a DM summarizing who pinged them.

Configuration

config.json
{
  "afk": {
    "enabled": false
  }
}
Set enabled to true to activate the feature. No other configuration is required.

Setting AFK status

Run /afk set with an optional reason. The reason is displayed in the inline notice anyone sees when they mention you.
/afk set reason: Grabbing lunch, back in 30
The reason defaults to AFK if omitted. The maximum reason length is 200 characters. The command replies ephemerally to confirm:
πŸ’€ You are now AFK: Grabbing lunch, back in 30

When someone mentions an AFK member

The bot sends an inline message in the same channel:
πŸ’€ **MemberName** is AFK: Grabbing lunch, back in 30 (since <relative timestamp>)
To prevent spam in busy channels, notices for the same AFK member in the same channel are rate-limited to once every 5 minutes. Pings are still recorded in the database even when the notice is rate-limited.
The AFK member does not need to be mentioned with @. Any mention of their user ID triggers the notice, including replies.

Returning from AFK

When the AFK member sends any message in the guild, the bot:
  1. Detects that the sender has an active AFK record.
  2. Fetches all pings logged since the AFK was set.
  3. Deletes the AFK status and ping records atomically.
  4. Sends a DM with a ping summary.
The DM summary lists up to 10 pings with the pinger’s mention, the channel, a relative timestamp, and a preview of the message:
πŸ‘‹ Welcome back! Your AFK status has been cleared.

Pings while AFK (3):
β€’ @Alice in #general 5 minutes ago β€” "hey are you around?"
β€’ @Bob in #dev 12 minutes ago β€” "quick question for you"
β€’ @Carol in #random 1 hour ago
If there were more than 10 pings, the summary notes how many additional ones were received.
If the member has DMs disabled, the ping summary cannot be delivered. The AFK status is still cleared successfully.

Clearing AFK manually

Run /afk clear to remove your AFK status without sending a message first. The command replies ephemerally with the same ping summary that would have been sent on return.

Commands

Marks you as AFK with an optional reason.
OptionRequiredDescription
reasonNoWhy you are AFK (max 200 characters, defaults to AFK)
Available to all members.
Clears your AFK status manually and shows a ping summary.No options. Available to all members.

Build docs developers (and LLMs) love