AttendiBotAttendiBot

Slash Commands

Full slash command reference for AttendiBot.

AttendiBot uses Discord slash commands. Admin commands require Manage Server permission.

Public commands

Available to all server members.

/ping

Check if the bot is online and measure latency.

/ping

/leaderboard

Show the voice time leaderboard for the current period.

OptionTypeDefaultDescription
limitInteger10Number of users to show (max 25)
/leaderboard
/leaderboard limit:15

Dashboard equivalent: Leaderboard


/stats

Show voice attendance stats for a user in the current period.

OptionTypeDefaultDescription
userUserYouUser to inspect
/stats
/stats user:@MemberName

Dashboard equivalent: User Stats


/channel-stats

Show the voice leaderboard for a specific channel.

OptionTypeDefaultDescription
channelChannelRequiredVoice or stage channel
limitInteger10Number of users to show (max 25)
/channel-stats channel:#Study-Hall

Dashboard equivalent: Channel Stats


Admin commands

All /admin subcommands require Manage Server permission.

/admin tracking-mode

Set how voice channels are selected for tracking.

OptionValues
modeOff, Allowlist, Denylist, All
/admin tracking-mode mode:Allowlist

Dashboard equivalent: Settings → Tracking → Tracking mode


/admin track-channel

Add, remove, or list tracked channels (for Allowlist/Denylist modes).

OptionValuesRequired
actionAdd, Remove, ShowYes
channelVoice channelFor Add/Remove
/admin track-channel action:Add channel:#Voice-1
/admin track-channel action:Remove channel:#Voice-1
/admin track-channel action:Show

Dashboard equivalent: Settings → Tracking → Tracked channels


/admin reset-interval

Configure how often leaderboard periods reset.

OptionTypeDescription
valueIntegerInterval amount (e.g. 2 for every 2 weeks)
unitChoiceHour, Day, Week, Month, Year
anchor_modeChoiceRolling, StartOfHour, StartOfDay, StartOfWeek, StartOfMonth, StartOfYear
timezoneStringIANA timezone (default UTC)
custom_anchorStringISO 8601 start time for rolling mode
/admin reset-interval value:1 unit:Week anchor_mode:StartOfWeek timezone:America/New_York

Dashboard equivalent: Settings → Periods


/admin reset-now

Force an immediate period reset. Archives the current period with a signed snapshot and starts a new leaderboard.

/admin reset-now

Dashboard equivalent: Settings → Periods → Reset now


/admin generate-keys

Create a new Ed25519 signing keypair for the server.

OptionTypeDescription
passphraseStringEncrypts the private key (≥ 8 characters)
/admin generate-keys passphrase:your-secure-passphrase

Run once per server. Re-generating invalidates previous keys.

Dashboard equivalent: Signing → Generate keys


/admin unlock-signing

Unlock the signing key in memory. Required after every bot restart.

OptionTypeDescription
passphraseStringPassphrase used when keys were generated
/admin unlock-signing passphrase:your-secure-passphrase

Dashboard equivalent: Signing → Unlock signing


/admin signing-status

Show signing key status, tracking mode, and active period.

/admin signing-status

Dashboard equivalent: Signing panel


/admin public-key

Display the active Ed25519 public key (base64) for verification.

/admin public-key

Dashboard equivalent: Signing → Public key


/admin verify-session

Verify a voice session signature in Discord.

OptionTypeDescription
session_idStringVoice session UUID
/admin verify-session session_id:550e8400-e29b-41d4-a716-446655440000

Public alternative: Session verifier


/admin verify-period

Verify an archived period snapshot signature.

OptionTypeDescription
period_indexIntegerArchived period index
/admin verify-period period_index:1

/admin history

List archived leaderboard periods.

OptionTypeDefaultDescription
limitInteger5Number of periods to list
/admin history limit:10

Dashboard equivalent: Settings → Periods → History


/admin logs

Configure log channel destinations. Subcommands:

/admin logs add

Add a log destination to a text channel.

OptionTypeDescription
channelText channelWhere to post logs
log_typeChoiceVoiceJoin, VoiceLeave, SessionTime, Leaderboard, AttendanceSummary
labelStringOptional label for /admin logs list
interval_valueIntegerRequired for Leaderboard / AttendanceSummary
interval_unitChoiceHour, Day, Week, Month
/admin logs add channel:#attendance-logs log_type:VoiceJoin
/admin logs add channel:#leaderboards log_type:Leaderboard interval_value:1 interval_unit:Day

/admin logs remove

Remove a log destination by ID.

/admin logs remove destination_id:550e8400-e29b-41d4-a716-446655440000

/admin logs list

List all configured log destinations.

/admin logs set-types

Enable or disable a log type on a destination.

/admin logs set-frequency

Update the posting frequency for periodic log types.

Dashboard equivalent: Logs


Log type reference

Log typeDeliveryDescription
VoiceJoinReal-timeMember joined a tracked voice channel
VoiceLeaveReal-timeMember left a tracked voice channel
SessionTimeReal-timeCompleted session with duration
LeaderboardPeriodicCurrent period leaderboard embed
AttendanceSummaryPeriodicAttendance summary embed

Edit on GitHub

On this page