# Discord Bot Verification – Privileged Intents

This document lists why Nexumi requires privileged Gateway intents for Discord's verification application.
Update it when modules gain or lose intent dependencies.

## Server Members Intent (`GuildMembers`)

Required so the bot can receive and act on member join/leave/update events and resolve member lists beyond the cache.

| Module | Why |
|--------|-----|
| Welcome & Abschied | Join/leave messages, autoroles, member-count placeholders |
| Verification | Assign verified/unverified roles on join and after button/captcha success |
| Logging | Member join/leave, nickname and role changes |
| Auto-Moderation (Anti-Raid) | Join-rate detection and lockdown reactions |
| Leveling | Voice XP and member-bound XP state |
| Temp-Voice | Owner transfer / claim when members move |
| Stats / Invite-Tracking | Member counts and invite attribution on join |
| Birthdays | Resolve birthday role recipients |
| Tickets / Self-Roles | Permission overwrites and role grants for members |

Without this intent, welcome, verification, raid protection, and accurate member logging cannot function.

## Message Content Intent (`MessageContent`)

Required to read message text for filters, XP, custom triggers, and moderation tools.

| Module | Why |
|--------|-----|
| Auto-Moderation | Spam, mentions, caps, invites, links, word/regex filters, duplicates, emoji spam, zalgo, phishing lists |
| Leveling | Text XP from message content (with cooldowns) |
| Tags | Trigger-word custom commands |
| Logging | Edited/deleted message content in log embeds |
| Utility (`/snipe`, `/editsnipe`) | Restore last deleted/edited message content when enabled |
| Moderation (`/purge` filters) | Filter by links/regex against message body |

Slash command **options** do not need this intent; only messages sent by users in guild channels do.

## Intents that are not privileged (for reference)

Nexumi also uses non-privileged intents such as `Guilds`, `GuildMessages`, `GuildMessageReactions`, `GuildModeration`, `GuildVoiceStates`, `GuildEmojisAndStickers`, and `GuildInvites`. Those do not require special verification approval but are listed here for completeness of the gateway configuration in `apps/bot/src/index.ts`.
