Skip to content

Discord

Integration with Discord allows sending messages:

  • from Minecraft to Discord
  • from Discord to Minecraft

discord messageminecraft message

Message Types

TypeExplanation
CHAT_GLOBALglobal chat message
CHAT_LOCALlocal chat message
AFKMessage from the afk action
ADVANCEMENTAchievement message
DEATHDeath message
JOINMessage when a player joins the server
QUITMessage when a player leaves the server
FROM_DISCORD_TO_MINECRAFTMessage from Discord to Minecraft
FROM_TWITCH_TO_MINECRAFTMessage from Twitch to Minecraft
FROM_TELEGRAM_TO_MINECRAFTMessage from Telegram to Minecraft
COMMAND_MEMessage from the /me command
COMMAND_BALLMessage from the /ball command
COMMAND_BANMessage from the /ban command
COMMAND_BROADCASTMessage from the /broadcast command
COMMAND_COINMessage from the /coin command
COMMAND_DICEMessage from the /dice command
COMMAND_DOMessage from the /do command
COMMAND_HELPERMessage from the /helper command
COMMAND_MUTEMessage from the /mute command
COMMAND_POLL_CREATE_MESSAGEMessage from the /poll command
COMMAND_SPYPlayer messages tracking for /spy command
COMMAND_STREAMMessage from the /stream command
COMMAND_TRANSLATETOMessage from the /translateto command
COMMAND_TRYMessage from the /try command
COMMAND_WARNMessage from the /warn command
COMMAND_KICKMessage from the /kick command

NOTE

If you have custom chats with their own names, for example admin, you will need to specify CHAT_ADMIN. If you have custom groups from the vanilla module, you need to specify their name

🌍 Localization

📂 Path localizations → locale.yml → integration.discord

⚖️ Default

yml
discord:
  for_minecraft: "<fcolor:2><name> <fcolor:1>» <fcolor:4><message>"
  info_channel:
    айди: "ТПС <tps>"
  message_channel:
    CHAT_GLOBAL:
      content: "<final_message>"
yml
discord:
  for_minecraft: "<fcolor:2><name> <fcolor:1>» <fcolor:4><message>"
  info_channel:
    id: "TPS <tps>"
  message_channel:
    CHAT_GLOBAL:
      content: "<final_message>"

Placeholders

You can use all placeholders used in the initial message for Minecraft

EXAMPLE FOR BAN MESSAGE

There is a <reason> placeholder, so I can use <reason> inside Discord messages

There are also placeholders that will DEFINITELY be replaced in any message

  • <final_message> message sent to Minecraft
  • <final_clear_message> message sent to Minecraft without unicode emojis
  • <player> nickname of the player who sent the message
  • <message> raw message written by the player
  • <plain_message> formatted message written by the player
  • Obviously, all placeholders from PlaceholderAPI and FlectonePulse will also work

for_minecraft

Format of the message that will be sent from Discord to Minecraft

info_channel

List of channel IDs and their names, for displaying some information, for example TPS

message_channel

List of messages with their settings

Message configuration

INFO

If a parameter is empty or not written, it will not be used in the final message

content

Message content discord content

webhook_avatar

Enable Discord webhook with player's avatar. Best to use https://mc-heads.net/avatar/<skin>/32.pngdiscord webhook

embed

Discord embed message discord embed

color

Color of the embed message

title

Title of the embed message

url

URL for the embed message

author

Author of the embed message

name

Name of the embed message author

url

URL of the embed message author

icon_url

URL of the embed message author's avatar. If you change it to your own, the URL must contain <skin>

description

Description of the embed message

thumbnail

Small image inside the embed message

fields

Bottom fields inside the embed message

name

Name of the field inside the embed message

value

Value of the field inside the embed message

inline

If enabled, the field will be placed in a column with other fields

image

Main image of the embed message

timestamp

If enabled, the embed message will include creation time

Bottom part of the embed message

text

Text in the bottom part of the embed message

icon_url

Image in the bottom part of the embed message

INFO

Message with all parameters discord

yaml
message_name:
  content: ""
  webhook_avatar: "https://mc-heads.net/avatar/<skin>/32.png"
  embed:
    color: ""
    title: ""
    url: ""
    author:
      name: ""
      url: ""
      icon-url: "https://mc-heads.net/avatar/<skin>/16.png"
    description: ""
    thumbnail: ""
    fields:
      - name: ""
        value: ""
        inline: false
    image: ""
    timestamp: true
    footer:
      text: ""
      icon-url: "https://mc-heads.net/avatar/<skin>/16.png"

⚙️ Setting

📂 Path integration.yml → discord

⚖️ Default

yml
discord:
  enable: false
  token: ""
  presence:
    enable: true
    status: "ONLINE"
    activity:
      enable: true
      type: "PLAYING"
      name: "FlectonePulse"
      url: "https://flectone.net/pulse/"
  channel_info:
    enable: false
    ticker:
      enable: true
      period: 1200
  message_channel:
    FROM_DISCORD_TO_MINECRAFT: ""
    CHAT_GLOBAL: ""
  destination:
    type: "CHAT"

enable

Enables or disables the functionality of the module

WARNING

  • Before enabling, insert the Discord bot token
  • After enabling, it's RECOMMENDED to restart the server, otherwise the plugin may cause freezing

token

Discord bot token for connection. You can use environment variables, for example ${VALUE}

presence

discord presence

Bot status configuration

enable

Enables or disables custom bot status

status

ModeExplanation
UNKNOWN-
ONLINEOnline
DO_NOT_DISTURBDo not disturb (Online)
IDLEOnline but idle
INVISIBLEInvisible
OFFLINEOffline

activity

Bot activity in Discord

enable

Enables or disables activity

type
TypeExplanation
UNKNOWN-
STREAMINGStreaming
LISTENINGListening
WATCHINGWatching
CUSTOM-
COMPETINGCompeting
name

Activity name

url

Activity URL

channel_info

discord channel info

Information channels configuration

enable

Whether information channel is needed

ticker

Updates every certain interval of time

HOW TO USE TICKER?

Change false to true and restart FlectonePulse using the /flectonepulse reload command. Additional ticker settings will appear AUTOMATICALLY

enable

Whether to update or not

period

How often in ticks it should update

message_channel

List of message types and channel IDs in Discord

For example I want messages from Minecraft command /ban to be sent to Discord

  1. Copy the Discord channel ID 1286666844358316083
  2. Write COMMAND_BAN: "1286666844358316083"
yaml
message-channel:
COMMAND_BAN: "1286666844358316083"

You don't need to configure localization, by default the message will be sent with the format <final_message>

destination

Where the message will be sent
TypeExplanationRequires additional configuration?
ACTION_BARMessage above the player's inventoryYes
BOSS_BARMessage at the top of the screenYes
BRANDMessage in F3No
CHATMessage in the chatNo
TITLEFull-screen messageYes
SUBTITLEFull-screen message (bottom line)Yes
TAB_HEADERMessage in TAB (top)No
TAB_FOOTERMessage in TAB (bottom)No
TOASTMessage in the top-right corner (achievement)Yes

Replace the value type: here and restart FlectonePulse using the /flectonepulse reload command. Additional settings will appear AUTOMATICALLY


If type is ACTION_BAR

yaml
destination:
  type: "ACTION_BAR"
  times:
    stay: 60

times

FieldExplanation
stayTime in ticks to hold the message

If type is BOSS_BAR

yaml
destination:
  type: "BOSS_BAR"
  duration: 100
  health: 1.0
  overlay: "PROGRESS"
  color: "BLUE"
  play-boos-music: false
  create-world-fog: false
  darken-screen: false

duration

Duration of the message display

health

How full the boss bar will be

overlay

TypeExplanation
PROGRESSSingle line
NOTCHED_6Divided into 6 parts
NOTCHED_10Divided into 10 parts
NOTCHED_12Divided into 12 parts
NOTCHED_20Divided into 20 parts

color

Display color

Type
PINK
BLUE
RED
GREEN
YELLOW
PURPLE
WHITE

play_boos_music

Whether music will play with the message

create_world_fog

Whether fog will appear with the message

darken_screen

Whether the screen will darken with the message


If type is TITLE (or SUBTITLE)

yaml
destination:
  type: "TITLE" (or "SUBTITLE")
  subtext: ""
  times:
    fade-in: 20
    stay: 60
    fade-out: 20

subtext

Message for the second part of the display. For example, if TITLE is selected, subtext will be displayed below it, and vice versa.

times

FieldExplanation
fade_inTime in ticks for the message to appear
stayTime in ticks to hold the message
fade_outTime in ticks for the message to disappear

If type is TOAST

yaml
destination:
  type: "TOAST"
  icon: "minecraft:diamond"
  style: "TASK"

icon

Achievement icon, which can be any Minecraft item (must specify the full path)

style

Achievement type (TASK regular, GOAL goal, CHALLENGE challenge)

🔐 Permissions

📂 Path permission.yml → integration.discord

⚖️ Default

yml
discord:
  name: "flectonepulse.module.integration.discord"
  type: "TRUE"

name

Permission name

type

Permission type

TypeExplanation
TRUEAvailable to any player
FALSENot available to anyone, must be granted separately (e.g., using LuckPerms)
OPAvailable to server operators
NOT_OPAvailable to not server operators