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.
Required Permissions — Lunalith Discord Bot