78 lines
3.2 KiB
Markdown
78 lines
3.2 KiB
Markdown
# 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-формат, который использует сайт.
|