Уведомление о бэкапах в тг боте #83

Closed
opened 2026-09-15 09:21:05 +03:00 by NotBigGhost · 2 comments
Owner

В тг бота ForbidenStarsBot нужно кидать отчёты по бэкапам: успешность, слом бэкапа, краткая сводка по бэкапам, команда для вывода информации о хранящихся бэкапах.

В тг бота ForbidenStarsBot нужно кидать отчёты по бэкапам: успешность, слом бэкапа, краткая сводка по бэкапам, команда для вывода информации о хранящихся бэкапах.
NotBigGhost added the Kind/Enhancement label 2026-09-15 09:21:05 +03:00
Agent self-assigned this 2026-09-19 02:21:53 +03:00
Agent added the
Reviewed
Confirmed
1
label 2026-09-19 02:21:54 +03:00
Collaborator

План выполнения

Решения владельца: сообщать и об успехе, и о сбое, каждое сообщение со сводкой; бот тот же (TELEGRAM_BOT_TOKEN, можно переопределить BACKUP_TELEGRAM_BOT_TOKEN).

  1. fs-backup.sh: tg_send (curl, HTML, в чаты из BACKUP_TELEGRAM_CHAT_ID; сбой сети не ломает бэкап). После каждого run: «✅» со сводкой (игроки/партии, по репозиторию: снимок, число снимков, размер) или «❌» с причиной, включая ранние отказы. После verify: «🔍 OK» или «❌».
  2. Бот: long polling getUpdates в том же контейнере. Команды /backups (хранящиеся снимки по репозиториям), /status, /help. Отвечает только чатам из белого списка; чужой chat id лишь пишется в лог (так владелец узнаёт свой при настройке). fs-backup telegram test — пробное сообщение.
  3. entrypoint.sh запускает бота в фоне; в Dockerfile добавляется curl; в compose — BACKUP_TELEGRAM_BOT_TOKEN (по умолчанию токен приложения) и BACKUP_TELEGRAM_CHAT_ID.
  4. Документация: .env.example, deploy/backup/README.md (настройка, команды, неполадки, справочник).

Критерии готовности

  • run и verify (успех, сбой, ранний отказ) дают по одному сообщению; недоступность Telegram бэкап не ломает.
  • /backups и /status отвечают только владельцу; без BACKUP_TELEGRAM_* всё как раньше.
  • Проверено локально: образ собран, фейковый Bot API получает ожидаемые сообщения.

Ветка: issue-83-backup-telegram от dev

## План выполнения Решения владельца: сообщать **и об успехе, и о сбое**, каждое сообщение со сводкой; бот **тот же** (`TELEGRAM_BOT_TOKEN`, можно переопределить `BACKUP_TELEGRAM_BOT_TOKEN`). 1. `fs-backup.sh`: `tg_send` (curl, HTML, в чаты из `BACKUP_TELEGRAM_CHAT_ID`; сбой сети не ломает бэкап). После каждого `run`: «✅» со сводкой (игроки/партии, по репозиторию: снимок, число снимков, размер) или «❌» с причиной, включая ранние отказы. После `verify`: «🔍 OK» или «❌». 2. Бот: long polling `getUpdates` в том же контейнере. Команды `/backups` (хранящиеся снимки по репозиториям), `/status`, `/help`. Отвечает **только** чатам из белого списка; чужой chat id лишь пишется в лог (так владелец узнаёт свой при настройке). `fs-backup telegram test` — пробное сообщение. 3. `entrypoint.sh` запускает бота в фоне; в `Dockerfile` добавляется `curl`; в compose — `BACKUP_TELEGRAM_BOT_TOKEN` (по умолчанию токен приложения) и `BACKUP_TELEGRAM_CHAT_ID`. 4. Документация: `.env.example`, `deploy/backup/README.md` (настройка, команды, неполадки, справочник). **Критерии готовности** - `run` и `verify` (успех, сбой, ранний отказ) дают по одному сообщению; недоступность Telegram бэкап не ломает. - `/backups` и `/status` отвечают только владельцу; без `BACKUP_TELEGRAM_*` всё как раньше. - Проверено локально: образ собран, фейковый Bot API получает ожидаемые сообщения. **Ветка:** `issue-83-backup-telegram` от `dev`
Agent added the
Status
In Review
label 2026-09-19 02:39:11 +03:00
Collaborator

Работа выполнена, открыт PR: #97

Итог: каждый бэкап и проверка присылают отчёт (✅ со сводкой / ❌ с причиной, включая ранние отказы / 🔍). Бот отвечает владельцу на /backups и /status, чужим — нет. Настройка: /start боту → fs-backup telegram chats → id в BACKUP_TELEGRAM_CHAT_ID → docker compose up -d backup → fs-backup telegram test.
Проверки: образ собран локально, все сценарии прогнаны против фейкового Bot API (успех, два вида сбоя, verify, бот с чужим чатом, недоступный Telegram, штатный entrypoint).
Статус: Status/In Review
Осталось за вами: мёрж PR, пересборка образов и настройка chat id на Pi.

Работа выполнена, открыт PR: https://gitea.arseniev.info/NotBigGhost/ForbiddenStarsApp/pulls/97 **Итог:** каждый бэкап и проверка присылают отчёт (✅ со сводкой / ❌ с причиной, включая ранние отказы / 🔍). Бот отвечает владельцу на `/backups` и `/status`, чужим — нет. Настройка: `/start` боту → `fs-backup telegram chats` → id в `BACKUP_TELEGRAM_CHAT_ID` → `docker compose up -d backup` → `fs-backup telegram test`. **Проверки:** образ собран локально, все сценарии прогнаны против фейкового Bot API (успех, два вида сбоя, verify, бот с чужим чатом, недоступный Telegram, штатный entrypoint). **Статус:** `Status/In Review` **Осталось за вами:** мёрж PR, пересборка образов и настройка chat id на Pi.
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: NotBigGhost/ForbiddenStarsApp#83