Flectone Logo FlectonePulse

Дискорд

Интеграция с Discord позволяет отправлять сообщения (Discord ↔ Minecraft) между сервером Minecraft и Discord сервером.

discord message minecraft message

Информация

Для корректной работы бота, включи три настройки для твоего бота в Discord Developer Portal

develop

А также выдай права боту на чтение сообщений, создание сообщений и использование webhooks

Типы сообщений

ТипПояснение
CHAT_GLOBALСообщение из чата global
CHAT_LOCALСообщение из чата local
AFKСообщение от действия afk
ADVANCEMENT Сообщение от достижения
DEATHСообщение от смерти
JOINСообщение, когда игрок зашёл на сервер
QUITСообщение, когда игрок вышел с сервера
FROM_DISCORD_TO_MINECRAFTСообщение из Discord в Minecraft
FROM_TWITCH_TO_MINECRAFTСообщение из Twitch в Minecraft
FROM_TELEGRAM_TO_MINECRAFTСообщение из Telegram в Minecraft
COMMAND_MEСообщение комманды /me
COMMAND_BALLСообщение комманды /ball
COMMAND_BANСообщение комманды /ban
COMMAND_BROADCASTСообщение комманды /broadcast
COMMAND_COINСообщение комманды /coin
COMMAND_DICEСообщение комманды /dice
COMMAND_DOСообщение комманды /do
COMMAND_HELPERСообщение комманды /helper
COMMAND_MUTEСообщение комманды /mute
COMMAND_POLL_CREATE_MESSAGEСообщение комманды /poll
COMMAND_SPYСлежка за игроками, которая отправляется в /spy
COMMAND_STREAMСообщение комманды /stream
COMMAND_TRANSLATETOСообщение комманды /translateto
COMMAND_TRYСообщение комманды /try
COMMAND_WARNСообщение комманды /warn
COMMAND_KICKСообщение комманды /kick
SERVER_ENABLEСообщение при включении сервера
SERVER_DISABLEСообщение при выключении сервера
Примечание

Если у тебя есть собственные чаты со своими именами, например admin, тебе нужно будет указать CHAT_ADMIN. Если есть свои собственные группы из модуля vanilla, тебе нужно указать их название

🌍Локализация

Путь localizations → язык.yml → integration.discord
discord:
  null_player: "Игрок не найден"
  format_reply: "<fcolor:4><hover:show_text:'<fcolor:4><reply_message>'>[Ответ на @<reply_user>]</hover> "
  custom_command:
    ping:
      content: "Пинг игрока <player> равен <replacement:ping>"
  info_channel:
    айди: "ТПС <replacement:tps>"
  message_channel:
    FROM_DISCORD_TO_MINECRAFT:
      content: "<fcolor:2><global_name> <fcolor:1>» <fcolor:4><reply><message>"
    CHAT_GLOBAL:
      content: "<final_message>"
discord:
  null_player: "This player does not exist"
  format_reply: "<fcolor:4><hover:show_text:'<fcolor:4><reply_message>'>[Reply to @<reply_user>]</hover> "
  custom_command:
    ping:
      content: "<player>'s ping is <replacement:ping>"
  info_channel:
    id: "TPS <replacement:tps>"
  message_channel:
    FROM_DISCORD_TO_MINECRAFT:
      content: "<fcolor:2><global_name> <fcolor:1>» <fcolor:4><reply><message>"
    CHAT_GLOBAL:
      content: "<final_message>"

null_player

Сообщение, если введённый игрок через custom_command не найден

format_reply

Формат сообщения для тега <reply>, когда сообщение является ответом на другое

custom_command

Список кастомных комманд интеграции, где ключом является название комманды, а значением её формат сообщения

Пример
custom_command:
  tps:
    content: "<tps>"

Комманда, чтобы получить значение tps на сервере. Не забудь сделать её в inegration.yml

Плейсхолдеры

Ты можешь использовать все плейсхолдеры, которые используются в начальном сообщении для майнкрафта

Например для сообщения о блокировке

Там есть плейсхолдер <reason>, значит я могу использовать <reason> внутри дискорд сообщений

Также есть плейсхолдеры, которые ТОЧНО будут заменяться в любом сообщении

  • <final_message> сообщение, отправленное в майнкрафт
  • <final_clear_message> сообщение, отправленное в майнкрафт без unicode-смайлов
  • <player> ник игрока, который отправил сообщение
  • <message> сырое сообщение, которое написал игрок
  • <plain_message> отформатированное сообщение, которое написал игрок
  • <reply> отформатированное сообщение-ответ, оно будет пустым, если основное сообщение не ответ
  • Очевидно, что все плейсхолдеры из PlaceholderAPI и FlectonePulse тоже будут работать

У сообщения, которое будет отправлено из Дискорда в Майнкрафт есть свои плейсхолдеры:

ПлейсхолдерЧто возвращает
<name>Глобальное имя участника в Discord
<global_name>Глобальное имя участника в Discord
<nickname>Никнейм участника в Discord
<display_name>Отображаемое имя участника в Discord
<user_name>Тег участника в Discord

info_channel

Список айди каналов и их названий, для отображения какой-нибудь информации, например TPS

message_channel

Список сообщений с их настройкой

Настройка сообщения

Информация

Если параметр пустой или он не написан, то он не будет использован в итоговом сообщении

content

Содержание сообщения discord content

webhook_avatar

Включение дискорд вебхука с аватаром игрока. Лучше всего использовать https://mc-heads.net/avatar/<skin>/32.png discord webhook

embed

Дискорд эмбед сообщение discord embed

color

Цвет embed сообщения

title

Название embed сообщения

url

Ссылка для embed сообщения

author

Автор embed сообщения

name

Название автора embed сообщения

url

Ссылка на автора embed сообщения

icon_url

Ссылка на аватарку автора embed сообщения. Если будешь менять на свою, то ссылка должна содержать <skin>

description

Описание embed сообщения

thumbnail

Маленькое изображение внутри embed сообщения

fields

Нижние поля внутри embed сообщения

name

Название поля внутри embed сообщения

value

Значение поля внутри embed сообщения

inline

Если включено, то поле будет расположен в столбик с другими полями

image

Главное изображение embed сообщения

timestamp

Если включено, то embed сообщение будет включать время создания

Нижняя часть embed сообщения

text

Текст в нижней части embed сообщения

icon_url

Изображение в нижней части embed сообщения

Информация

Сообщение со всеми параметрами discord

название_сообщения:
  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"

⚙️Настройка

Путь integration.yml → discord
discord:
  enable: false
  token: ""
  custom_command:
    ping:
      need_player: true
      aliases:
      - "!ping"
  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:
    - "123456"
    CHAT_GLOBAL:
    - "123456"
  destination:
    type: "CHAT"
  sound:
    enable: false

enable

Включает или выключает работоспособность модуля

Предупреждение
  • Перед включением, вставь токен бота Discord
  • После включения, ЖЕЛАТЕЛЬНО перезагрузить сервер, иначе плагин может вызвать зависание

token

Токен дискорд бота для подключения. Можно использовать environment variables, например ${VALUE}

custom_command

Список кастомных комманд интеграции, ключом является название комманды и оно может быть любым. Комманды могут быть ТОЛЬКО информационными, на сервере они ничего не выполняют и не будут выполнять

ПараметрПояснение
need_playerПроверять ли первый аргумент комманды на имя игрока, например !ping TheFaser
aliasesСписок псевдонимов для использования комманды
Пример
custom_command:
  tps:
    need_player: false
    aliases:
      - "!tps"
      - "!tickpersecond"

Комманда, чтобы получить значение tps на сервере с помощью !tps или !tickpersecond. Не забудь сделать сообщение в локализации

presence

discord presence

Настройка статуса бота

enable

Включает или выключает кастомный статус бота

status

РежимПояснение
UNKNOWN-
ONLINEВ сети
DO_NOT_DISTURBВ сети, с режимом не беспокоить
IDLEВ сети, но отошёл
INVISIBLEНевидимый
OFFLINEНе в сети

activity

Активность бота в дискорде

enable

Включает или выключает активность

type
ТипПояснение
UNKNOWN-
STREAMINGСтримит
LISTENINGСлушает
WATCHINGСмотрит
CUSTOM-
COMPETINGСоревнуется
name

Название активности

url

Ссылка на активности

channel_info

discord channel info

Настройка каналов с информацией

enable

Нужен ли канал информации

ticker

Обновление каждый раз в какой-то промежуток времени

Как использовать тикер?

Заменить false на true

Перезапустить FlectonePulse с помощью комманды /flectonepulse reload

Дополнительные параметры для настройки задержки появятся сами

enable

Нужно ли обновлять

period

Как часто в тиках нужно обновлять

message_channel

Список типов сообщений и ID каналов в Discord

Например я хочу, чтобы из Minecraft отправлялось сообщение комманды `/ban` в Discord

Копирую ID канала в дискорде 1286666844358316083

Прописываю COMMAND_BAN: "1286666844358316083"

message_channel:
  COMMAND_BAN: 
    - "1286666844358316083"

Локализацию можно не настраивать, по умолчанию сообщение будет отправляться с форматом <final_message>

destination

Куда будет отправлено сообщение

ТипПояснениеТребует дополнительной настройки?
ACTION_BARСообщение над инвентарём игрокаДа
BOSS_BARСообщение в верхней части экранаДа
BRANDСообщение в F3Нет
CHATСообщение в чатНет
TEXT_SCREENСообщение в любое место экранаДа
TITLEСообщение на весь экранДа
SUBTITLEСообщение на весь экран (нижняя строчка)Да
TAB_HEADERСообщение в ТАБ (сверху)Нет
TAB_FOOTERСообщение в ТАБ (снизу)Нет
TOASTСообщение в правом верхнем углу (достижение)Да

Чтобы это изменить, замени значение type: сюды и перезапусти FlectonePulse с помощью комманды /flectonepulse reload, дополнительные настройки появятся САМИ

Изменение

Заменить значение type: сюды

Перезапустить FlectonePulse с помощью комманды /flectonepulse reload

Дополнительные параметры для настройки задержки появятся сами

🔐Права

Путь permission.yml → integration.discord
discord:
  name: "flectonepulse.module.integration.discord"
  type: "TRUE"
  sound:
    name: "flectonepulse.module.integration.discord.sound"
    type: "TRUE"

name

Название права

type

Вид права

ВидОбъяснение
TRUEДоступно для любого игрока
FALSEНикому не доступно, должно быть выдано отдельно (например с помощью LuckPerms)
OPДоступно для операторов сервера
NOT_OPДоступно для НЕ операторов сервера

Последнее обновление

Редактировать на GitHub

На этой странице

Авторы страницы