Skip to main content

Discord

The Discord Extension carries what leaves your server towards Discord and what comes back: account verification, chat relay, remote console, bug reports, and shop announcements. Every one of them posts through the same object — a webhook destination declared once and referenced everywhere.

Features

  • Webhook Destinations — Declare a channel once; every feature points at it by reference.
  • Discord Linking — Securely link Minecraft accounts with Discord IDs using verification codes.
    • Role Synchronization — Automatically sync Discord roles based on Minecraft permissions.
  • Bug Reporting — In-game GUI for submitting reports as embeds or forum threads.
  • Chat Synchronization — Bidirectional chat between Minecraft and Discord channels.
  • Shop Announcements — Purchases and sales posted to the channel each shop names, without the Shops extension knowing Discord exists.

Architecture

Entries

  • Webhook Definition — A Discord destination: URL, display name, avatar, permanent role mentions.
  • Discord Link — Configures bot tokens, verification channels, and role sync rules.
  • Bug Reporting — Defines report categories, GUI layout, and the destination that receives them.
  • Chat Sync — Settings for syncing Minecraft chat to specific Discord channels.
  • Console Channel — Configuration for the Discord-based remote console.
  • Shop Notifications — How a shop transaction reads once it reaches Discord.

Quick Start

  1. Add a webhook_definition entry and paste your Discord webhook URL into it.
  2. Add the manifest for the feature you want — discord_link_manifest, bugreport_manifest, chat_sync_manifest, console_channel_manifest — and point its destination field at the entry from step 1.

One destination can serve every feature: the URL is written once, and changing channel is one edit instead of four.

Commands

All commands are registered through the engine's command system and follow reloads automatically.

CommandDescriptionPermission
/discordlinkGenerate a verification code to link your Discord account (name configurable)(None)
/discordlink unlinkRemove the link between your Minecraft and Discord accounts(None)
/<custom>Opens the bug reporting GUI (command set in Bug Report Manifest)(None)
/<custom> mineList your own reports and their statuses(None)
/<custom> list [player]List recent reportsadminPermission
/<custom> status <id> <status>Move a report to another statusadminPermission
/<custom> delete <id>Delete a reportadminPermission

[!IMPORTANT] The extension was named Community until v0.1.0. Pages written before it are converted on first start: each inline webhook becomes a webhook_definition entry, and the manifests are repointed at it. A backup is taken beforehand, and the log asks you to run /typewriter reload once so the converted pages replace what is held in memory.

[!IMPORTANT] Since v0.8, /DiscordLink and /DiscordUnlink are replaced by /{commandName} and /{commandName} unlink (default discordlink, configurable in the Discord Link Manifest).

The bug report subcommands list/status/delete can also be exposed as Discord slash commands (discordCommands in the Bug Report Manifest), and channels can relay Discord messages back into Minecraft chat (discordToMinecraft in the Chat Sync Manifest).