Files
gtnh-telegram/README.md
2026-04-24 04:09:22 +03:00

3.2 KiB
Raw Blame History

GTNH Telegram Achievements

Forge-мод для Minecraft 1.7.10 / GTNH, который отправляет в Telegram сообщение, когда игрок завершает квест BetterQuesting.

Что делает

  • ловит завершение квестов BetterQuesting в GTNH через QuestEvent.COMPLETED;
  • формирует текст сообщения по шаблону;
  • отправляет уведомление в Telegram Bot API;
  • читает bot token и chat id из конфига.

Требования

  • Java 8
  • Gradle 4.4.1+
  • доступ сервера Minecraft к https://api.telegram.org

Важно:

  • Forge 1.7.10 обычно не собирается на современных JDK вроде Java 25. Для сборки и запуска dev-окружения используй именно Java 8.
  • В проекте используется форк ForgeGradle 1.2 от anatawa12, потому что он заметно практичнее для сборки старых 1.7.10-модов на современной инфраструктуре.

Сборка

Используй wrapper, который уже лежит в проекте:

./gradlew build

Готовый jar появится в build/libs/.

Настройка

После первого запуска мода будет создан файл:

config/gtnhtelegram.cfg

Заполни в нем:

enabled=true
sendQuestNotifications=true
sendRepeatableQuestNotifications=false
botToken=123456789:YOUR_BOT_TOKEN
chatId=-1001234567890
questMessageFormat=[Minecraft] {player} завершил квест: {quest}
questBaseUrl=https://gtnhquestsbook.top/?id=

Как получить botToken

  1. Открой Telegram и найди @BotFather.
  2. Выполни /newbot.
  3. Сохрани выданный токен.

Как получить chatId

  • Для личного чата удобно написать боту и получить chat_id через Bot API getUpdates.
  • Для группы добавь туда бота, отправь сообщение в группу и посмотри chat.id в ответе getUpdates.
  • У групп и супергрупп chat_id обычно отрицательный.

Проверка

  1. Собери мод.
  2. Положи jar в mods/.
  3. Запусти сервер или клиент с интегрированным сервером.
  4. Заверши любой квест BetterQuesting.
  5. Проверь, пришло ли сообщение в Telegram.

Ограничения

  • BetterQuesting-поддержка рассчитана на GTNH-форк BetterQuesting и собирается против BetterQuesting-3.7.15-GTNH-dev.jar.
  • Мод отправляет только события завершения квестов BetterQuesting.
  • {quest} в Telegram теперь подставляется как кликабельная HTML-ссылка на онлайн-квестбук, а сам id кодируется из BetterQuesting UUID в тот же base64-формат, который использует сайт.