AttendiBotAttendiBot

Getting Started

Invite the bot, unlock Ed25519 signing keys, configure voice tracking, and verify signed session records.

This guide walks server admins through the first-time setup of AttendiBot. You need Manage Server permission on the guild you want to configure.

First 10 minutes

StepActionWhere
1Add AttendiBot to your serverAdd to Discord
2Enable tracking (All is fastest)/admin tracking-mode or Dashboard → Settings → Tracking
3Confirm setup is ready/admin setup-status
4Join a tracked voice channel and leaveDiscord
5View /leaderboard or verify a sessionDiscord / Public verifier

Optional: Sign in to the dashboard for channels, fairness, logs, and exports. Signing keys are created automatically on invite.

Setup checklist

  • Bot invited with applications.commands scope
  • /admin setup-status shows Activated (or signing active + tracking on)
  • Tracking mode set (Allowlist, Denylist, or All)
  • Tracked channels configured (if using Allowlist)
  • Reset interval configured
  • (Optional) Log destinations added
  • Test session verified on public verifier
  • (Optional) Signed in to dashboard with same Discord account

1. Invite the bot

Click Add to Discord on attendibot.com to install AttendiBot with the applications.commands scope. You need Manage Server permission on the guild.

You should receive a welcome DM with three setup steps. Optionally sign in to the dashboard with the same Discord account for a full UI — the dashboard only shows servers where you have Manage Server permission.


2. Confirm signing is active

AttendiBot signs every completed voice session with Ed25519. Signing keys are created automatically when you add the bot to your server.

Fastest check in Discord:

/admin setup-status

Or use /admin signing-status / Dashboard → Signing. Keys reload automatically after bot redeploys.

If signing was not active (for example, the bot was offline during install), click Generate keys in the dashboard or run:

/admin generate-keys

Important: If signing is not loaded, voice sessions are dropped when members leave channels. Contact support if this persists after redeploy.

Share your public key so anyone can verify session signatures. See Signing & Verification.


3. Configure voice tracking

Enable tracking in Discord with /admin tracking-mode (choose All to start quickly) or in Settings → Tracking on the dashboard:

ModeBehavior
OffNo tracking
AllowlistTrack only selected channels
DenylistTrack all except excluded channels
AllTrack every voice channel in the server

For Allowlist, add channels with /admin track-channel or the dashboard. Denylist exclusions are optional.

Configure fairness rules (pause on mute, solo detection, minimum session duration) in the dashboard settings page.

AttendiBot records join, leave, and move events — never voice audio.

Confirm everything with /admin setup-status — it should show Activated before you expect sessions.

4. Set period resets and log destinations

Period resets

Configure leaderboard reset intervals in Settings → Periods:

  • Interval: hourly through yearly (e.g. every 1 week)
  • Anchor mode: rolling or calendar-aligned (start of day, week, month, year)
  • Timezone for calendar alignment (IANA, default UTC)

Each reset archives a signed period snapshot and starts a fresh leaderboard.

Force an immediate reset with /admin reset-now or the dashboard.

Log destinations (optional)

Post automated embeds to Discord text channels via Logs in the dashboard or /admin logs commands:

  • Real-time: voice join, voice leave, session completed
  • Periodic: leaderboard summaries, attendance summaries

See Commands for log subcommands.


5. Verify signed sessions

Every completed session receives a UUID and Ed25519 signature. Anyone can verify a record:

  1. Open the public session verifier on the homepage
  2. Paste the session UUID
  3. Confirm the signature matches your server's public key

Admins can also verify in Discord:

/admin verify-session session_id:550e8400-e29b-41d4-a716-446655440000
/admin verify-period period_index:1

6. Explore the dashboard

PagePurpose
OverviewLive occupancy and current period stats
LeaderboardPeriod rankings for your server
AnalyticsActivity heatmaps
StatsPer-user and per-channel breakdowns
ExportDownload signed period bundles (Pro)
SubscriptionCompare Free, Pro, and Enterprise tiers

Members can check stats with /stats and view leaderboards with /leaderboard.

See the full Dashboard Guide for every route.


Next steps

Edit on GitHub

On this page