Telegram-бот с привязкой аккаунта и вахтёром, который проверяет работу, а не «жив ли процесс»

Ссылка на работу
Задача: связать аккаунт на сайте с Telegram без пароля и ручного сопоставления, и рассылать уведомления адресно — с учётом уровня доступа. Что сделано: бот с командами и промежуточным слоем обработки — привязка аккаунта по одноразовому токену, форматирование события в сообщение, адресная рассылка по подписчикам с учётом тарифа и задержкой для бесплатного уровня, дежурные оповещения, настройки уведомлений в кабинете и отписка. Отдельно — вахтёр поллинга, и в нём смысл работы. Он проверяет не «запущен ли процесс», а две вещи, по которым видно, что бот действительно работает: свежесть последнего успешного ответа Telegram API (нет ответов дольше пяти минут — петля поллинга перезапускается) и свежесть выдаваемых данных (запись старше суток бот не отдаёт как «последнюю»). Живой процесс, который молча ничего не делает, — самый частый и самый дорогой вид отказа в таких контурах: снаружи всё зелёное, а сообщения не идут. Объём: 12 модулей, 2 набора автотестов — на вахтёра поллинга и на правило свежести выдачи. Бот-агент вынесен в отдельную службу с установщиком, вахтёром и ограничителем расхода. Стек: TypeScript, Telegram Bot API и MTProto, маршрут приёма на Next.js, тесты на node:test. Это внедрение в моей собственной инфраструктуре, а не работа по заказу внешнего клиента. Моя роль: постановка задачи, техническое задание, приёмка и эксплуатация.