Files
gtnh-telegram/README.md
2026-04-24 04:27:58 +03:00

91 lines
1.9 KiB
Markdown

# GTNH Telegram Achievements
Small Forge 1.7.10 mod for GT New Horizons servers.
It listens for BetterQuesting completion events and sends a Telegram message
when a player completes a quest.
## Features
- BetterQuesting `QuestEvent.COMPLETED` listener
- asynchronous Telegram Bot API delivery
- configurable message template
- optional repeatable quest filtering
- clickable quest links for `gtnhquestsbook.top`
## Requirements
- Minecraft Forge `1.7.10-10.13.4.1614`
- GTNH BetterQuesting
- Java 8
- outbound HTTPS access to `https://api.telegram.org`
Builds should be done with Java 8. Old ForgeGradle/Groovy tooling does not run
reliably on modern JDKs.
## Build
```sh
./gradlew build
```
The mod jar is written to:
```text
build/libs/
```
## Install
Copy the built jar to the server `mods/` directory.
The config file is created on first start:
```text
config/gtnhtelegram.cfg
```
## Config
Minimal config:
```ini
enabled=true
sendQuestNotifications=true
sendRepeatableQuestNotifications=false
botToken=123456789:YOUR_BOT_TOKEN
chatId=-1001234567890
questMessageFormat=[Minecraft] {player} completed quest: {quest}
questBaseUrl=https://gtnhquestsbook.top/?id=
connectTimeoutMs=5000
readTimeoutMs=5000
```
Supported placeholders:
```text
{player}
{playerUuid}
{quest}
{questName}
{questId}
{questUrl}
{chapter}
```
`{quest}` is an HTML link. Messages are sent with Telegram `parse_mode=HTML`.
## Telegram
Create a bot with `@BotFather` and put the token in `botToken`.
To get `chatId`, send a message to the bot or group, then inspect the result of
Telegram Bot API `getUpdates`. Group and supergroup ids are usually negative.
## Notes
- The mod is compiled against the GTNH BetterQuesting dev jar in `libs/`.
- Only BetterQuesting quest completion events are sent.
- Hidden trigger quests with names starting with `Trigger:` are ignored.
- Telegram failures are logged and do not block the server tick thread.