discord_link_manifest
Configure Discord linking and role synchronization — misc entry.
Entry Information
| Property | Value |
|---|---|
| Entry ID | discord_link_manifest |
| Type | Misc |
| Color | Blue |
| Icon | mdi:discord |
Description
Manifest entry configuring how Discord linking behaves inside TypeWriter. The /{commandName} command (with its unlink subcommand) is registered through the engine's [CustomCommandEntry] pipeline, so it follows engine reloads without any reflection.
Fields
| Field | Type | Description |
|---|---|---|
commandName | String | Command players run to generate a link code; '<command> unlink' removes the link |
storage | Ref<DiscordLinkArtifactEntry> | Artifact entry used to persist link information |
webhook | WebhookSettings | Webhook used to post link instructions/confirmations |
bot | DiscordBotSettings | Discord Bot configuration for listening to codes and syncing roles |
verificationChannelId | String | Discord text channel ID where the bot listens for verification codes |
codeLength | Int | Number of characters for generated verification codes |
codeValidityMinutes | Long | Validity duration (in minutes) for generated codes |
autoOverwriteExistingLink | Boolean | Automatically overwrite existing links when a new code is confirmed |
notifyPermission | String | Permission required to receive link notifications (empty disables them) |
groupPermissionFormat | String | Permission checked per mapping to pick the player's group. {group} is replaced by the mapping's Minecraft group |
roleMappings | List<RoleMapping> | Mappings between Minecraft groups and Discord Role IDs |
onLinkTriggers | List<Ref<TriggerableEntry>> | Entries triggered for the player when their Discord link is confirmed |
messages | DiscordLinkMessages | Player facing messages, including menu text (placeholders: {code}, {duration}, {discord}, {player}) |
Usage Example
- entry: discord_link_manifest
name: "Configure Discord linking and role synchronization"
commandName: ""
storage: ""
webhook: ""
bot: ""
verificationChannelId: ""
codeLength: 0
codeValidityMinutes: 0
autoOverwriteExistingLink: false
notifyPermission: ""
groupPermissionFormat: ""
roleMappings: []
onLinkTriggers: []
messages: ""