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


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

А также выдай права боту на чтение сообщений, создание сообщений и использование webhooks
Типы сообщений
Любое модуль, который отправляет сообщение имеет свой тип, который можно найти тут
| Тип | Объяснение |
|---|---|
ADVANCEMENT | Сообщение от достижения |
DEATH | Сообщение от смерти |
MESSAGE_CHAT_GLOBAL | Сообщение из чата global |
MESSAGE_CHAT_LOCAL | Сообщение из чата local |
SERVER_ENABLE | Сообщение при включении сервера |
SERVER_DISABLE | Сообщение при выключении сервера |
| ... | ... |
Если у тебя есть собственные чаты со своими именами, например admin, тебе нужно будет указать MESSAGE_CHAT_ADMIN. Если есть свои собственные группы из модуля vanilla, тебе нужно указать их название
🌍 Локализация
Путьlocalizations → язык.yml → integration.discord
discord:
null_player: "Игрок не найден"
sender_name: "Discord"
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:
INTEGRATION_DISCORD:
content: "<fcolor:2><global_name> <fcolor:1>» <fcolor:4><reply><message>"
MESSAGE_CHAT_GLOBAL:
content: "<final_message>"discord:
null_player: "This player does not exist"
sender_name: "Discord"
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:
INTEGRATION_DISCORD:
content: "<fcolor:2><global_name> <fcolor:1>» <fcolor:4><reply><message>"
MESSAGE_CHAT_GLOBAL:
content: "<final_message>"null_player
Сообщение, если введённый игрок через custom_command не найден
sender_name
Название отправителя (самой интеграции), которое будет использовано, например, в другой интеграции для плейсхолдеров
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: ""
webhook_name: "<player>"
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
ignore_all_bots: true
ignore_all_webhooks: true
token: ""
proxy:
type: "DIRECT"
host: "127.0.0.1"
port: 1080
user: ""
password: ""
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:
INTEGRATION_DISCORD:
- "123456"
MESSAGE_CHAT_GLOBAL:
- "123456"
destination:
type: "CHAT"
sound:
enable: falseenable
Включает или выключает работоспособность модуля
- Перед включением, вставь токен бота Discord
- После включения, ЖЕЛАТЕЛЬНО перезагрузить сервер, иначе плагин может вызвать зависание
ignore_all_bots
Если включено, то любые сообщения пользователей, которые являются ботами, будут игнорироваться. Иначе будут игнорироваться только собственные сообщения от текущего бота
ignore_all_webhooks
После отключения может возникнуть дублирование сообщений с другими плагинами, например с DiscordSRV
Если включено, то любые сообщения от Discord Webhook будут игнорироваться. Иначе будут игнорироваться только собственные Webhook сообщения
token
Токен дискорд бота для подключения. Можно использовать environment variables, например ${VALUE}
proxy
custom_command
Список кастомных комманд интеграции, ключом является название комманды и оно может быть любым. Комманды могут быть ТОЛЬКО информационными, на сервере они ничего не выполняют и не будут выполнять
| Параметр | Объяснение |
|---|---|
need_player | Проверять ли первый аргумент комманды на имя игрока, например !ping TheFaser |
aliases | Список псевдонимов для использования комманды |
custom_command:
tps:
need_player: false
aliases:
- "!tps"
- "!tickpersecond"Комманда, чтобы получить значение tps на сервере с помощью !tps или !tickpersecond. Не забудь сделать сообщение в локализации
presence

channel_info

message_channel
Список типов сообщений и ID каналов в 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 | Сообщение в правом верхнем углу (достижение) | Да |
sound
Проигрывание звука
🔐 Права
Путь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 | Доступно для НЕ операторов сервера |
sound
Право для использования звука
Последнее обновление
Редактировать на GitHub
FlectonePulse