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

78 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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, который уже лежит в проекте:
```bash
./gradlew build
```
Готовый jar появится в `build/libs/`.
## Настройка
После первого запуска мода будет создан файл:
```text
config/gtnhtelegram.cfg
```
Заполни в нем:
```ini
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-формат, который использует сайт.