Absence: Register Absences, Channel List and a Role for the Duration
How members register an absence with a period, how Kage keeps the list in a channel, ends entries automatically and optionally gives a role: commands, settings and troubleshooting.
Last checked for accuracy: 20 October 2026
With the Absence module, members register themselves as absent for a period by command, for example for a holiday or an exam phase. Kage turns this into a tidy list in a channel of your choice, ends every entry automatically when it runs out and, if you like, gives an absence role for the duration. Your team sees at a glance who is away and when they are back.
For a short setup walkthrough, see the guide Register an absence.
Requirements
- Module on: The Absence module must be switched on in the dashboard. If it is off,
/absence setanswers that the feature isn't enabled. The “Related Kage modules” box above shows the plan. - Dashboard permissions: You change settings with Manage Server (or access released for this module).
- Kage's permissions in the list channel: Kage must be able to view the channel and send messages and embed links.
- Kage's permissions for the role: Only if you set an absence role, Kage needs Manage Roles, and its role must sit above the absence role in the role list.
Commands
Only the person using the command sees the replies.
For all members: /absence
| Command | Effect |
|---|---|
/absence set until: [start:] [reason:] | Registers your own absence. An existing entry is replaced. |
/absence end | Ends your own absence early. |
/absence mine | Shows your own entry with period and reason. |
For admins: /absence-admin
The admin commands are their own command group, which Discord by default shows only to members with Manage Server. You can change who may use them in the Discord server settings under Integrations.
| Command | Effect |
|---|---|
/absence-admin list | Shows who is absent and who will be absent next (only visible to you). |
/absence-admin remove member: | Removes a member's entry and takes the absence role from them if they have it. |
/absence-admin refresh | Re-posts or updates the list message right away. |
Giving the period
The end (until)
Required. Two ways of writing it are accepted:
| Kind | Examples | Meaning |
|---|---|---|
| Date | 24.12., 24.12.26, 24.12.2026, 2026-12-24 | Last day of the absence. Without a year, the next occurrence of that date applies. |
| Length | 3d, 2w | Number of days (d) or weeks (w); the first day counts. 1d means “until tonight”. |
Other forms such as “next week”, “3 days” or hours are not recognised and are rejected with a hint.
The end is inclusive: someone who enters “until 24.12.” is still absent all of the 24th. The entry expires at 00:00 on the following day, calculated in the timezone from the module settings.
The start (start, optional)
Without it the absence begins immediately. With a date (same forms as above) it begins at 00:00 on that day. A start date in the past counts as “today”. A length such as 7d is counted from the start.
The reason (reason, optional)
Free text up to 300 characters. It appears in the list under the name.
Limits and error messages
| Message | Cause |
|---|---|
| End not readable | Neither a recognised date nor a length like 3d or 2w. |
| Start date not readable | The start date has no recognised form. |
| End before start | The end date is before the start date. |
| Period already over | The end lies in the past. |
| At most N days | The period is longer than the configured maximum. |
How it works
- Register:
/absence setsaves the entry. There is exactly one entry per person and server: registering again replaces the old one. - Begin: If the start is now, Kage activates the entry immediately and gives the absence role, if set. If the start is in the future, the entry appears in the list under “Upcoming” and is activated at the start.
- Check: Kage checks every minute which entries begin and which end.
- End: At the end Kage takes the role away, deletes the entry and updates the list. If Kage was offline at expiry, it catches up as soon as it is running again.
If someone changes their entry so the new period starts later, Kage takes away the role already given right away. If the new period starts immediately, the role stays as it is.
The list in the channel
If a list channel is chosen in the dashboard, Kage posts one message there and keeps it up to date:
- Currently absent (N): Who is absent now, sorted by the earliest end. Each entry shows the member, the end date, the time left and, if given, the reason.
- Upcoming (N): Who will be absent later, sorted by start.
- Empty: If nobody is registered, it says “Nobody is absent right now.”
Good to know:
- Names are mentions but trigger no notification.
- Very long lists are shortened per section with “…and N more”.
- The language of the list follows the server language in Discord (German for a German server language, otherwise English, also if the server has no language set). Replies to commands follow each person's own language.
- If someone deletes the message, Kage re-posts it on the next pass. If you change the channel, Kage posts in the new channel and deletes the old message.
- If Kage cannot post (for example due to missing permissions), it tries again after about 10 minutes.
/absence-admin refreshtriggers it right away.
The absence role
The role is optional. It is given only for the duration of the absence and removed automatically at the end. That is useful, for example, for its own colour in the member list, for channel permissions or for automations. For planned entries the person gets the role only at the start.
- If Kage has stored a role for an entry, it takes away exactly that role, even if you later set a different one in the dashboard.
- If Kage cannot give the role (role order or missing permission), the entry stays active anyway; the person just gets no role. Kage then writes a warning to the operating log.
- If the person is no longer on the server, nothing else happens and the entry expires normally.
In the dashboard
Under Absence you configure the module and see who is currently registered.
| Setting | Meaning | Default |
|---|---|---|
| Absence enabled | Switches the module on or off. | off |
| List channel | Channel for the maintained list. Without a channel there are only the commands. | none |
| Absence role | Optional role for the duration of the absence. | none |
| Longest allowed absence | Maximum length in days (1 to 365). | 90 |
| Timezone | For dates like 24.12. and the day boundaries. | Europe/Berlin |
Below, the Current and upcoming absences table shows member, period, reason and status (“absent” or “upcoming”, “role given”). The table is view-only: registering, ending and removing happen through the commands, because only the bot can give roles cleanly and maintain the list in the channel. The dashboard shows names for up to 50 entries, and the user ID after that.
The Logs tab records when someone registers, when an absence begins and when it ends. The Statistics tab counts these events per day.
Absence or AFK?
The /afk command only marks you briefly as “away” and ends as soon as you write again. Absence is meant for planned periods your team should see and ends on a fixed date.
Verify the result
- Set up: Switch the module on, choose a list channel, save.
- Register: Run
/absence set until:2dwith a test account. - List: Within about a minute the account is under “Currently absent”, usually right after the command.
- End: Run
/absence end. The entry disappears from the list. - Admin view:
/absence-admin listshows the same overview privately.
Troubleshooting
The list does not appear
No list channel is chosen in the dashboard, the module is not switched on, or Kage may not post in the channel. Check the permissions and trigger /absence-admin refresh. The reply says whether it worked.
“The absence feature isn't enabled”
The module is off on this server. Switch it on in the dashboard.
The role is not given
Kage sits below the absence role in the role list, or it lacks Manage Roles. The entry itself still works. See also Temporary roles.
The role stays after the end
Kage could not remove it (role order or permission). Remove it by hand and fix the role order.
The date is read wrongly
Include the year (24.12.2026) or use the form 2026-12-24. Check the configured timezone: it decides when the day changes.
A member is registered for too long
Remove the entry with /absence-admin remove and lower the Longest allowed absence if needed. The limit applies to new entries only.
Further reading
Granting roles for a limited time: Temporary roles. Self-service by button: Role Panels.
Related Kage modules
- AbsenceFrom Premium
- Temporary RolesFrom Premium
Keep reading
More questions? Ask Kage AIAI
Describe what you need – Kage AI picks out the right guide and gives you the sources.
Try Kage on your server
Sign in with Discord, invite the bot and set up the modules in the dashboard. The Basic plan is free forever.