Discord: event attendance
/track-attendance, voice rules, guild auto attendance, and optional DKP awards.
Attendance uses a voice or stage channel or a whole Discord category from Guild Settings → Events → Attendance. Pick a Discord server (Home, or an alliance when allied tracking is on), then a combined Location list (voice/stage channels and categories). You can also add up to four secondary locations the same way — auto attendance tracks the primary plus all secondaries. Events use the same picker: Guild default (inherit settings) or Overwrite (replace the primary location only; secondaries still apply). The bot compares who is present at tracking time with RSVP rows for the event (or for a specific recurring occurrence).
Alliances & allied tracking
Guild Settings → General → Alliances lets owner/admin add one-way alliances (another Guild Builder guild with a linked Discord, or a raw Discord server ID + optional label). No accept step. Under Events → Attendance, enable tracking on allied guilds so primary/secondary locations and event overwrites can pick an alliance Discord, then a location the bot can see. The bot must be in that Discord. Manual /track-attendance is unchanged — it always uses the invoker’s current voice channel and does not require alliances.
Rules (manual and auto)
- RSVP attending and in channel → attended (or deafened when self-deafened or server-deafened in Discord — cannot hear).
- RSVP attending but not in channel → no_show (member may get a DM).
- RSVP not_attending but in channel → attended (declined) — or deafened when deaf in voice.
- No RSVP row but in channel → attended (no RSVP) — or deafened when deaf in voice.
- Deafened counts as attended for statistics and DKP, but members do not receive an attendance DM when marked deafened.
- Other statuses (e.g. tentative) are not changed by voice tracking.
- Members on leave of absence (✈️ on the roster) with tentative, not attending, or no RSVP are set to leave of absence when tracking runs.
- When DKP is enabled for the guild, members marked attended, attended (no RSVP), attended (declined), or deafened receive the event’s DKP award (guild default or per-event override) once per occurrence. Attendance DMs with +X DKP are sent for attended statuses except deafened. See Loot / item distribution — DKP.
Statistics & reporting
Guild Statistics (Stats permission) only counts occurrences that have actually been tracked — RSVP-only rows still waiting on tracking (attending / not attending) are excluded from every column and from the Occurrences total, since the page is about past outcomes, not future or untracked RSVPs. It breaks out Attended, Deafened, Att. no RSVP, Att. declined, Left early, and Arrived late separately from Absent, Abs. no RSVP, No show, and Leave of absence — in the member table, category pie charts, the weekday bar chart, and the Attendance by Event tab (per event-type weekday charts and role pies, using each type’s calendar color). Every pie and weekday chart shows a Total under the legend or chart. A Simplified statistics toggle above the filters collapses everything into four buckets instead: Attended (attended, att. no RSVP, deafened, left early, arrived late), Absent (absent, abs. no RSVP, att. declined), No show, and Leave of absence — the choice is remembered per browser. Clicking a column header sorts by that column's percentage of tracked occurrences (not the raw count), so members with fewer tracked events aren't unfairly ranked below members with more; Occurrences still sorts by the raw count. Only events with Count toward statistics enabled (default) are included; optional or practice events can be excluded on create or edit. Date From/To limit by occurrence start day; optional Time from/Time to further limit to a clock window in your local time (e.g. 18:00–20:00 for evening raids; overnight windows like 22:00–02:00 are supported). The member detail pane still shows raw counts including Attending / Not attending RSVP totals for context. Staff can also set these statuses manually on the event page roster.
Auto attendance (web)
Guild settings → Events: enable auto attendance and set delay minutes (1–120, default 5). After each event occurrence’s start time plus the delay, the server runs the same voice check once per occurrence (recurring events get one run per week/day/etc.). Resolves the primary location (guild default or event overwrite) plus any secondary locations (including alliance Discords when allied tracking is on). Idempotent — each occurrence’s first check is only processed once.
Optional disable auto attendance tracking for no-statistics events: when on, automatic tracking (including the second check) does not run for events with Count toward statistics turned off. Manual /track-attendance is unchanged.
Optional second attendance check: enable under the same settings and set minutes after first check (default 5). A second voice scan runs after the first check completes. Members who were marked attended but left the channel become left early; members who were no-show or absent but are in the channel become arrived late (and may earn DKP when enabled). Runs are logged to the same auto-attendance Discord channel as the first check.
/track-attendance
Description: Run voice attendance immediately for a guild calendar event in the linked Discord server.
Options:
event-id(required): Autocomplete — event id, or for recurring serieseventId|occurrenceUnixSec
Requires appropriate Discord/bot access in the server where the event is posted. Web permissions (Events / RSVP) are separate from who can run the command in Discord.
Event setup: Calendar & events.