- Added support for new environment variables in `.env.example` for public site and legal operator information. - Integrated core commands into the bot's command structure for improved functionality. - Implemented a new `publishBotStatus` function to update bot status in Redis, enhancing monitoring capabilities. - Updated the landing page to include features, invite links, and support server access, improving user experience. - Enhanced localization with new keys for core commands and landing page elements in both English and German. - Improved error handling and logging for bot presence updates and status publishing.
2.2 KiB
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.