- Языки
- Русский
BTelegramService — это мощный и многофункциональный мост, который связывает ваш сервер Rust с мессенджером Telegram. Плагин позволяет синхронизировать игровой и Telegram чаты, отправлять уведомления о событиях на сервере, реализовать продвинутую систему жалоб с кнопками для администраторов и, что самое важное, оповещать игроков о рейдах на их базы в личные сообщения Telegram.
Плагин идеально подходит для сообществ, которые хотят оставаться на связи даже вне игры, и для администраторов, желающих иметь удобный инструмент модерации прямо в Telegram.
Основные функции
- Двусторонний обмен сообщениями: Игроки могут писать в чат игры, а сообщения будут транслироваться в Telegram, и наоборот.

- Форматирование сообщений: Поддержка цветов, эмодзи (конвертация в Rust-смайлы) и HTML-разметки в Telegram.
- Автоматическая очистка: Сообщения в Telegram можно настраивать на автоматическое удаление через заданное время.
- Отслеживание разрушений: Игроки получают уведомления в Telegram, когда их постройки (фундаменты, стены, шкафы и т.д.) атакуют.

- Гибкие настройки:
- Фильтрация по типу урона (пули, взрывы и др.).
- Игнорирование "соломенных" построек (twigs).
- Проверка на наличие шкафа (опционально).
- Чёрный/белый списки оружия.
- Кулдаун уведомлений: Защита от спама при частых атаках.
- Информация о рейде: В уведомлении указывается ник рейдера, координаты, тип структуры и ссылка на Steam-профиль.
- Привязка Telegram-аккаунта: Игроки используют команду /tg в игре, получают код и отправляют его боту в личные сообщения.

- Уведомления о регистрации в чат: После успешной регистрации в Telegram-чат отправляется уведомление с именем игрока, SteamID и ссылкой на Telegram-профиль.
- Команды для обычных пользователей.

- Кнопки с ссылками: После регистрации бот может отправлять сообщение с кнопками (например, на сайт, Discord, VK и т.д.).

- Отключение уведомлений: Команда /tgoff в игре отключает уведомления о рейдах.
- Интеграция с внутриигровыми жалобами: Жалобы из игры (F7) отправляются в Telegram.

- Кнопки для админов: В сообщении о жалобе есть кнопки для быстрых действий:
- Настройка причин: Все причины настраиваются в конфиге (можно добавлять свои).
- Выполнение консольных команд: Админы могут выполнять команды сервера через / (например, /say Hello).

- Счётчик онлайн: Название темы в Telegram-чате автоматически обновляется с количеством игроков онлайн (например, "Чат сервера | онлайн 15").
- Запуск/выключение: При запуске и остановке сервера отправляются уведомления в Telegram.
- Настраиваемые тексты: Текст уведомлений можно полностью настроить в конфиге.
- Кэширование: Плагин использует кэширование для снижения нагрузки (кешируются проверки оружия, типы урона, кулдауны).
- Очереди сообщений: Сообщения в Telegram ставятся в очередь, чтобы избежать превышения лимитов API.
- Настройки скорости: Можно настроить интервалы опроса Telegram, задержки между запросами и т.д.
Как настроить BTelegramService с помощью команды /setting
📋 Предварительные требования
- Создайте бота в Telegram через @BotFather и получите его токен.
- Добавьте бота в вашу группу/канал и сделайте его администратором. Для работы с темами (Topics) это обязательно!
- Убедитесь, что плагин установлен на сервере и базовый токен прописан в конфиге (хотя бы примерно, чтобы бот мог ответить).
🚀 Пошаговая настройка через /setting
Шаг 1: Базовый конфиг и запуск плагина
- Загрузите плагин на сервер. Сгенерируется стандартный конфиг.
- Остановите сервер (или выгрузите плагин через oxide.unload BTelegramService).
- Откройте конфиг BTelegramService.json (находится в oxide/config/).
- Пропишите только самое главное:
- Найдите поле "Токен бота" и вставьте токен, который дал BotFather.
- В поле "ID группы" пока можете оставить -10000000000 или вписать ID вашей группы, если вы его уже знаете. Но для первого раза можно оставить как есть, команда /setting всё равно сработает.
- Сохраните конфиг.
- Запустите сервер (или загрузите плагин через oxide.load BTelegramService).
- Проверьте, что плагин загрузился без ошибок (в консоли должно быть сообщение об успешной инициализации и имени бота).
Шаг 2: Получаем данные через команду /setting
Теперь самое интересное. Команду /setting можно отправить двумя способами, в зависимости от того, куда вы хотите настроить плагин.Сценарий А: Настройка основного чата (группы) с темами
- Перейдите в нужную тему вашей Telegram-группы.
- Отправьте команду: /setting (просто сообщение с этим текстом).
- Бот ответит вам в эту же тему подробным сообщением, которое будет содержать всю необходимую информацию.
- Перейдите в ваш канал.
- Отправьте команду: /setting (как сообщение в канале).
- Бот ответит на это сообщение (как ответ) в том же канале.
Шаг 3: Анализируем ответ бота
Ответ бота будет выглядеть примерно так (данные вымышленные):text
⚙️ НАСТРОЙКИ ПОДКЛЮЧЕНИЯ
═══════════════════════════════
📌 Текущее расположение:
└ 📍 Название: <code>Мой лучший сервер Rust</code>
└ 🆔 ID: <code>-1001234567890</code>
└ 📋 Тип: Супергруппа
└ 🆔 ID темы: <code>12345</code>
👤 Информация о вас:
└ Имя: Иван Иванов
└ 🆔 Ваш ID: <code>987654321</code>
└ Статус: 👑 Администратор (или 👤 Пользователь)
═══════════════════════════════
⚠️ Теперь у вас есть все нужные параметры для заполнения в конфиге.
Что мы видим:
- ID: <code>-1001234567890</code> — Это ID группы (ChatId). Его нужно копировать целиком, вместе с минусом.
- ID темы: <code>12345</code> — Это ID темы (ThreadId). Именно в ней вы отправили команду.
- Тип: Супергруппа — Подтверждает, что это группа.
- Ваш ID: <code>987654321</code> — Ваш личный Telegram ID. Может пригодиться, чтобы добавить себя в администраторы плагина.
Шаг 4: Заполняем конфиг
Теперь, вооружившись этими данными, откройте конфиг плагина снова и заполните нужные секции.1. Основные настройки чата (Главные настройки бота и группы / Настройки чата в телеграмм)
Здесь всё просто:
- "Токен бота" — уже должен быть.
- "ID группы" — вставьте сюда -1001234567890.
- "ID темы" — вставьте сюда 12345.
- "Название темы" — как вы хотите назвать тему (бот будет обновлять её, добавляя онлайн).
"Главные настройки бота и группы": {
"Токен бота": "5678901234:AAHkTJy5d...",
"ID группы": -1001234567890,
// ...
},
"Настройки чата в телеграмм": {
"ID темы": 12345,
"Название темы": "Чат сервера",
"Счётчик онлайн в теме": true,
// ...
}
2. Настройка системы жалоб (если нужно)
Допустим, вы создали отдельную тему для жалоб (например, с ID темы 67890) или отдельный канал (например, с ID -1009876543210). Используя ответ от команды /setting, отправленной в том месте, вы легко заполните этот блок.
json
"Система жалоб": {
"Включить систему жалоб": true,
"ID темы для жалоб": 67890, // <-- ID темы для жалоб
"Отправить в другое место": false, // false, если это та же группа, но другая тема. true, если это канал/другая группа
// "Тип (group/channel)": "group", // если в другой группе или канале
// "ID группы/канала": -1009876543210, // если в канале
// "ID темы": 0, // если в канале
// ...
}
3. Настройка уведомлений о регистрации (если нужно)
Аналогично, если вы хотите получать уведомления о новых регистрациях в отдельное место, используйте данные оттуда.
json
"Уведомления о регистрации в чат": {
"Включить уведомления в чат": true,
"ID темы в чате (0 если нет темы)": 0, // <-- Например, 0, если это канал
"Отправить в другое место": true,
"Тип (group/channel)": "channel",
"ID группы/канала": -1009876543210, // <-- ID канала для уведомлений
"ID темы": 0
}
Шаг 5: Перезагружаем конфиг и наслаждаемся
После того как вы сохранили все изменения в конфиге, не обязательно перезагружать весь сервер или плагин жестко. Используйте плавную перезагрузку:- Откройте консоль сервера (Rcon).
- Введите команду: tg.reloadconfig
- Плагин применит новые настройки без остановки.
💡 Полезные советы
- Если вы не админ: Ответ бота покажет ваш статус как 👤 Пользователь. Это нормально. Добавьте свой Telegram ID (987654321) в админы через консоль сервера командой tg.addadmin 987654321. После этого у вас появятся права на выполнение команд /... в чате.
- Для каналов: Команда /setting, отправленная в канал, сработает как надо, и бот ответит на неё. В ответе не будет поля ID темы, что логично.
- Не копируйте лишнего: В ответе бота ID обернуты в теги. Копируйте только то, что внутри, например -1001234567890, без кавычек. В JSON-конфиге числа пишутся без кавычек.
