Applications
Complete guide to configuring your application system
Introduction
The Applications system allows your server members to apply for staff positions, roles, or other opportunities directly through Discord. Applications are managed through private channels with customizable questions, review permissions, and automated workflows.
This guide covers every aspect of the application configuration file (applications.json) to help you create a professional application system for your server.
Part 1: Basic Configuration
Understanding Basic Settings
The basic configuration section controls global application behavior, including staff management integration, channel naming, and cooldown periods.
config: {
staff_management_hook: true,
application_channel_name: "app-%random%",
default_cooldown: "7d",
// ... applications and questions below
}Configuration Options
staff_management_hook
Type: Boolean (true or false)
Controls automatic integration with the Staff Management plugin when applications are accepted.
When enabled (true):
Accepted applicants automatically receive their designated roles
Staff roster panel is automatically updated
Promotion message is generated based on staff_management configuration
When disabled (false):
Manual role assignment required
No automatic roster updates
Recommended: true if you have the Staff Management plugin configured
Note: For this feature to work properly, ensure your staff_management plugin is configured with the appropriate role assignments and promotion messages.
application_channel_name
Type: String
Defines the naming pattern for application channels that are created when a user starts an application.
Available Placeholders:
%random%
Random 4-digit number
1234
%creator%
Username of the applicant
john_doe
%created_total%
Total number of applications created
42
%category%
Application category name
staff
Examples:
Best Practice: Use %random% to maintain applicant privacy and prevent channel name conflicts.
Privacy Warning: Using %creator% exposes the applicant's username to anyone who can see the channel category. Consider privacy implications before using this placeholder.
default_cooldown
Type: String (Time Duration)
Sets how long users must wait before submitting a new application after being denied.
Time Format:
s= seconds (e.g.,30s)m= minutes (e.g.,15m)h= hours (e.g.,12h)d= days (e.g.,7d)w= weeks (e.g.,2w)
Recommended Values:
Small/Casual
3d to 5d
Allows quick reapplication with improvements
Medium
7d to 14d
Balances feedback time with persistence
Large/Competitive
14d to 30d
Ensures applicants take time to improve
Examples:
Tip: Longer cooldowns encourage applicants to put more effort into their applications rather than spam submissions.
Part 2: Application Categories
Understanding Application Categories
Application categories define different types of applications (Staff, Helper, Builder, etc.) with their own questions, permissions, and settings. Users select which category to apply for, and a private channel is created for their application.
Category Configuration Options
application
Type: String
The display name of the application type.
Examples:
"Staff"- General staff position"Helper"- Support team member"Moderator"- Moderation role"Builder"- Minecraft/Creative role"Developer"- Development team"Content Creator"- Media/Content team
Best Practices:
Keep names short and clear (1-2 words)
Use title case for professionalism
Match the role name for clarity
description
Type: String
Brief explanation shown to users when selecting an application type.
Examples:
Best Practices:
Be clear about what the role entails
Mention any key requirements
Keep it under 50 characters
Use encouraging language
emoji
Type: String
Icon displayed next to the application option in the selection menu.
Emoji Options:
Default Discord Emojis:
Custom Server Emojis:
To use custom emojis, you need the emoji ID:
Enable Developer Mode in Discord (User Settings → Advanced → Developer Mode)
Right-click your custom emoji and select "Copy Link"
Extract the ID from the URL:
https://cdn.discordapp.com/emojis/123456789.pngFormat:
<:emoji_name:emoji_id>
Animated Emojis:
category_id
Type: String
The Discord category ID where application channels will be created.
How to Get Category ID:
Enable Developer Mode in Discord
Right-click the category in your server
Click "Copy ID"
Paste the ID as a string
questions
Type: String
The ID of the question set to use for this application category (references application_questions configuration).
This links to your question configuration:
Examples:
Tip: Create different question sets for different roles. Moderators need different questions than builders or developers.
permission_list
Type: Array of Strings (Role IDs)
List of role IDs that can view and review applications in this category.
How to Get Role IDs:
Enable Developer Mode
Go to Server Settings → Roles
Right-click a role and select "Copy ID"
Best Practices:
Recommended Structure:
Include management/admin roles
Include the specific team leads (e.g., Head Moderator for mod applications)
Don't give access to roles that shouldn't review (prevents bias)
Consider creating a dedicated "Application Reviewer" role
Examples:
mention_roles
Type: Array of Strings (Role IDs)
List of role IDs to mention (@ping) when a new application is submitted.
Best Practices:
Mention Carefully:
Don't mention large roles (can cause spam)
Only mention roles that actively review applications
Consider using a dedicated "Application Notifications" role
Ensure mentioned users have notifications enabled
Examples:
Complete Category Examples
Example 1: Staff Application
General staff position for your server:
Example 2: Multiple Application Categories
Server with multiple different application types:
Part 3: Application Questions
Understanding Question Structure
Application questions are what applicants must answer to submit their application. Questions can be text inputs or selection menus with predefined options.
Question Configuration Options
question
Type: String
The actual question text displayed to the applicant. Max length is set to 45 characters by Discord!
Best Practices:
Writing Good Questions:
Be specific and clear
Ask one thing per question
Use proper grammar and punctuation
Avoid yes/no questions (unless using select options)
Ask questions that reveal character, skills, and fit
Examples:
max_length & min_length
Type: Number
For text inputs, these define character limits. For select menus, they define how many options can be selected.
Text Input Behavior:
Select Menu Behavior:
Important: Discord has a maximum of 4000 characters for text inputs. Keep max_length reasonable to prevent hitting Discord's limits.
placeholder
Type: String
Hint text shown in the input field before the user types.
Examples:
Best Practices:
Provide examples when format matters
Keep it short (under 50 characters)
Use "e.g.," or "Example:" for clarity
Don't repeat the question text
select_options
Type: Array of Strings
When this array has items, the question becomes a dropdown/select menu instead of a text input.
Empty Array = Text Input:
With Options = Select Menu:
Examples:
Tip: Use emojis in select options to make them more visually appealing and easier to scan (e.g., '✅ Yes', '❌ No').
required
Type: Boolean
Whether the question must be answered to submit the application.
When to Use Optional Questions:
Supplementary information (e.g., "Anything else you'd like to add?")
Portfolio links (nice to have, not required)
Social media handles
Referrals ("Who referred you?")
Best Practices:
Keep most questions required for complete applications
Use 1-2 optional questions at the end for additional context
Don't make critical questions optional
Question Examples
Question Set Example
Basic Staff Questions
Simple question set for general staff positions:
Complete Configuration Example
Here's a complete, production-ready application configuration for a server with multiple application types:
Last updated