В тг бота ForbidenStarsBot нужно кидать отчёты по бэкапам: успешность, слом бэкапа, краткая сводка по бэкапам, команда для вывода информации о хранящихся бэкапах.
В тг бота ForbidenStarsBot нужно кидать отчёты по бэкапам: успешность, слом бэкапа, краткая сводка по бэкапам, команда для вывода информации о хранящихся бэкапах.
Решения владельца: сообщать и об успехе, и о сбое, каждое сообщение со сводкой; бот тот же (TELEGRAM_BOT_TOKEN, можно переопределить BACKUP_TELEGRAM_BOT_TOKEN).
fs-backup.sh: tg_send (curl, HTML, в чаты из BACKUP_TELEGRAM_CHAT_ID; сбой сети не ломает бэкап). После каждого run: «✅» со сводкой (игроки/партии, по репозиторию: снимок, число снимков, размер) или «❌» с причиной, включая ранние отказы. После verify: «🔍 OK» или «❌».
Бот: long polling getUpdates в том же контейнере. Команды /backups (хранящиеся снимки по репозиториям), /status, /help. Отвечает только чатам из белого списка; чужой chat id лишь пишется в лог (так владелец узнаёт свой при настройке). fs-backup telegram test — пробное сообщение.
entrypoint.sh запускает бота в фоне; в Dockerfile добавляется curl; в compose — BACKUP_TELEGRAM_BOT_TOKEN (по умолчанию токен приложения) и BACKUP_TELEGRAM_CHAT_ID.
Документация: .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`
Итог: каждый бэкап и проверка присылают отчёт (✅ со сводкой / ❌ с причиной, включая ранние отказы / 🔍). Бот отвечает владельцу на /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.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
В тг бота ForbidenStarsBot нужно кидать отчёты по бэкапам: успешность, слом бэкапа, краткая сводка по бэкапам, команда для вывода информации о хранящихся бэкапах.
План выполнения
Решения владельца: сообщать и об успехе, и о сбое, каждое сообщение со сводкой; бот тот же (
TELEGRAM_BOT_TOKEN, можно переопределитьBACKUP_TELEGRAM_BOT_TOKEN).fs-backup.sh:tg_send(curl, HTML, в чаты изBACKUP_TELEGRAM_CHAT_ID; сбой сети не ломает бэкап). После каждогоrun: «✅» со сводкой (игроки/партии, по репозиторию: снимок, число снимков, размер) или «❌» с причиной, включая ранние отказы. Послеverify: «🔍 OK» или «❌».getUpdatesв том же контейнере. Команды/backups(хранящиеся снимки по репозиториям),/status,/help. Отвечает только чатам из белого списка; чужой chat id лишь пишется в лог (так владелец узнаёт свой при настройке).fs-backup telegram test— пробное сообщение.entrypoint.shзапускает бота в фоне; вDockerfileдобавляетсяcurl; в compose —BACKUP_TELEGRAM_BOT_TOKEN(по умолчанию токен приложения) иBACKUP_TELEGRAM_CHAT_ID..env.example,deploy/backup/README.md(настройка, команды, неполадки, справочник).Критерии готовности
runиverify(успех, сбой, ранний отказ) дают по одному сообщению; недоступность Telegram бэкап не ломает./backupsи/statusотвечают только владельцу; безBACKUP_TELEGRAM_*всё как раньше.Ветка:
issue-83-backup-telegramотdevРабота выполнена, открыт 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.