Solifex Studios
Browse the wiki

Features

Chat sync

Two-way chat with real formatting, mentions, replies, emoji, and player-head avatars.

Module

modules.chatSync

Channel

channels.chatSync

Config

features.chatSync

Platform

All

Messages flow both ways between a Minecraft server and a Discord channel, translating colour codes to Markdown and back, resolving mentions, and carrying reply context.

How it looks in Discord

The type setting decides how synced messages appear:

TEXT
Plain messages from the bot.
WEBHOOK
Each message is posted as the player — their name and skin as the avatar. The most natural look, and the default recommendation.
EMBED
A rich card per message, fully designed in features.yml.
yamlfeatures.yml
chatSync:
  # TEXT, WEBHOOK (player name + avatar), or EMBED
  type: WEBHOOK
  # GROUP_NAME or PREFIX — what to show as the player's rank
  rankValue: GROUP_NAME
  # %uuid% or %name% is substituted per player
  webhookProfilePicture: 'https://mc-heads.net/avatar/%uuid%'
  useSkinsRestorer: false

Tip

For webhook avatars to use custom skins, enable useSkinsRestorer and install SkinsRestorer.

Behaviour

yamlfeatures.yml
chatSync:
  maxCharacters: 2000       # Max characters per synced message
  cooldown: 2               # Discord → MC cooldown, seconds (0 = off)
  blacklist:                # Phrases never synced to Discord
    - '@everyone'
    - '@here'
  usePrefix: false          # Only sync messages that start with a prefix
  prefix: '!'
  useChannels: false        # Route named chat channels to Discord channels
  channelIds: {}            # e.g. global: '123456789012345678'

usePrefix is handy alongside a chat plugin — only messages beginning with the prefix cross to Discord. useChannels maps named in-game channels (from VentureChat, Chatty, nChat…) to individual Discord channels.

Formatting

By default the plugin translates Markdown ↔ Minecraft colour codes, resolves mentions both ways, and shows reply context. Every part can be tuned:

translateMarkdowndefault: true
Convert **bold**/*italic*&l/&o. Direction split via discordToMinecraftMarkdown and minecraftToDiscordMarkdown.
legacyColorsdefault: true
Process legacy & codes (&a, &l, &x hex) in addition to MiniMessage.
translateMentionsdefault: true
Convert @username<@id>. Players can ping Discord users from in-game and vice versa.
emojiModedefault: SHORTCODE
UNICODE, SHORTCODE (:smile:), or BOTH.
enableReplySupportdefault: true
Shows a [Reply to @user] line when a Discord message replies to another.

Filters

Chat filters catch phrases before they sync. Each filter has a match type (REGEX, EXACT, CONTAINS) and an action (BLOCK, REPLACE, WARN). The default filter strips Discord invite links.

yamlfeatures.yml
chatSync:
  filters:
    - type: REGEX
      pattern: 'discord\.gg/[a-zA-Z0-9]+'
      action: REPLACE
      replacement: '[INVITE]'
      description: 'Discord invite links'