Away & Timezone

Members mark themselves away for a set time, and tell the server what time it is where they are.

Two questions this answers about a person: is she here right now, and is it even a reasonable hour where she is. In a community spread across timezones, the second one decides whether the first one matters.

Alpha — new; tell us if something looks off.

Marking yourself away

/afk set
/afk set reason:In a meeting until 3
/afk set reason:Holiday time:2w

time: takes plain durations — 30m, 2h, 3d, 1w, or combinations like 1d12h. No dates to type; the bot counts forward from now. It accepts anything from 1 minute up to 30 days (units s, m, h, d, w). Months and years aren't units — use 4w for about a month.

The confirmation is posted publicly in the channel, so people see right away that you're away.

When someone mentions an away member, the bot posts a short note with the reason, when they're back (or since when, if no time was set), and their local time if they've set one. One message lists up to 3 away members.

Posting doesn't always clear it

This is the part worth knowing:

How you set itWhat happens when you post
/afk set (no time)Cleared — you're obviously back
time: under a dayCleared
time: of a day or moreStays. You get a short reminder instead (deleted after 8 seconds, at most once an hour)

The reasoning: "back in ten minutes" ends the moment you type something. "Away for two weeks" shouldn't be undone because you checked in once from your phone. Use /afk back when you're really back, with a short note if you like.

/afk back
/afk back reason:Back from holiday

The "welcome back" message after posting deletes itself after 8 seconds.

The comparison uses the duration you declared, not the time remaining — so a two-week absence still behaves like a two-week absence on its last day.

Everything expires

Nothing stands forever. A duration you set expires on time; an /afk set without one expires after 30 days. Expiry is silent — the bot won't announce a return you didn't make.

Seeing who's away

/afk list          — everyone currently away, soonest back first
/afk info @user    — one person, without pinging them

/afk info exists for a specific purpose. Normally you only learn someone is away by mentioning them, which notifies the very person who asked not to be disturbed. This asks quietly.

/afk list shows up to 20 entries and counts the rest. It is posted publicly in the channel; /afk info and all /timezone replies are only visible to you.

Timezones

/timezone set zone:Europe/Berlin
/timezone show user:@alice
/timezone clear

Start typing and the bot suggests matches. It understands cities (berlin, new york), abbreviations (PST, CET, GMT) and many country names (germany, japan) — not just the full Region/City names. If your zone isn't suggested, type the IANA name directly.

/timezone show gives the person's local time, plus how far ahead or behind you they are when you've both set one.

Your timezone applies across the whole network. Set it once on any server in the network and every other server knows it — a single-server bot can't do that.

Why the bot needs this at all

Discord renders timestamps in the reader's timezone. That's useful, but it means Discord can never tell you what time it is for someone else — the one thing you need in order to know whether a reply is coming tonight or tomorrow.

Privacy

A timezone is roughly a location, so it's treated as personal data:

  • Nothing is stored until a member runs /timezone set themselves.
  • /timezone clear removes it completely, at any time.
  • Switching the plugin off deletes every AFK status and every timezone in the network immediately. There's no grace period and no undo — turning it back on starts from empty.
  • /afk list makes absences visible together rather than one at a time. Everything in it was set voluntarily by the member, but it is a broader view than before — worth knowing if your server is careful about that.

Good to know

  • AFK status is per server. Your timezone is per network.
  • The notice is a normal channel message, so everyone in the conversation sees it — that's the point.
  • No dashboard page: enable the plugin and the commands are there.

Requirement: Send Messages in the channels where notices should appear.