/link
Link your Discord account to your Fandom wiki account.Your username on Fandom (case-sensitive)
Linking Process
Discord Handle Setup
If Discord handle is not set or mismatched, users are directed to Special:VerifyUser:Role Mapping
Fandom groups are automatically mapped to Discord roles:Staff Roles
Staff Roles
sysop→ Alterministratorbureaucrat→ Bureaucratcontent-moderator→ Content Moderatorthreadmoderator→ Discussions Moderator
Contributor Roles
Contributor Roles
Top 5 weekly contributors automatically receive the Top Contributors role
Important Notes
The linking check is case-sensitive for usernames but case-insensitive for Discord handle matching.
/checklink
Check if a user is linked and synchronize their roles.User to check (defaults to command executor)
Functionality
- Linked Users
- Unlinked Users
For users with an existing link:
- Displays link information (Discord user, Fandom username, link date)
- Fetches current Fandom groups from MediaWiki API
- Synchronizes Discord roles based on groups
- Checks top contributor status
- Shows all granted/removed roles
Role Synchronization
- Grants roles for groups the user has
- Removes roles for groups the user no longer has
- Reports any failures (missing roles, permission errors)
Top Contributor Check
- Grants role if user is in top 5
- Shows current rank
- Removes role if no longer in top 5
Display Format
Embed shows:- Discord username and tag
- Fandom username
- Link timestamp
- Synchronized roles (with role mentions)
- Top contributor rank (if applicable)
- Fandom groups
- Any errors encountered
/syncroles
Manually synchronize all linked users’ roles.This command requires specific permissions. Check the role permissions system for access requirements.
Sync Process
Process Each User
For each linked user:
- Fetch current Fandom groups
- Update Discord roles
- Check top contributor status
- Log any errors
Implementation
Statistics Reported
- Linked Users Processed - Total users checked
- Roles Granted - New roles added
- Roles Removed - Outdated roles removed
- Errors Encountered - Failed operations
- Wiki Sync Status - Success/failure of wiki integration
Error Handling
Errors are logged and displayed in the response:/trivia
Fetch random trivia facts from wiki pages.Wiki to fetch trivia fromOptions:
- ALTER EGO (default)
- Tower Defense Simulator
Wiki Sources
- ALTER EGO
- Tower Defense Simulator
Source:
https://alter-ego.fandom.com/wiki/ALTERPEDIA/DYK?action=rawColor: #e61f24 (ALTER EGO red)Footer: “Verily, I have drawn forth this knowledge from the annals of ALTERPEDIA.”Trivia Format
Facts are stored in wiki pages using<option> tags:
Processing
Example Response
Error Handling
If trivia fetch fails:- Logs error to console
- Shows ephemeral error message
- Suggests trying again later
Trivia facts are randomly selected from all available options each time the command is used.
API Integration Details
MediaWiki API Queries
All wiki integration uses the MediaWiki Action API:Response Interfaces
Top Contributors API
Fetches weekly contribution data to determine top 5 contributors for role assignment./family
Manage family relationships and view family trees with visual rendering.Subcommands
tree
View a visual family tree diagram.The user whose family tree to view (defaults to yourself)
- User avatars
- Relationship lines
- Generational layout
- PNG image output
profile
View family relationships as a text list.The user whose family profile to view (defaults to yourself)
- Spouse (if married)
- Parents (if any)
- Children (if any)
- Total family member count
marry
Propose marriage to another user (requires mutual consent).The user you want to marry
- Neither user can already be married
- Both users must accept within 60 seconds
- Cannot marry yourself
- Cannot marry bots
divorce
Divorce your current spouse.Your spouse to divorce
- Must be married to the specified user
- Removes spouse relationship immediately
- No confirmation required
adopt
Adopt another user as your child (requires mutual consent).The user you want to adopt
- User cannot already have parents
- If you’re married, your spouse must also consent
- Both parties must accept within 60 seconds
- Cannot adopt yourself or bots
disown
Remove a parent-child relationship.The family member to disown (your child or your parent)
- Parents can disown children
- Children can disown parents
- Removes relationship immediately
- No confirmation required
Family Tree Renderer
Data Storage
Family relationships are stored in JSON files:- Each guild has separate family data
- Relationships persist across bot restarts
- Stored at
./family-data-{guildId}.json
The family system is entirely separate from Fandom wiki integration. It’s a fun social feature for server members.
Family relationships are server-specific. If a user is in multiple servers with the bot, they can have different families in each.