Files
kvarta_project/docs/adr/0002-telegram-bot-as-admin-channel.md
T
nunuchek 4b880e7d9a docs: план реализации, глоссарий, ADR, журнал ошибок ИИ
План по итогам интервью (docs/plan.md), GLOSSARY.md, ADR о двух
сервисах и о боте как канале администрирования, docs/ai-log.md,
.gitignore для секретов, базы и артефактов.
2026-10-17 15:30:30 +03:00

1.9 KiB
Raw Blame History

Telegram-бот как канал администрирования

Менеджер видит заявки только в Telegram, а на сервере соседствуют чужие боевые сайты, поэтому всё администрирование — настройка тем (/setup), ежедневные бэкапы с копией администратору в личку, восстановление базы — делает процесс api через бота, который читает обновления long polling'ом. Ни cron на хосте, ни входящего webhook'а, ни админки: на сервере меняется только наш каталог и один конфиг nginx.

Considered Options

  • Cron на хосте + ручное восстановление по ssh — трогает общий crontab сервера, и восстановление требует доступа по ssh.
  • Webhook вместо polling — нужен публичный эндпоинт и секрет, а выигрыша при нашем трафике нет.
  • Отдельный скрипт tg:setup через getUpdates — конфликтует с polling работающего api, заменён командой /setup.

Consequences

  • У бота один поток обновлений: никакой другой процесс не должен вызывать getUpdates с этим токеном.
  • Если Telegram недоступен целиком, о сбоях узнаём только из docker-compose logs api.
  • Восстановление из копии удаляет заявки, пришедшие после неё; бот перечисляет их в подтверждении и сохраняет текущую базу как pre-restore.