GiftWatcher is a Telegram bot for tracking the release of official limited-edition Gifts in Telegram.
The bot monitors the appearance of new limited Gifts in real time and instantly purchase available gifts.
- Real-time monitoring of Telegram API for new Gifts
- Instant purchase of available gifts (if they are in stock)
- Filtering by gift rarity
- Support for multiple channels/chats for notifications
- Lightweight and reliable Go architecture
- Minimal resource consumption
The project is built with a focus on reliability and reaction speed:
- Polling / Webhook Telegram Bot API
- Internal cache, no unnecessary database queries
- Detailed logging system
- Go 1.23+
- Telegram Bot Token (with permissions to read messages and send messages)
Bash
git clone https://github.com/1ight181/TgGiftWatcher.git
cd TgGiftWatcher
# edit the config or set environment variables (default prefix: WATCHER)
go build -o watcher ./cmd/main
./watcher
Main parameters are set in the config.yaml file or via environment variables. Basic configuration:
YAML
bot:
token: "token"
host: "localhost"
port: "8443"
webhook_url: "https://example.example:14443/webhook"
is_webhook: false
password: "4444"
db:
dsn: "postgres://postgres:4444@localhost:5432/watcher?sslmode=disable"
migrations_path: "file://../migrations"
log:
should_log_to_file: true
file_directory: "logs"
file_name: "logs"
file_extension: "txt"
level: "info"
- /start — start working with the bot
- /help — show help information
- Web dashboard for managing subscriptions
- Notifications with gift image and characteristics
- Multilingual support
MIT License - Copyright (c) 2026 1ight181
Found a bug? — GitHub Issues
Email: danil.odinzov181@gmail.com