Download Velocity Carbon Discord — Minecraft Mods — MetaMods

Velocity Carbon Discord

Active

Downloads

5

Last update

1 year ago

Versions

1.7.2 — 1.21.1
Server

Velocity Carbon Discord

Bridge for integrating Carbon chat channels with the Discord platform.

To use this plugin, Carbon must be installed on the proxy server. If you use Carbon on your backend servers, please utilize DiscordSRV compatibility.

Key Features

  • Flexible configuration settings
  • Message delivery via webhooks or bot
  • Display of player count in bot status
  • Mentioning Discord users from in-game
  • Responding to in-game messages from Discord
  • Support for separate chat channel mappings (e.g., separate channel for global chat and staff chat)
  • Customizable Minecraft avatar display
  • Display of Discord attachments in-game
  • Status messages on server startup and shutdown, as well as player connection, disconnection, or server switching
  • Formatting of Xaero's Minimap shared waypoints in Discord

Installation

  1. Create a Discord bot application
  2. Enable SERVER MEMBERS INTENT and MESSAGE CONTENT INTENT options in the Privileged Gateway Intents section
  3. Go to the OAuth2 tab and copy the CLIENT ID
  4. Create an invitation link for your new bot
  5. Enable permissions: View Channels, Send Messages, and Read Message History
  6. Paste the copied CLIENT ID into the appropriate field
  7. Follow the generated link to add the bot to your Discord server
  8. On the Bot tab, copy the bot token (you may need to click Reset Token)
  9. Install the plugin on the server, start the server to generate configuration, and stop it
  10. Open the plugin configuration files at plugins/velocitycarbondiscord/config.yaml
  11. Replace TOKEN with the previously copied bot token
  12. Configure channel mapping by specifying Carbon and Discord channel identifiers
  13. Set additional configuration parameters as desired
  14. Start the server

Configuration

Default configuration generated on startup:

discord:
   token: 'TOKEN'
   # Available placeholders: <username>
   messages:
      # Additional placeholders: <displayname> <message>
      chat_message: '<username>: <message>'
      # Additional placeholders: <server>
      join_message: '<username> joined <server>'
      leave_message: '<username> left <server>'
      # Additional placeholders: N/A
      disconnect_message: '<username> was disconnected'
      # Additional placeholders: <server>
      disconnect_server_message: '<username> was disconnected from <server>'
      # Additional placeholders: <previous_server> <server>
      server_switch_message: '<username> moved from <previous_server> to <server>'
      # Available placeholders: N/A
      shutdown_message: 'Proxy shutting down'
      start_message: 'Ready for connections'
      # Additional placeholders: <displayname> <title> <description>
      advancement_defaultmessage: "<username> has just earned the achievement [<title>]** (<description>)_"
      advancement_challengemessage: "<username> has completed the challenge [<title>]** (<description>)_"
      advancement_goalmessage: "<username> has reached the goal [<title>]** (<description>)_"
      advancement_taskmessage: "<username> has made the advancement [<title>]** (<description>)_"
      # Additional placeholders: <displayname> <message>
      death_message: "<message>"
   webhook:
      # Available placeholders: <displayname> <username> <uuid>
      avatar_url: 'https://crafatar.com/renders/head/&lt;uuid&gt;?overlay'
      username: '<username>'
      # Available placeholders: <message>
      message: '<message>'
   show_bot_messages: false
   show_attachments_ingame: true
   show_activity: true
   # Available placeholders: <amount>
   activity_text: 'with <amount> players online'
   enable_mentions: true
   enable_everyone_and_here: false
   prefer_webhook: true
# Available placeholders: <message> <nickname> <role_color> <username>
minecraft:
   # Additional placeholders: <attachments> <discord_format> <reply_format> <username_format>
   format: '<discord_format> <reply_format><username_format> <dark_gray>» <reset><message><attachments>'
   discord_format: '<dark_gray>(<color:#7289da>discord<dark_gray>)<reset>'
   username_format: '<color:<role_color>><hover:show_text:<username>><nickname></hover><reset>'
   mention_format: '<color:<role_color>><underlined>@<nickname></underlined></color>'
   # Additional placeholders: <reply_message> <reply_nickname> <reply_role_color> <reply_url> <reply_username>
   reply_format: '<dark_gray><click:open_url:<reply_url>>[<color:#4abdff>←<color:<reply_role_color>><hover:show_text:<reply_username>><reply_nickname></hover><dark_gray>]</click><reset> '
   # Additional placeholders: <attachment_url>
   attachment_format: '<dark_gray><click:open_url:<attachment_url>>[<color:#4abdff>Attachment<dark_gray>]</click><reset>'
channels:
   -   name: 'carbon:global'
       enabled: true
       broadcast_events: true
       discord:
          webhook:
             url: 'WEBHOOK_URL'
          channel_id: 'CHANNEL_ID'
   -   name: 'carbon:staff'
       enabled: true
       minecraft:
          format: '<discord_format> <gray>✦</gray> <username_format> <dark_gray>» <aqua><message><attachments>'
       discord:
          webhook:
             url: 'WEBHOOK_URL'
          channel_id: 'CHANNEL_ID'

Credits

  • fooooooooooooooo: Creation of Velocity Discord, which inspired many features and this documentation
  • Draycia: Creator of Carbon, and provided significant assistance in resolving implementation details
Project members
Jarva

Jarva

Developer

Created: 7 Dec 2023

ID: 19890