Skip to main content

Overview

Aphonos uses hardcoded Discord role IDs for various functionality including Fandom wiki role synchronization, edit count milestones, and special role assignments. All role IDs are defined in src/utils/roleConstants.ts.
Role IDs are hardcoded for the ALTER EGO Wiki Discord server. If you’re self-hosting, you’ll need to update these IDs to match your server’s roles.

Fandom Wiki Roles

These roles correspond to Fandom wiki permission groups and are automatically assigned when users link their wiki accounts:
const FANDOM_ROLE_MAP = {
  threadmoderator: "1366509892386553866",
  "content-moderator": "1366510432168185926",
  sysop: "1366509321340588162",
  bureaucrat: "1366507366681673920"
}
Role NameRole IDFandom Permission Level
Thread Moderator1366509892386553866Thread moderator permissions on wiki
Content Moderator1366510432168185926Content moderator permissions on wiki
Sysop (Admin)1366509321340588162Administrator permissions on wiki
Bureaucrat1366507366681673920Bureaucrat permissions on wiki

Primary Roles

Linked Role

LINKED_ROLE_ID = "1384535350621241466"
Assigned to users who have successfully linked their Discord account with their Fandom wiki account.

Top Contributors

TOP_CONTRIBUTORS_ROLE_ID = "1380538701309808700"
Assigned to users recognized as top contributors to the wiki.

Staff Role

STAFF_ROLE_ID = "1396337681159557233"
General staff role for wiki/server staff members.

Edit Count Milestone Roles

These roles are awarded based on user edit counts on the wiki:
const EDIT_COUNT_ROLES = {
  EDITS_250: "1387921308611772469",
  EDITS_1000: "1397063382552809613"
}
MilestoneRole IDRequirement
250 Edits1387921308611772469User has made 250+ edits
1,000 Edits1397063382552809613User has made 1,000+ edits

Wiki Sync Roles

Special roles that are synchronized from the wiki or awarded for specific achievements:
const WIKI_SYNC_ROLES = {
  BOT: "1380026086238326935",
  ACTIVITY_WINNER: "1397058327367782565",
  PARADOXUM: "1387813722172686526",
  AE_STAFF: "1387459107375677490",
  CONTENT_CREATOR: "1390585342624665680",
  FIRST_VICTIM: "1396336120069095465",
  SERVER_BOOSTER: "1387661205816217633",
  DICTATOR: "1366507966932455524",
  INTERWIKI_STAFF: "1460002677382709328"
}
Role NameRole IDDescription
Bot1380026086238326935Bot accounts
Activity Winner1397058327367782565Winners of activity competitions
Paradoxum1387813722172686526Special recognition role
AE Staff1387459107375677490ALTER EGO Wiki staff
Content Creator1390585342624665680Content creators for the wiki
First Victim1396336120069095465Special early supporter role
Server Booster1387661205816217633Discord server boosters
Dictator1366507966932455524Highest permission level
Interwiki Staff1460002677382709328Staff members managing multiple wikis

External Wiki Roles

Tower Defense Simulator Wiki Staff

TDS_WIKI_STAFF = "827531372120768513"
Role ID for Tower Defense Simulator Wiki staff members.

Finding Role IDs in Discord

To get role IDs from your Discord server:
  1. Enable Developer Mode in Discord:
    • User Settings > Advanced > Developer Mode
  2. Right-click any role in:
    • Server Settings > Roles, or
    • A user’s profile showing their roles
  3. Click Copy ID
After updating role IDs in src/utils/roleConstants.ts, you must rebuild the bot with npm run build and restart it for changes to take effect.

Usage in Code

Role IDs are imported and used throughout the codebase:
import { 
  FANDOM_ROLE_MAP, 
  LINKED_ROLE_ID, 
  EDIT_COUNT_ROLES,
  WIKI_SYNC_ROLES 
} from './utils/roleConstants.js';

Build docs developers (and LLMs) love