Пишу бота на PyTelegramBotApi . Запускаю его так bot.polling(none_stop=True, timeout=120) . Но не смотря на то, что none_stop=True , бот все-равно падает из-за иногда возникающих исключений (например TimeoutException или исключения связанные с работой бота). Как сделать так, чтобы он игнорировал все исключения и продолжал работать?
Ответы (1 шт):
Вот тут есть пример, который может помочь:
while True: try: log(m=’Bot running..’) bot.polling(none_stop=True, interval=2) # Предполагаю, что бот может мирно завершить работу, поэтому # даем выйти из цикла break except Exception as ex: log(m=’Error — <>’.format(str(ex))) log(m=’Restarting..’) bot.stop_polling() time.sleep(15) log(m=’Running again!’)
Т.е. при выбрасывании исключения, мы его ловим, логируем и через n-времени запускаем бота
Источник: husl.ru
Telegram bot — напоминалка через webHook на Java или скажи нет Google-календарю! Часть 1
4.0.0 org.springframework.boot spring-boot-starter-parent 2.5.0 ru.popov telegrambot 0.0.1-SNAPSHOT telegrambot Demo project for Spring Boot 1.8 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-data-jpa org.springframework.boot spring-boot-starter-test test org.telegram telegrambots-spring-boot-starter 5.2.0 org.projectlombok lombok 1.18.16 org.postgresql postgresql runtime org.springframework.boot spring-boot-maven-plugin
Все готово для написания нашего бота. Создадим класс TelegramBot. Название папок я писать не буду, можете посмотреть в структуре проекта выше.
БЕСПЛАТНЫЙ 24/7 ХОСТИНГ ДЛЯ БОТА ДИСКОРД! JavaScript + Python! .js + .py (ТаймКоды в описании)
Данная конфигурация настроена для работы с локальной базой данных, в последствии мы сделаем необходимые изменения. Замените botToken и username на свои. Не годится использовать данные из application.properties напрямую в приложении. Создадим из этих данных bean или класс обертку.
Никакой магии тут нет, при старте Spring создает нам объекты SetWebhook и TelegramBot. Создадим теперь точки входа наших сообщений:
Telegram сервер отправляет на зарегистрированный адрес webhook сообщения в формате JSON методом POST, наш контроллер их принимает и передает библиотеке telegram в виде объекта Update. Метод get я сделал просто так ) Теперь нам осталось реализовать какую-то логику обработки сообщений и ответа в классе TelegramFacade, я приведу его краткий код, чтобы уже можно было запускать приложение и дальше идти своим путем или перейти уже у deploy на Heroku, потом будет полная версия:
MyBot: Управление и уведомление в Telegram | Настройка
Совсем недавно я озадачился, как можно управлять MyBot на расстоянии, буквально с универсального пульта. Удаленный рабочий стол мне не подошел, так как для него нужно хорошее подключение к интернету, а вот управление через месседжер, самое то.
БЕСПЛАТНЫЙ ХОСТ ДИСКОРД БОТА 24/7 — Replit + Uptimerobot ! / Урок 3 — Постоянный онлайн бота
Помимо управления, конечно же основной функцией является отслеживание работоспособности бота. На данный момент MyBot, получил масштабное улучшение, переписав код программы и следить за ним теперь нужно на много больше. Так как большинство ботоводов используют выделенные сервера, например VPS, я даже инструкцию писал и заснял. Так вот, на этих серверах боты не так идеально работают, это ведь не полноценна машина и практически на это не рассчитана. Естественно за сервера нужно платить и не очень хотелось бы, чтобы бот простаивал и не использовал то время, за которое заплатил.
На данный момент я активно использую мессдежер, под названием Телеграм или Telegram, отличный или даже лучший способ обменом сообщений и не только. Что в нем такого интересного, вы скажете, да много все и именно его функционал. Телеграм поддерживает так называемых ботов, которые позволяют делать различные задачи, если вам интересно, то лучше поискать в гугле.
Так вот, при помощи бота мы и будет создавать уведомления, нам нужно будет придумать имя на которе будет приходить информация и от куда будет отдавать свои команда. Это достаточно все просто, по этому не думайте, что сделать это нереально. А если вы уже пользовались или пользуетесь Телеграмом, то вам еще проще будет.
- Все что нужно знать о ботах для Clash of Clans
- Все необходимое для бота MyBot
- Как использовать бота без компьютера
- Регистрируемся в Телеграме, для этого достаточно перейти по данной ссылке. Заметьте, если вы зарегистрированы, то просто введите свой телефон или проделайте всю манипуляцию ниже на своем устройстве.
- После ввода телефона, нам нужно активировать при помощи кода с смс (код также может прийти на ваше мобильное устройство в Телеграме)
- После чего вводим login, который будет отображаться в месседжере, либо вы сразу попадете на главное окно.
- HELP — Запрос, на список возможностей
- RESTART — Перезагрузка бота и эмулятора
- STOP — Остановка бота
- PAUSE — Пауза бота
- RESUME — Выход из паузы
- STATS — Запрос на статистику данных деревни
- LOG — Запрос на фал лога
- LASTRAID — Запрос на последний скриншот
- LASTRAIDTXT — Запрос на последнюю добычу
- SCREENSHOT — Запрос на скриншот (делается скриншот деревни)
- SCREENSHOTHD — Запрос на скриншот в высоком разрешении
- BUILDER — Запрос на статус строителей
- SHIELD — Запрос на статус щита
- RESETSTATS — Сбросить статистику деревени
- TROOPS — Запрос на статистику войск и заклинаний
- HALTATTACKON — Включить остановку атаки
- HALTATTACKOFF — Отключить остановку атаки
- HIBERNATE — Гибернация компьютера
- SHUTDOWN — Выключить компьютер
- STANDBY — Ожидание компьютера
Достаточно удобно получить скриншот последнего лута на автоматическом уровне, потому что я знаю, что бот находится онлайн. Также очень интересные возможности по запросу разной статистики, помогут вам определять, какая тактика лучше.
Источник: goldclan.ru