Recruitment System Documentation
The Recruitment System automates the entire recruiting pipeline inside your Discord server. Players apply by clicking a button in a public embed, fill out a brief form, and are automatically assigned a private text channel where your staff can review, verify, and approve or reject the application — all without leaving Discord.
/setup start and that it has permission to create channels and manage roles in your server.
Table of Contents
- System Overview
- Roles & Permissions
- Initial Setup (Dashboard)
- Player Application Flow
- Inside the Recruitment Channel
- Staff Actions & Buttons
- Managing Active Requests (Dashboard)
- Log Channel
- Troubleshooting
System Overview
The Recruitment System handles the full lifecycle of a player application in three stages:
- An admin configures the system via the web dashboard and publishes a public recruitment embed in a channel of their choice.
- A player clicks one of the category buttons in that embed, selects their in-game role, fills out a short form, and receives a private channel automatically.
- Staff reviews the application inside the private channel using action buttons (Approve, Reject, etc.). The bot logs every action and notifies the applicant by DM.
Roles & Permissions
| Who | How assigned | What they can do |
|---|---|---|
| Administrator | Discord native permission | Full access to the web dashboard to configure every aspect of the system |
| Staff Role | Configured in dashboard → Channel Settings | Approve, approve & delete, and reject applications in the recruitment channel |
| Applicant (any member) | — | Submit an application and cancel their own request |
Initial Setup (Dashboard)
All configuration is done through the web dashboard. Go to your guild's page and click Recruitment in the sidebar navigation.
Basic Settings
| Field | Description | Required |
|---|---|---|
| Enable Recruitment System | Toggle to activate or deactivate the entire system. When disabled, the embed buttons stop working and no new applications can be submitted. | Yes |
| Channel Name Template |
Template used to generate the name of each private recruitment channel. Supports the following placeholders:
recruitment-{playerName} → creates a channel named recruitment-dragonslayer
|
Yes |
| Staff Role | Discord role whose members can approve and reject applications. If not configured, any member can interact with the action buttons. | Recommended |
| Approved Role | Discord role automatically assigned to an applicant when their application is approved (via Approve or Approve & Delete). If not configured, no role is assigned on approval. | No |
| Application Instructions | Custom text sent inside every recruitment channel as a dedicated embed. Use it to tell applicants what to do next, what links to share, or what to wait for. Supports plain text and basic Discord markdown. | No |
Embed Configuration
This section controls how the public-facing recruitment embed looks inside your Discord channel. This is the embed that everyone sees and clicks to start an application.
| Field | Description |
|---|---|
| Embed Title | Title shown at the top of the embed, e.g. "Join Our Guild!" |
| Embed Description | Body text of the embed. Explain what your guild is looking for, requirements, or general info for applicants. |
| Embed Color | Left-border color of the embed in hex format (e.g., #2ecc71). |
| Embed Image | Optional image displayed at the bottom of the embed. Upload a banner, guild logo, or any image relevant to your recruitment. The current image is previewed on the page with an option to delete it. |
Categories
Categories define the buttons that appear in the public recruitment embed. Each category represents a different track or type of recruit. When a player clicks a category button, their application is tagged with that category and their private channel is created inside the corresponding Discord category.
Adding a Category
Fill in the following fields in the Add New Category form and click Add Category:
| Field | Description | Required |
|---|---|---|
| Category Name | Display name of the category shown on the button, e.g. "PvP Elite" or "Gathering". Must be unique. | Yes |
| Discord Category | The Discord channel category (folder) where new recruitment channels will be created for this track. This is not the bot category — it is a Discord server category. Select it from the dropdown. | Yes |
| Icon | An emoji that appears on the category button. Click the emoji you want from the icon picker. | Yes |
| Minimum Kill Fame | If set above 0, the bot will check the applicant's Kill Fame via the Albion Online API and block the application if they do not meet the minimum. Set to 0 to disable this check. |
No |
| Minimum Kills | If set above 0, the bot checks the kill count reported by the applicant. If the applicant's number is below the minimum, the application is blocked. Set to 0 to disable this check. |
No |
Removing a Category
Each category listed on the dashboard has a Remove button. Removing a category does not delete any open recruitment channels — it only removes the button from the public embed the next time it is sent/updated.
Channel Settings
| Field | Description | Required |
|---|---|---|
| Embed Channel | The text channel where the public recruitment embed will be sent. This should be a channel that all members can see but not type in. | Yes |
| Recruitment Log Channel | A staff-only channel where the bot posts a log entry every time a new application is received, approved, rejected, or cancelled. | Recommended |
| Staff Role | The Discord role that allows members to Approve or Reject applications. Members without this role can view the channel but cannot interact with the action buttons. | Strongly recommended |
Verification Websites
Verification websites are external links auto-generated for each applicant and posted inside the recruitment channel so staff can quickly check a player's stats and history without manually searching.
Popular examples: albiondb.net, murderledger.albiononline2d.com.
Adding a Verification Website
| Field | Description | Required |
|---|---|---|
| Website Name | Display name, e.g. "AlbionDB". Must be unique. | Yes |
| URL |
The full URL to the player's profile page. Use the placeholder {playerName} where the player name should be inserted. The bot replaces this placeholder automatically with the applicant's Albion Online name.Example: https://albiondb.net/players/{playerName}
|
Yes |
| Icon | Emoji shown next to the website name in the verification embed. | Yes |
| Tags | Optional comma-separated labels that describe what the website shows, e.g. kills, history, fame. These appear as small badges in the embed to help staff know what to look at. |
No |
{playerName}, the bot will display a confirmation before saving, since the link will be the same for every applicant regardless of who applies.
Sending the Embed
After all settings are configured, scroll to the top of the Recruitment dashboard page and click Send Recruitment Embed. The bot will post (or update) the embed in the channel configured under Channel Settings → Embed Channel.
Player Application Flow
The following steps describe exactly what a player experiences from the moment they find the recruitment embed to the moment their private channel is ready.
| Step | What happens | Who sees it |
|---|---|---|
| 1. Click Category Button | The player clicks one of the category buttons in the public embed (e.g., ⚔️ PvP Elite). The bot checks whether the system is active and whether the player already has an open application. If either check fails, the bot replies with an error (visible only to them). | Applicant only (ephemeral) |
| 2. Select In-Game Role | A dropdown menu appears with five role options: DPS ⚔️, Healer 💚, Battlemount 🐎, Tank 🛡️, Support 🔧. The player picks one. | Applicant only (ephemeral) |
| 3. Fill Out the Application Form |
A modal (pop-up form) appears with three fields:
|
Applicant only (modal) |
| 4. Bot Validates Requirements | After form submission, the bot queries the Albion Online API for the player's Kill Fame. If the selected category has minimum requirements (Kill Fame or Kill Count) and the player does not meet them, the application is blocked and the player receives a detailed message explaining their current stats vs. the requirements. | Applicant only (ephemeral) |
| 5. Private Channel Created | The bot creates a private text channel inside the configured Discord category for that track. The channel is visible only to the applicant, the staff role, and the bot. The bot immediately sends the application embed, verification websites, instructions, and action buttons. | Channel visible to applicant + staff |
| 6. Confirmation | The bot replies to the applicant (privately) with a success message and a mention link to their new channel so they can click directly to it. | Applicant only (ephemeral) |
0. This affects Kill Fame requirement checks but does NOT block the application on its own — only the requirement check may block it.
Inside the Recruitment Channel
When a recruitment channel is created, the bot sends the following messages in sequence:
-
Application Embed — a blue embed summarizing the application with all fields visible to staff:
- Discord mention of the applicant
- Albion Online nickname provided
- Selected in-game role
- Reported kill count (if provided)
- Old nickname / alternative name (if provided)
- Albion Player ID, Kill Fame, Death Fame, Fame Ratio (pulled from API if the player was found)
- Current guild in Albion Online (if the player was found in the API)
- API status warning if the player was not found
- Verification Websites Embed (if configured) — a red embed listing all verification website links, each one already pre-filled with the player's name. Staff can click any link directly.
- Application Instructions Embed (if configured) — an orange embed showing the custom instructions text set in the dashboard.
-
Action Buttons — four buttons for managing the application:
- ✅ Approve
- 🗑️ Approve & Delete
- ❌ Reject
- 🚫 Cancel Application
Staff Actions & Buttons
✅ Approve
Who can use it: Members with the configured Staff Role only.
Clicking Approve opens a modal where the staff member can optionally write internal notes about the applicant (visible to staff and the applicant). After submitting:
- The application is marked as approved in the database.
- The channel is renamed to
accepted-{playerName}. - A green approval embed is posted in the channel, tagging the applicant and showing the reviewer's name.
- A 🗑️ Delete Channel button appears so staff can manually clean up the channel when ready.
- The applicant receives a DM notification with the approval details (including staff notes, if provided).
- If an Approved Role is configured, it is automatically assigned to the applicant.
- A log entry is posted to the recruitment log channel.
🗑️ Approve & Delete
Who can use it: Members with the configured Staff Role only.
This button approves the application and automatically deletes the channel 10 seconds later. It is ideal for fast-tracking applicants when no further discussion is needed in the channel.
- The application is marked as approved.
- A green approval embed is posted with a countdown notice ("this channel will be deleted in 10 seconds").
- The applicant receives a DM notification.
- If an Approved Role is configured, it is automatically assigned to the applicant.
- A log entry is posted to the recruitment log channel.
- After 10 seconds, the channel is permanently deleted.
❌ Reject
Who can use it: Members with the configured Staff Role only.
Clicking Reject opens a modal where the staff member must provide a rejection reason (required field). After submitting:
- The application is marked as rejected.
- A red rejection embed is posted in the channel showing the reason.
- The applicant receives a DM notification with the rejection reason.
- A log entry is posted to the recruitment log channel.
- After 10 seconds, the channel is automatically deleted.
🚫 Cancel Application
Who can use it: The applicant only (the player who submitted the application).
Staff members cannot use this button — it belongs exclusively to the applicant. Clicking it opens a modal where they can optionally explain why they are withdrawing. After submitting:
- The application is marked as cancelled.
- A cancellation embed is posted in the channel.
- A log entry is posted to the recruitment log channel.
- After 10 seconds, the channel is automatically deleted.
🗑️ Delete Channel (post-approval)
Who can use it: Members with the configured Staff Role.
This button only appears after an application is approved using the regular Approve button (not Approve & Delete). It lets staff manually delete the channel once they are done with onboarding or follow-up conversation. The channel is deleted immediately with no countdown.
Managing Active Requests (Dashboard)
The bottom section of the Recruitment dashboard page shows a table of all currently open applications for your server. Each row displays:
- Applicant's Discord username
- Albion Online player name
- Application category
- Selected in-game role
- Application submission date
- A Close Request button
Clicking Close Request from the dashboard performs a full closure of the application: it marks the request as closed in the database and deletes the associated Discord channel. Use this as an administrative override when the request needs to be cleared without going through the in-channel buttons (e.g., the bot lost access to the channel, or the channel was already manually deleted).
Log Channel
When a Recruitment Log Channel is configured, the bot automatically posts a structured embed every time one of the following events occurs:
| Event | Embed color | Key information logged |
|---|---|---|
| New application submitted | 🔵 Blue | Applicant, player name, category, role, date, channel link, Kill Fame (if found in API) |
| Application approved | 🟢 Green | Applicant, player name, category, role, approved by, approval date, staff notes |
| Application approved & deleted | 🟢 Green | Same as above + note about channel deletion |
| Application rejected | 🔴 Red | Applicant, player name, category, role, rejected by, rejection date, rejection reason |
| Application cancelled | 🟠 Orange | Applicant, player name, category, cancellation date, channel, reason |
Full Flow Summary
| Status | Meaning | Channel exists? | Action buttons active? |
|---|---|---|---|
| Open | Application submitted, waiting for staff review | ✅ Yes | ✅ Yes — all 4 buttons |
| Approved | Staff approved the application | ✅ Yes (renamed to accepted-…) |
Only 🗑️ Delete Channel |
| Rejected | Staff rejected the application | ❌ No (deleted after 10s) | — |
| Cancelled | Applicant withdrew their own request | ❌ No (deleted after 10s) | — |
| Closed | Manually closed via the web dashboard | ❌ No (deleted by dashboard action) | — |
Troubleshooting
| Problem | Likely cause | Solution |
|---|---|---|
| Recruitment embed has no buttons | No categories have been added | Add at least one category in the dashboard, then re-send the embed |
| Buttons don't respond / "System not configured" | The recruitment system is disabled or not saved | Go to Basic Settings and make sure Enable Recruitment System is toggled on, then save |
| Channel not created after form submission | Bot lacks Manage Channels permission, or the Discord category ID is wrong | Make sure the bot has Manage Channels and Manage Roles permissions server-wide. Verify the Discord Category ID in each recruitment category |
| Approve / Reject buttons say "No permission" | The acting user does not have the configured staff role | Assign the staff role to the user, or update the Staff Role in Channel Settings |
| Kill Fame check fails for a valid player | Albion Online API did not return data (player not found or API delay) | Ask the player to try again later, or temporarily lower the minimum Kill Fame while the API syncs |
| Player cannot re-apply after rejection | Application is stuck in "open" status (channel was manually deleted without using the buttons) | Use the Close Request button in the dashboard to properly close the lingering record |
| Applicant did not receive a DM | The applicant has DMs from server members disabled (common Discord privacy setting) | No action needed — the result is still visible inside the recruitment channel. You may inform the applicant directly in the channel |
| Verification website links are broken | URL does not contain the {playerName} placeholder, or the player's name has special characters |
Edit the website URL in the dashboard to include {playerName} in the correct position. Special characters in player names are URL-encoded automatically by the bot |