Comments 5
Цикл статей просто отменный! Практически, единственное русскоязычное руководство. Спасибо! Не подскажете, как вы реализуете мониторинг стабильности работы? Хочется дописать какую-то систему оповещений, которая будет делать рассылку, если бот вдруг упал, а в сам бот выводить сообщение о неисправности для пользователей. Вот только не пойму, как это лучше организовать. Засовывать весь скрипт на 1,5К строк в tryCatch, кажется плохой идеей)
Здравствуйте, на самом деле не обязательно весь код бота заворачивать в tryCatch(), достаточно завернуть именно сам пуллинг.
Из этого цикла статей я создал учебник, там немного больше информации, ответ на ваш вопрос можно найти в его последней главе - https://bookdown.org/selesnow/build_telegram_bot_using_r/-6.html .
Я заворачиваю пуллинг в tryCatch(), сохраняю в виде rds файла апдейт, который сбил бота с ног, отправляю уведомление о том что бот упал, и через source() опять автоматом его запускаю. Только при таком подходе всегда перед перезапуском в начале скрипта лучше ставить очистку очереди бота, т.к. иначе он постоянно будет падать:
updater <- Updater(token = bot_token("My Bot"))
# очищаем старые обновления
updater$bot$clean_updates()
Пишем telegram бота на языке R (часть 5): Управление правами пользователей бота