Разрабатывая 4 года чат-боты мы в botcreators.ru столкнулись с задачей мониторить доступность чат-ботов в телеграм. Из задачи рождается продукт, про него сегодня и расскажу.
Как появилась идея продукта
С первого взгляда все просто, бот такое же веб-приложение как другие. Вроде бы, достаточно настроить веб-хук и пулить его любым сервисом мониторинга (например, UptimeRobot). Но не все так просто. Если бот запущен у вас на хостинге, можно сделать такое. Но если чат-бот запущен на конструкторе?
А многие наши чат-боты вообще запущенны в изолированных средах заказчика. По нашему опыту, единстенный способ гарантированно удостовериться в работоспособности чат-бота - отправить ему команду /start и получить ответ. Что и делает чат-бот для мониторинга.
Боты, что там может сломаться?
По опыту разработки кастомных чат-ботов можем зафиксировать вот такие сценарии, когда что-то пошло не так с чат-ботом:
нагрузка на сервер выросла и бот прилег;
с сервера где крутится бот стали недоступны сервера телеграм, и бот перестает работать;
аккаунт к которому был привязан бот удалили, а вместе с ним и удалился и бот;
чат-бот “отрезали” от внешнего мира при реконфигурации сети.
Может есть и другие сценарии, но даже в приведенных выше, автоматически узнать об инциденте крайне проблематично.
Кому это нужно?
Сервис для начала нам снял головную боль о том “не упал ли чат-бот”. До этого мы по чек-листу, раз в неделю обходили всех наших ботов и “руками” проверяли, все ли работает нормально.
Мы делали проект прежде всего для себя. Обкатали на своих проектах и выкатываем в открытое использование.
Сервис может пригодиться:
агентствам по разработке чат-ботов;
фрилансерам, делающим несложных ботов c хостингом у себя или у заказчиков;
маркетологам-энтузиастам использующим чат-ботов для тестирования гипотез.
Как работает сервис
Сервис комбинирует в себе два вида Telegram API.
Bot API - для построения чат-ботов;
классическое API для создания кастомных телеграмм-клиентов.
У классического API есть еще одно применение - UserBots.
Это те самые аккаунты, которые переодически спамят в личку с предложением записаться на курс.
Сама система состоит из телеграмм бота, где заводятся новые боты для мониторинга; набора юзер-ботов, которые обращаются к ботам и проверяют, работают ли они; и админки для управления и настройки cистемы.
Юзер-боты с заданной переодичностью обходят чат-ботов и отправляют им команду /start если бот молчит - значит бот упал, отсылаем алерт.
А сами пользуетесь своим продуктом?
Конечно, да. Мониторим 47 активных чат-ботов (своих и заказчиков). Уже есть первые позитивные итоги. Заказчик менял конфгурацию сети и “отрезал” от нее сервер чат-бота. Мы об этом узнали через пару минут и до того, как клиенту начали жаловаться пользователи.
Да и в целом, боты это не только автоворонки. С набором популярности на них возлагается все больше ответственности и они уже способны заменять мобильные приложения.
А если Телеграм упадет?
На это повлиять мы, к сожалению, не можем, вместе с телеграм упадет и этот сервис. Но Телеграмм, к счастью работает последнее время как часы.
Сам чат-бот: https://t.me/monitoring_for_bots_bot
Стабильной работы всем вашим чат-ботам!
Saturnych
Если бот свой, то опрашивать его юзерботами – это как стучать по голове, чтобы проверить, не болит ли она.
bokovakhmad Автор
а есть другой достоверный способ убедиться, что бот работает?