RoodyProxy v2.1.0 is outSee what’s new →
RoodyProxy

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: /link gives a code, and on Discord you type /link <code>.
  • From Discord: /link with no code gives one (only who asks sees it), and in the game you type /link <code>.
  • Codes expire after code-minutes minutes and work on any proxy of the network.
  • Checking: /linked says which Discord account you are linked with and how many accounts are linked on the network. With roodyproxy.link.check, /linked <player> or /linked <Discord id> says it about someone else. On Discord, /linked [user|player] (with anyone-can-check: false, admins only).
  • Unlinking: /unlink in the game or on Discord, if allow-unlink lets players do it. With roodyproxy.link.admin, /unlink <player|Discord id> unlinks someone else; on Discord, admins (Manage Server) with /unlink user: or player:. 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).