Presidents
The Presidents module manages the server president system: a single active president per guild, appointed and removed by administrators or designated roles. The president can issue themed decrees (General, Economic, Military, Diplomatic) and has authority over armory assignments.
See Commands for full command reference.
Enabling the Module
Enable the module
Dashboard → Your server → toggle Presidents
Configure the president role
Click Edit and select a Discord role to auto-assign to the active president
Set announcement channel
Choose where appointment announcements and decrees are posted
Configure decree channels (optional)
Set separate channels per decree type, or leave empty to use the default announcement channel
Save
Save changes
Configuration
| Option | Type | Default | Description |
|---|---|---|---|
role_id | string / null | null | Discord role auto-assigned to the president and removed on term end |
announcement_channel_id | string / null | null | Default channel for appointment announcements and decrees |
decree_channels | object | {} | Per-type channel overrides (general, economic, military, diplomatic) |
appoint_roles | string[] | [] | Role IDs whose members can appoint/remove the president |
use_moderation_roles | boolean | false | Use Moderation module's moderation_roles instead of appoint_roles |
decree_types | string[] | all 4 types | Available decree categories |
announcement_template | object | default template | Customizable embed template for appointment announcements |
decree_channels Structure
{
"general": "channel_id_or_null",
"economic": "channel_id_or_null",
"military": "channel_id_or_null",
"diplomatic": "channel_id_or_null"
}When a decree type has no specific channel configured, the decree falls back to announcement_channel_id.
Announcement Template
The appointment announcement uses a customizable template with placeholders:
| Placeholder | Replaced by |
|---|---|
{username} | New president's display name |
{user} | New president's mention |
{server_name} | Server name |
{former_user} | Former president's mention (empty if none) |
Template fields: title, body, field1_name, field1_value, field2_name, field2_value, footer.
Dashboard — Configuration
The Presidents edit panel contains:
- President Role — role dropdown for the auto-assigned role
- Announcement Channel — channel dropdown
- Decree Channels — separate dropdowns for each decree type
- Appoint Roles — multi-select or "Use Moderation Roles" checkbox
- Announcement Template — customizable embed fields with live preview
The panel uses the UnsavedBar — changes are not saved automatically. Click Save to save or Cancel to revert.
Commands
See Commands — Presidents for full details.
| Command | Description | Permission |
|---|---|---|
/president appoint | Appoint a new president (ends previous term) | Admin or appoint roles |
/president remove | Remove the current president | Admin or appoint roles |
/president info | View current president | Everyone |
/president history | View last 10 presidents | Everyone |
/president decree | Issue a presidential decree | Current president only |
Decree System
The /president decree command sends a themed embed based on type:
| Type | Emoji | Color | Purpose |
|---|---|---|---|
| General | 📜 | Gold (#F1C40F) | General announcements |
| Economic | 💰 | Green (#2ECC71) | Economy-related announcements |
| Military | ⚔️ | Red (#E74C3C) | Battle and war announcements |
| Diplomatic | 🕊️ | Blue (#3498DB) | Alliance and diplomacy announcements |
Each decree is sent to the appropriate channel (per-type or default announcement channel) and logged by the Logs module.
Term History
The /president history command shows up to 10 past presidents with:
- Name / mention
- Term start date
- Term end date (or "Active" for the current)
- Dates displayed as Discord timestamps
Logging
President actions are logged by Logs under the presidents category:
- President Appointed — who appointed, whom
- President Removed — who removed
- Decree Issued — decree type and content (truncated to 200 chars)
Integration
The Presidents module integrates with the Armory module — the president is recognized as an authorized manager for /armory assign and /armory clear.
Tips
Best Practices
- Create a dedicated "President" role with a distinctive color for clear visual identification
- Set
announcement_channel_idto a channel visible to all server members - Use separate
decree_channelsto keep decree types organized (e.g., #decrees-war for military, #decrees-trade for economic) - Use decrees for official game-related announcements like KE preparations, NAP changes, or rally calls
Single President Rule
Only one active president can exist per server at a time. Appointing a new president automatically ends the previous president's term and removes their role.
Permissions Required
The bot needs Manage Roles permission to assign and remove the president role. If the role is positioned higher than the bot's top role, role changes will fail silently.