Skip to main content

Presidents

The Presidents module manages the server president system: appointing, removing, issuing decrees, and history. The president is a special role — one active per server — with the ability to issue announcements (decrees) in various categories.

Enabling the Module

  1. Dashboard → Your server → toggle Presidents
  2. Click Edit and configure the president role, announcement channels
  3. Save changes

Configuration

OptionTypeDefaultDescription
role_idstring / nullnullDiscord president role ID (assigned automatically)
announcement_channel_idstring / nullnullPresidential announcements channel
decree_channelsobject{}Channels per decree type
appoint_roleslist[]Roles that can appoint the president
use_moderation_rolesbooleanfalseUse moderation roles instead of appoint_roles
decree_typeslist["general", "economic", "military", "diplomatic"]Available decree types

decree_channels Structure

{
"general": "channel_id_or_null",
"economic": "channel_id_or_null",
"military": "channel_id_or_null",
"diplomatic": "channel_id_or_null"
}

If a channel for a given type is not set, the decree goes to announcement_channel_id.

Dashboard — Configuration

The Presidents edit panel contains:

  • President Role — dropdown with server roles
  • Announcement Channel — dropdown with channels
  • Decree Channels — separate dropdowns for each decree type
  • Appoint Roles — multi-select or "Use Moderation Roles" checkbox

Commands

/president appoint

Appoints a new server president.

ParameterRequiredDescription
memberUser to appoint

Requirements: Administrator or a role from appoint_roles / moderation_roles.

Flow:

  1. Checks permissions
  2. Ends the current president's term (if one exists)
  3. Removes the president role from the old one
  4. Inserts a new record into the presidents table
  5. Assigns the president role to the new one
  6. Sends an announcement to announcement_channel_id
  7. Logs the appointment

/president remove

Removes the current president.

Requirements: Administrator or a role from appoint_roles.

Flow:

  1. Checks permissions
  2. Marks the record as is_active = FALSE with ended_at
  3. Removes the president role
  4. Logs the removal

/president info

Displays information about the current president (public embed).

Contains:

  • President mention
  • Term start date (relative timestamp)
  • Avatar

/president history

Displays president history (last 10).

Each entry contains:

  • Name/mention
  • Term start and end dates
  • Whether active

/president decree

Issues a presidential decree (current president only).

ParameterRequiredDescription
decree_typeType: General, Economic, Military, Diplomatic
messageDecree content

Decree types and colors:

TypeEmojiColor
General📜Gold (#F1C40F)
Economic💰Green (#2ECC71)
Military⚔️Red (#E74C3C)
Diplomatic🕊️Blue (#3498DB)

The decree is sent as an embed to the appropriate channel (per-type or default announcement).

Permissions

ActionWho can
Appoint/removeAdministrator, appoint_roles, moderation_roles (when enabled)
Issue decreesCurrent president only
View info/historyEveryone

Database

presidents table:

  • id — auto-increment
  • guild_id — server ID
  • user_id — president ID
  • started_at — appointment date
  • ended_at — term end date (null if active)
  • is_active — whether this is the current president

Logging

Actions logged by Logs under the presidents category:

  • 🎖️ President Appointed — who appointed, whom
  • 🚫 President Removed — who removed
  • 📜 Decree Issued — type and content (truncated)

Tips

Best practices
  • Create a dedicated "President" role with a distinctive color
  • Configure announcement_channel_id to a channel visible to everyone
  • Separate decree_channels allow organizing decrees thematically
  • Use decrees for official game-related announcements
info

Only one active president can exist per server. Appointing a new one automatically ends the previous one's term.