Home
Required Permissions
Lunalith requires certain Discord permissions to function properly. Here is a detailed explanation of why each permission is needed and which features depend on it.
Server Management
manage_roles
Leveling: Automatically assign reward roles when users level up (Stack or Replace mode).
Autoroles: Automatically assign one or more configurable roles to new members upon joining.
Verification: Grant the "Verified" role once the user completes the captcha/verification process.
manage_channels
Temporary Channels: Create temporary voice channels on demand and delete them once empty.
Tickets: Create, hide, or modify text channels dedicated to support tickets.
Verification: Set up the verification channel during initial setup.
create_instant_invite
Ban Appeals: When staff accepts a banned member's appeal via the web panel, the bot generates a single-use invite and DMs it so the user can rejoin.
view_audit_log
Stats & Watchdog: Required to fetch the list of banned members for /gstat and to analyze server modifications for Watchdog log events.
view_guild_insights
Stats: Provides access to Discord analytics metadata exposed in the /gstat server info command.
Messages & Interactions
read_messages / view_channel
All modules: Without this permission, the bot is "blind" — it cannot read messages for XP/stats or detect user interactions.
send_messages & send_messages_in_threads
All modules: Required for welcome/goodbye messages (Announcements), level-up notifications (Leveling), opening ticket discussions, and responding to commands.
manage_messages
Moderation (/clear): Bulk-delete messages in a channel.
SmartEyes (AI Moderation): Instantly delete messages flagged as inappropriate by the Llama-Guard model.
Zenith (Anti-Spam): Delete spam messages detected by the anti-flood and anti-raid system.
Reports: Delete reported messages when staff takes action from the report panel.
embed_links
All modules: Lunalith uses rich embeds for nearly all responses (level profiles, moderation sanctions, ticket receipts). Without this, Discord blocks these styled layouts.
attach_files
Tickets: Required to upload HTML transcript files when a ticket is closed or deleted.
read_message_history
Stats & Leveling: Required to read message history for leaderboard calculations and server statistics.
mention_everyone
Announcements: Required to mention roles in announcement messages (welcome, goodbye, boost).
external_emojis & external_stickers
Announcements, Leveling & Stats: Lunalith uses custom emojis for level progress bars, status indicators (green tick, red cross) and field icons. This prevents them from showing as plain text.
manage_threads / create_public_threads / create_private_threads
Announcements, Stats & Leveling: Required for modules that create or interact with discussion threads.
pin_messages
Announcements, Stats & Leveling: Required for modules that may pin important messages.
bypass_slowmode
All modules: Prevent the bot from being restricted by channel slowmode when sending automated messages (logs, level-up announcements, ticket notifications, etc.).
Moderation & Sanctions
kick_members & ban_members
Moderation (Commands & Context Menus): Required for /kick and /ban commands.
Auto-Mod: Automatically ban/kick users who accumulate a configured number of warnings (e.g., 5 warns = auto-ban).
Appeals: Unban members when their appeal is accepted by staff.
moderate_members
Moderation (/timeout): Apply a temporary timeout to a user.
SmartEyes & Auto-Mod: Apply an automatic temporary timeout when a rule or warning threshold is reached.
manage_nicknames
Leveling & Announcements: Required for modules that may need to reference or manage member nicknames.
mute_members / deafen_members / move_members
Stats & Leveling: Required for voice role management — moving members between voice channels and managing voice-related permissions.
General
use_application_commands
Slash Commands: Required for members to see and execute Lunalith's slash commands (/profile, /stats, /warn, etc.). Without it, the commands interface won't appear.