Add travel border Telegram bot

This commit is contained in:
serhei_t
2026-06-17 10:53:15 +03:00
parent 1c3e3f0a28
commit ae6ce2d886
12 changed files with 572 additions and 0 deletions
+61
View File
@@ -0,0 +1,61 @@
# BotBoard Travel Border Bot
Telegram-бот `@vacation_sml_bot` для помощи в поездке через границу Беларусь-Польша.
## Возможности
- Показывает очереди по польскому направлению с официальной страницы ГПК.
- Выделяет самые свободные пункты пропуска по текущим числовым данным.
- Отвечает на вопросы через AI с учетом свежих данных очередей.
- Работает через long polling, поэтому не требует публичного webhook URL.
## Локальный запуск
1. Создай `.env` рядом с `.env.example`.
2. Заполни переменные окружения:
```env
TELEGRAM_BOT_TOKEN=...
BORDER_STATUS_URL=https://gpk.gov.by/situation-at-the-border/
AI_BASE_URL=https://uat1-www.a1.by:7443/aisearch
AI_API_KEY=...
AI_MODEL=gpt-5.5
REQUEST_TIMEOUT_SECONDS=20
```
3. Установи зависимости и запусти:
```bash
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python -m app.main
```
## Docker
```bash
docker compose up -d --build
docker compose logs -f botboard
```
## Portainer
1. Открой Portainer.
2. Создай новый Stack.
3. Используй содержимое `docker-compose.yml`.
4. В рабочую директорию/репозиторий стека добавь `.env` с реальными секретами.
5. Запусти Deploy the stack.
Секреты не коммитятся: `.env` исключен через `.gitignore` и `.dockerignore`.
## Команды бота
- `/start` - стартовое меню.
- `/poland` - очереди по Польше.
- `/best` - лучшие пункты по минимальной очереди.
- `/ai вопрос` - вопрос AI с учетом очередей.
## Важно
Данные берутся из открытого официального источника ГПК. Бот помогает ориентироваться, но не заменяет официальные правила, требования к документам, визам и решения пограничных служб.