Complete user guide
Welcome to Sauna
Sauna brings tickets, moderation, member roles, engagement, leveling, commands, and server activity into one Discord bot and one dashboard. This guide can be read from beginning to end or searched for one specific answer.
Pay if you want to. Every Sauna feature is free. There are no premium-only commands, settings, or usage tiers.
Getting started
Add Sauna to your server
You need permission to add applications to the Discord server. Select Add Sauna to Discord on the website, choose the server, review the requested permissions, and finish Discord's authorization screen. Keep the applications.commands scope enabled so slash commands appear.
- Invite Sauna.Use the website's Add to Discord button and select your server.
- Place the Sauna role.In Discord's role settings, move it above every role Sauna should assign or moderate.
- Open the dashboard.Sign in with Discord, choose the server, and enable only the tools you need.
Sauna does not require the Discord Administrator permission. Its invite requests a focused set of permissions used by its features.
Getting started
Sign in and choose a server
Sauna uses Discord OAuth, so there is no separate password. The dashboard shows servers where Sauna is installed and your Discord account has the Administrator permission. Use the server selector at the top of the sidebar to switch servers; settings and stored data are isolated per server.
If a server is missing, check that the same Discord account is an administrator there and that Sauna is still a member of the server. Then sign out and back in to refresh the list.
Getting started
Using the dashboard
The sidebar separates server management into Overview, Tickets, Members, Moderation, Leveling, Engagement, Commands, and Analytics. Changes are not assumed to be saved until the relevant Save button confirms them. On phones, open the sidebar with the menu button and close it with the close button or the shaded backdrop.
The dashboard search finds settings and pages; this guide's search covers instructions, feature names, commands, and common alternative wording.
Getting started
Discord permissions and role order
Discord checks both permissions and role position. Manage Roles is not enough by itself: Sauna's highest role must sit above a role it grants or removes. The same hierarchy rule applies when moderating members. Integration-managed roles cannot be assigned.
Dashboard
Overview
Overview is a quiet summary of the selected server: members, recent messages, open tickets, and moderation activity. The Needs attention list prioritizes support conversations waiting on staff. Use it as a starting point rather than a replacement for each feature's full page.
Tickets
Set up the ticket system
Tickets give each requester a private channel shared with the support role for the selected category.
- Choose a panel channel.This is where members select a ticket category.
- Choose a transcript channel.Sauna posts the closed-ticket summary and HTML transcript here.
- Add at least one category.Give it a name, emoji, and ticket role.
- Save.Sauna posts or updates the panel message in Discord.
The panel channel needs View Channel, Send Messages, and Embed Links. The transcript channel also needs Attach Files. Sauna needs Manage Channels server-wide to create the private ticket channels.
Tickets
Ticket categories and ticket roles
Each category routes requests to one Discord role. When a ticket opens, that role is mentioned and receives access to the private channel. Use separate categories when different teams handle different requests—for example General Support, Billing, and Partnerships.
You can create up to 10 categories. Names may be up to 100 characters. The category's ticket role is also the staff role used for closing, claiming, assignment, and attention-state decisions.
Tickets
Pre-ticket questions
Enable questions on a category to collect context before creating the channel. Add up to five prompts, choose a short or paragraph response, and decide whether each answer is required. The answers are placed in the new ticket so staff can begin with useful context.
Tickets
Ticket panel and welcome message
Customize the public panel's title, description, color, footer, thumbnail, banner image, and category-picker placeholder. Each category can also have its own welcome title, message, and color inside the ticket. Image fields accept public HTTP or HTTPS URLs.
Category welcome messages support {user} for the opener and {role} for the category's ticket role. If fields are left empty, Sauna uses its clear default wording.
Tickets
Open, manage, and close tickets
A member selects a category, answers any intake questions, and receives a numbered private channel. A member can have one open ticket at a time. The opener, category ticket role, and administrators can see the ticket.
The category role or an administrator can close it from Discord; an administrator can also close open tickets from the dashboard. Closing first gathers the full message history, creates the transcript, records who closed it, and then removes the ticket channel.
Tickets
Ticket claiming and staff assignment
Claiming is optional. When enabled, a member of the category's ticket role can claim a ticket to show who owns the response. Staff can unclaim their ticket when it should return to the team, or reassign it to another eligible staff member. Administrators can correct an assignment when needed.
Claiming does not prevent other eligible staff from reading or helping in the channel; it provides clear ownership rather than locking the conversation to one person. Leave the setting off if your team prefers a shared queue.
Tickets
Needs attention and In progress
Sauna derives a ticket's state from the latest relevant human message. A new ticket, or a ticket where the requester's message is latest, is marked Needs attention. After someone with that category's ticket role replies, it becomes In progress. This keeps the queue useful without asking staff to update a status manually.
The original opener is always treated as the requester—even if they also hold the ticket role—so their own message cannot accidentally mark their ticket in progress. Bot and webhook messages are ignored.
Tickets
Ticket transcripts
Every closed ticket produces an HTML transcript in the configured Discord channel and a dashboard-readable copy. You can optionally DM a copy to the opener. DM delivery can fail when the member blocks server DMs; the configured transcript channel remains the reliable staff archive.
Sauna retains the 200 most recent transcripts per server. Transcripts contain the conversation and participant IDs, so keep the transcript channel private and review the Privacy Policy.
Members
Auto-role and bulk role assignment
Select an assignable role and save it to give that role to future members when they join. Give this role to every current member applies the saved role to existing members who do not have it. That bulk action is not automatically reversible, so verify the role first.
Sauna needs Manage Roles and must be above the selected role. Bots are included in the current-member operation when Discord allows the role to be assigned.
Members
Button role picker panels
Create a message with individual role buttons. Clicking a button gives the role; clicking it again removes it. Choose the channel, title, optional description, button labels, emojis, and roles. Editing a panel updates its Discord message; deleting it removes the message.
A server can have up to 10 button panels, each with up to 25 buttons. Sauna needs View Channel, Send Messages, Embed Links, and Manage Roles, with its role above every offered role.
Members
Member lookup
Search by username or exact Discord user ID to inspect a member of the selected server. Results show basic Discord profile information, join and account creation dates, and server roles. Search is scoped to the current server and performed live; lookup results are not stored by Sauna.
Moderation
Moderation commands
Use /warn, /mute, /unmute, /kick, and /ban in Discord. Reasons are recorded in case history. Mute durations accept forms such as 10m, 2h, or 1d, up to 28 days. Ban can delete zero to seven days of the user's recent messages.
Discord exposes these commands only to members with the relevant default permission: Moderate Members for warn, mute, unmute, and cases; Kick Members for kick; Ban Members for ban. The moderator and Sauna must both be above the target in the role hierarchy.
Moderation
Case history and dashboard bans
The Moderation page lists recorded warns, timeouts, kicks, bans, and automatic actions. Filter cases by user ID, or use /cases user:@member in Discord. The dashboard can also ban a user by ID and unban users from the server's ban list.
Sauna keeps the 500 most recent moderation cases per server. Removing a ban does not remove its historical case.
Moderation
Automod
Automod can remove Discord invite links, act on messages with too many mentions, and catch message flooding within a time window. Mention and rate thresholds accept 2–20 events across 3–30 seconds. Configure rules around normal server behavior; very low thresholds may catch enthusiastic conversation.
Automatic mute can time out a member after 2–10 accumulated warnings for 1–1,440 minutes. Sauna-created actions are added to case history. Administrators and members Sauna cannot moderate are protected by Discord permission and hierarchy rules.
Engagement
Welcome and leave messages
Enable welcome and leave messages independently, choose a text channel for each, and write messages up to 500 characters. Sauna posts an embed when a member joins or leaves.
Use {user} to mention a joining member, {username} for their name, {server} for the server name, and {memberCount} for the current member count. A leave message cannot mention someone who has already left, so use {username} there.
Engagement
Member verification
Verification posts a panel that grants a configured role after a member completes a challenge. Choose one-click button, math question, or emoji match, then select the channel, verified role, title, and description. Saving updates the existing panel when possible.
Sauna needs Manage Roles and must sit above the verified role. Discord channel permissions should keep unverified members in the verification area and let the verified role into the rest of the server; Sauna grants the role but does not redesign your channel access.
Engagement
Select-menu reaction roles
Reaction role panels use a Discord select menu rather than separate buttons. Members select roles to add them and deselect roles to remove them; unrelated roles are never changed. Configure a title, optional description, channel, labels, emojis, and roles.
A server can have up to 10 reaction-role panels with up to 25 roles each. Manage Roles and correct role order are required. Use the Members page's button role picker when a few prominent button choices are clearer.
Leveling
Leveling and XP
When leveling is enabled, a non-bot member earns a random 15–25 XP for an eligible message, at most once per 60 seconds. This rewards participation without making rapid message spam effective. Choose an optional text channel for level-up announcements; without one, Sauna announces in the channel where the member leveled.
Members use /rank to view their own or another member's progress and /leaderboard to see the server's top ten. Disabling leveling pauses XP earning without deleting existing progress.
Leveling
Level role rewards
Add up to 10 level-and-role milestones. When a member reaches a configured level, Sauna grants its role automatically. Rewards accumulate; reaching a later milestone does not remove earlier reward roles.
Sauna needs Manage Roles and must be above each reward role. If you add a reward below a member's current level, it is awarded the next time Sauna processes their XP progress rather than retroactively scanning every member immediately.
Commands
Custom slash commands
Create a server-specific slash command with a name, Discord-picker description, text response, and optional cooldown from 0–3,600 seconds. Names follow Discord's lowercase command-name rules and must be no more than 32 characters; descriptions allow 100 and responses 2,000.
Saving registers or updates the command for that server. Discord may take a short moment to refresh its command picker. A cooldown is tracked per user and prevents repetitive use without affecting other members.
Commands
Canned ticket responses
Save up to 25 reusable support replies, each with a staff-facing title and message content. In a Sauna ticket, type /canned and select the response using autocomplete. The command is intentionally restricted to active ticket channels.
Canned responses keep common answers consistent while still letting staff continue the conversation normally. Titles allow 100 characters and content allows 1,500.
Commands
Built-in command reference
/pingCheck that Sauna responds and view round-trip latency./helpOpen a private overview of commands and dashboard features./analyze-serverPrivately review server structure, permissions, and setup; administrators only./cannedPost a saved reply in an active Sauna ticket./warnWarn a member and record the reason./mute / /unmuteAdd or remove a Discord timeout./kick / /banRemove a member or ban a user./casesView a member's moderation history./rankView XP and level progress./leaderboardView the server's top ten XP members.Commands
Server analysis
/analyze-server gives administrators a private review of risky @everyone permissions, powerful roles, public writable channels, Sauna's own feature permissions, and general setup. A deterministic safety score is combined with practical recommendations; when AI analysis is configured, sanitized server structure is sent to Google's Gemini API for additional suggestions.
The command does not send message history or member conversations. Server, channel, and role names may be included. Analysis has a 15-minute per-server cooldown and is guidance, not a guarantee that a server is secure.
Analytics
Analytics
The Analytics page shows daily member and message activity over the last 90 days and the most-used commands. Counts begin when Sauna observes activity; they are not imported from Discord's history. Use trends to understand participation, not as billing-grade statistics.
Analytics
Server audit log
Sauna records observed message edits and deletions, member joins and leaves, and role changes. Message text stored in an audit event is truncated to 300 characters. The page keeps the 500 most recent events per server, removing the oldest as new events arrive.
This is a Sauna activity trail, not a complete copy of Discord's native audit log. Events the bot cannot see, or events that occur while it is unavailable, cannot be reconstructed later.
Reference
Feature permission reference
Channel-specific denies can override server-wide permissions. If a feature fails only in one channel, inspect that channel's permission overrides for the Sauna role.
Reference
Limits and retained history
Help
Troubleshooting
Sauna cannot assign a role
Give Sauna Manage Roles, move its highest role above the target role, and confirm the target is not managed by another integration.
A panel will not post
Check View Channel, Send Messages, and Embed Links in the selected channel. Ticket transcript channels additionally need Attach Files.
Slash commands are missing
Confirm Sauna was invited with the applications.commands scope. Reopen Discord, check channel command permissions, and allow a short moment after changing custom commands.
A member cannot open another ticket
They already have an open ticket. Close the existing ticket, or remove its stale channel through normal ticket management if it was manually deleted.
The dashboard does not show my server
Use an account with Administrator permission in that server, confirm Sauna is installed, then sign out and back in.
Help
Frequently asked questions
Is Sauna free?
Yes. Every feature is available without payment under the “Pay if you want to” principle.
Can I enable only one feature?
Yes. Configuration is per server and features can be used independently.
Does changing one server affect another?
No. Each server has separate settings, history, tickets, commands, and leveling data.
Does Sauna read direct messages?
No. It may send a requested ticket transcript by DM, but dashboard login does not grant access to your DMs, friends, or unrelated Discord activity.
Where can I read the data and service terms?
See the current Privacy Policy and Terms of Service.