Modules (Cogs)

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

OptionTypeDefaultDescription
role_idstring / nullnullDiscord role auto-assigned to the president and removed on term end
announcement_channel_idstring / nullnullDefault channel for appointment announcements and decrees
decree_channelsobject{}Per-type channel overrides (general, economic, military, diplomatic)
appoint_rolesstring[][]Role IDs whose members can appoint/remove the president
use_moderation_rolesbooleanfalseUse Moderation module's moderation_roles instead of appoint_roles
decree_typesstring[]all 4 typesAvailable decree categories
announcement_templateobjectdefault templateCustomizable 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:

PlaceholderReplaced 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.

CommandDescriptionPermission
/president appointAppoint a new president (ends previous term)Admin or appoint roles
/president removeRemove the current presidentAdmin or appoint roles
/president infoView current presidentEveryone
/president historyView last 10 presidentsEveryone
/president decreeIssue a presidential decreeCurrent president only

Decree System

The /president decree command sends a themed embed based on type:

TypeEmojiColorPurpose
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_id to a channel visible to all server members
  • Use separate decree_channels to 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.