Flectone Logo FlectonePulse

Телеграм

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

telegram message 1 telegram message 2 minecraft message

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

ТипПояснение
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.telegram
telegram:
  null_player: "Игрок не найден"
  format_reply: "<fcolor:4><hover:show_text:'<fcolor:4><reply_message>'>[Ответ на @<reply_user>]</hover> "
  custom_command:
    id: "Айди чата: <id>"
    ping: "Пинг игрока <player> равен <replacement:ping>"
  info_channel:
    айди: "ТПС <replacement:tps>"
  message_channel:
    FROM_TELEGRAM_TO_MINECRAFT: "<fcolor:2><user_name> <fcolor:1>» <fcolor:4><reply><message>"
    CHAT_GLOBAL: "<final_message>"
telegram:
  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:
    id: "Channel id: <id>"
    ping: "<player>'s ping is <replacement:ping>"
  info_channel:
    id: "TPS <replacement:tps>"
  message_channel:
    FROM_TELEGRAM_TO_MINECRAFT: "<fcolor:2><user_name> <fcolor:1>» <fcolor:4><reply><message>"
    CHAT_GLOBAL: "<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>Тег пользователя в Telegram
<user_name>Тег пользователя в Telegram
<first_name>Имя пользователя в Telegram
<last_name>Фамилия пользователя в Telegram
<chat>Названия чата Telegram (откуда было отправлено сообщение)

info_channel

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

message_channel

Список сообщений с форматом итогового сообщения

ЕСЛИ ХОЧЕШЬ ДОБАВИТЬ ДРУГОЕ СООБЩЕНИЕ:

Возьми название из списка типы сообщений

Вставь в message_channel

название_сообщения: "<final_message>"

⚙️Настройка

Путь integration.yml → telegram
telegram:
  enable: false
  parse_mode: "NONE"
  token: ""
  custom_command:
    id:
      need_player: false
      aliases:
      - "!id"
    ping:
      need_player: true
      aliases:
      - "!ping"
  channel_info:
    enable: false
    ticker:
      enable: true
      period: 1200
  message_channel:
    FROM_TELEGRAM_TO_MINECRAFT:
    - "123456"
    CHAT_GLOBAL:
    - "123456"
  destination:
    type: "CHAT"
  sound:
    enable: false

enable

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

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

parse_mode

В каком режиме будет отправляться сообщение в телеграм

РежимЧто будет?
MARKDOWNСообщение будет отформатировано относительно устаревшего формата Markdown
MARKDOWN_V2Сообщение будет отформатировано относительно нового формата Markdown
HTMLСообщение будет отформатировано относительно формата HTML
NONEСообщение никак не будет отформатировано

token

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

custom_command

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

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

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

channel_info

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

enable

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

ticker

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

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

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

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

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

enable

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

period

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

message_channel

Список типов сообщений и айди чатов в Telegram

Например я хочу, чтобы из Minecraft отправлялось сообщение комманды `/ban` в Telegram
  1. Копирую айди чата, в которое нужно отправить сообщение (-1002341720267_49)

Если бот подключён и добавлен в канал, то можно использовать команду /id в телеграме, чтобы узнать айди канала

  1. Прописываю:
message_channel:
  COMMAND_BAN:
    - "-1002341720267_49"

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

Важно

Если ваш канал является Форумом (Топиком), то айди ГЛАВНОГО канала нужно указывать без _

  1. Айди моего главного канала (он всегда заканчивается на _1) это -1002341720267_1
  2. Значит вписывать нужно ТОЛЬКО -1002341720267

Для других чатов из форума это правило не действует и нужно вписывать ПОЛНЫЙ айди

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.telegram
telegram:
  name: "flectonepulse.module.integration.telegram"
  type: "TRUE"
  sound:
    name: "flectonepulse.module.integration.telegram.sound"
    type: "TRUE"

name

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

type

Вид права

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

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

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

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

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