Linking Discord accounts
modules.linking links each player's Minecraft account with their Discord account. It needs the discord module (on this proxy or another one of the network) and goes on in every proxy.
- From the game:
/linkgives a code, and on Discord you type/link <code>. - From Discord:
/linkwith no code gives one (only who asks sees it), and in the game you type/link <code>. - Codes expire after
code-minutesminutes and work on any proxy of the network. - Checking:
/linkedsays which Discord account you are linked with and how many accounts are linked on the network. Withroodyproxy.link.check,/linked <player>or/linked <Discord id>says it about someone else. On Discord,/linked [user|player](withanyone-can-check: false, admins only). - Unlinking:
/unlinkin the game or on Discord, ifallow-unlinklets players do it. Withroodyproxy.link.admin,/unlink <player|Discord id>unlinks someone else; on Discord, admins (Manage Server) with/unlink user:orplayer:. The player is told.
Everything else is optional, in modules.linking:
| Setting | What it does |
|---|---|
discord.role |
A role given when linking and taken when unlinking. The bot needs "Manage Roles" and its role above that one. |
discord.nickname |
The Discord nickname becomes the Minecraft name (format, with {name} and {discord}). It follows name changes and goes away when unlinking; a nickname the player chose is left alone. Needs "Manage Nicknames". |
discord.log-channel |
A channel where every link and unlink is posted. |
commands.first-link |
Commands only the first time: each Minecraft account and each Discord account count once, so unlinking and linking again (or with another account) gives nothing more. |
commands.link, commands.unlink |
Commands every time an account is linked or unlinked. |
Commands run in the proxy console, so they must be proxy commands: with LuckPerms on Velocity, for example lpv user {player} parent add linked in link and lpv user {player} parent remove linked in unlink. Variables: {player}, {uuid}, {discord} (Discord user name) and {discord_id}.
Without linking, the staff keep using /ticket link as before, so what they handle from Discord counts for their Minecraft name in /stafftop; the links you already had in discord/links.json move to MongoDB by themselves. The Discord command names are translated in the lang file (/vincular, /desvincular and /vinculado in Spanish).