ZMN Bot Documentation
Setup guides and configuration reference for every ZMN module — security, moderation, roles, leveling, and access control.
Quick Navigation
Leveling
XP-based leveling system with dual tracks, customizable rewards, and rank cards
Overview
The ZMN Bot Leveling module engages your community with an XP and leveling system. Members earn XP through two independent tracks — text and voice — and can unlock role rewards as they level up. The system supports customizable rank cards, level-up announcements, and a granular configuration for XP rates.
What's Included
- • Dual XP Tracks — text and voice XP tracked independently
- • 4 Leveling Commands — rank, leaderboard, give-xp, remove-xp
- • Role Rewards — automatic role assignment on level-up with tier management
- • Level-Up Announcements — 4 announcement modes with template variables
- • Custom Rank Cards — configurable accent color, overlay, and background image
- • XP Multipliers — global and per-role multipliers for text and voice
XP System
The leveling module awards XP through two independent systems: text XP for messaging and voice XP for voice channel activity. Both tracks level independently using the same formula.
Text XP
Members earn text XP by sending messages in server channels. The system uses a cooldown to prevent spam-based XP farming.
- • Base XP: 1–3 per message (random)
- • Cooldown: 3 seconds between XP gains
- • Role multiplier: additional XP multiplier for specific roles
- • Tracks: text XP, text level, and message count
Voice XP
Members earn voice XP by spending time in voice channels. The system requires at least 2 eligible members in the channel to prevent idle XP farming.
- • Base XP: 1–3 per 10-second tick (random)
- • Requirement: ≥2 non-deafened, non-bot members in channel
- • AFK channels and deafened members are excluded
- • Role multiplier: additional XP multiplier for specific roles
- • Tracks: voice XP, voice level, and voice minutes
Level Formula
The XP required to advance from level N to level N+1 follows a quadratic formula that scales progressively:
XP for next level = 5L² + 50L + 100where L is the current levelLevel Threshold Examples
100 XP155 XP425 XP1,100 XP4,350 XP15,350 XPLeveling Commands
All leveling commands are grouped under the /levels slash command. Administrative commands require Manage Server permission.
User Commands
/levels rankSlash CommandView your or another user's rank card
/levels rank [user]/levels leaderboardSlash CommandView the server leaderboard
/levels leaderboard [type] [page]Admin Commands
/levels give-xpSlash CommandGive XP to a user
/levels give-xp <user> <amount> <type>/levels remove-xpSlash CommandRemove XP from a user
/levels remove-xp <user> <amount> <type>Level-Up Announcements
When a member levels up, the bot can send an announcement. Choose from 4 announcement modes:
Disabled
No announcement is sent when a member levels up.
Current Channel
Sends the announcement in the same channel where the user sent the message that triggered the level-up. Only applies to text XP.
Private Message
Sends the announcement as a DM to the member who leveled up.
Custom Channel
Sends the announcement to a specific configured channel.
Template Variables
Use these variables in your level-up message. Both [var] and {var} formats are supported.
[user][user] — Mentions the user[user.username][user.username] — Shows the username without mentioning[level][level] — Shows the new level[oldlevel][oldlevel] — Shows the previous level🎉 Congratulations {user}! You've reached level {level}!Reward Roles
Configure role rewards that are automatically assigned when a member reaches a specific level. Rewards can be set for both text and voice levels independently.
How It Works
Member reaches a configured reward level
Bot assigns the configured role to the member
If 'Remove with higher' is enabled, lower-tier reward roles are removed
If 'DM Member' is enabled, the member receives a congratulatory DM
Remove with Higher Reward
When enabled, reaching a higher-tier reward level removes all lower-tier reward roles. This creates a progressive rank system where members only hold their highest earned rank.
DM Member
When enabled, the bot sends a DM to the member when they receive a reward role. The message includes the role name and level reached.
Immediate Rewards (Level 0)
Setting a reward at level 0 grants the role immediately when a member earns their first XP. This is useful for giving a 'Verified' or 'Active' role as soon as someone starts participating.
Rank Card
The /levels rank command generates a visual rank card image showing the member's level, XP progress, and rank position. The card is fully customizable.
Customization Options
Accent Color — color of the progress bar and level text
Overlay Opacity — controls background overlay darkness (0–100%)
Custom Background — upload a custom image as the rank card background
Configuration
General Settings
Enabled
toggleEnable or disable the leveling system
Level Up Announcement
selectChoose how and where level-up messages are sent
Level Up Channel
channelChannel for level-up announcements (when using custom channel mode)
Level Up Message
textCustom message template with variable placeholders
Ignored Roles
rolesMembers with these roles will not earn any XP
Ignored Channels
channelsNo XP will be earned in these channels
XP Rate Settings
Text XP Multiplier
numberGlobal multiplier for text XP gain (default: 1.0)
Text Role XP Multiplier
rolesAdditional multiplier for members with specific roles in text channels
Voice XP Multiplier
numberGlobal multiplier for voice XP gain (default: 1.0)
Voice Role XP Multiplier
rolesAdditional multiplier for members with specific roles in voice channels
Rank Card Settings
Accent Color
colorColor of the progress bar and level text on the rank card
Overlay Opacity
numberControls how dark the overlay on the rank card background is
Custom Background
imageUpload a custom image as the rank card background
Reward Settings
Text Level
numberThe text level at which this reward is granted
Voice Level
numberThe voice level at which this reward is granted
Rewarded Role
roleThe role given when the member reaches the specified level
Remove with Higher
toggleRemove lower-tier reward roles when a higher tier is reached
DM Member
toggleSend a DM to the member when they receive a reward role
Best Practices
✓ Recommended Setup
- • Start with default XP rates (1.0x) and adjust based on your community activity
- • Use ignored channels for bot commands and spam channels to prevent XP farming
- • Set up progressive reward roles with 'Remove with Higher' for a clean rank hierarchy
- • Enable level-up announcements in a dedicated channel to celebrate milestones
- • Use role XP multipliers to reward boosters or premium members
- • Set level 0 immediate rewards to give new members a role on first activity
✗ Common Mistakes
- • Setting XP multipliers too high (members max out too quickly, losing engagement)
- • Not ignoring bot command channels (members farm XP by running commands)
- • Creating too many reward tiers at low levels (role clutter)
- • Forgetting to position the bot role above reward roles (role assignment fails silently)
- • Using voice XP without the 2-member requirement check (solo idle farming)
- • Not testing level-up messages with variables before enabling announcements
