Как перезапустить бота в телеграмме
Перейти к содержимому

Как перезапустить бота в телеграмме

  • автор:

Как перезапускать телеграмм бота на pythonanywhere каждые несколько часов?

Есть готовый телеграмм бот, когда запустил его на pythonanywhere, то заметил, что через некоторое время он перестает работать. Также пробовал subprocess.call([‘python’,’bot.py’]) , чтобы он перезапускал сам себя каждые 6 часов. К сожалению из-за этого возникают многие другие ошибки (бот не «слушает» сообщение или слушает, но не перезапускается). Есть ли какой-то способ, чтобы перезапустить консоль в файле?

from time import time, sleep import subprocess time_now = time() while True: print(time() - time_now) sleep(1) if time() - time_now > 3600*6: print(time() - time_now) subprocess.call(['python','bot.py']) 

Отслеживать

49.3k 17 17 золотых знаков 57 57 серебряных знаков 101 101 бронзовый знак

Как перезапустить бота в телеграмме

Боты на тестовом тарифе ограничены числом пользователей. Тестовый тариф работает только у пяти тестировщиков.

Назначьте себя и коллег тестировщиками, чтобы бот отвечал вам, либо оплатите подписку.

Узнать подробнее о тарифах и сравнить их вы можете на странице Тарифные планы.

В логике бота есть ошибки

В Telegram

  1. Попробуйте перезапустить бота через команду /start и повторить исполнение ошибки.
  2. Внимательно проверьте причину ошибки: возможно, вы зашли в тупик (пустой экран, нет перехода на другой экран) или не исполнился компонент экрана из-за некорректного исполнения (некорректные данные, незаполненные данные).

Если бот не перезапускается через /start:

  1. Проверьте настройки токена.
  2. Нажмите «Сохранить» в конструкторе. Если бот не «отвис», попробуйте ещё раз отправить команду /start.
  3. Если бот всё ещё не «отвис», дайте боту @Botfather команду /revoke, получите новый токен и измените токен в Настройках.

В Viber, ВКонтакте и Одноклассниках

  1. Добавьте событие Шаблон, исполняющее Стартовый экран. Отправьте боту команду.
  2. Если бот перезапустился, проверьте причину ошибки: возможно, вы зашли в тупик (пустой экран, нет перехода на другой экран) или не исполнился компонент экрана из-за некорректного исполнения (некорректные данные).

Если бот не перезапускается:

  1. Проверьте настройки подключения платформы.
  2. Нажмите «Сохранить» в конструкторе. Если бот не «отвис», попробуйте ещё раз отправить команду из события Шаблон.

Во всех платформах сразу

Если бот перестал работать во всех платформах, но при этом не отправлял никаких ошибок, попробуйте нажать на кнопку «Сохранить» в конструкторе.

Проверьте почту на наличие уведомлений: возможно, бот был заблокирован из-за превышения лимита запросов (это бывает, когда бот зациклился) или за нарушения Пользовательского соглашения.

Проверьте, чтобы бот был открыт только в одной вкладке браузера.

Если бот не начал работать после вышеупомянутых действий, напишите в чат поддержки или на sup@botmother.com. Обязательно в письме укажите почту, на которую зарегистрирован бот, и прикрепите скриншоты диалога в Telegram.

Не запускается бот, что делать?

Что делать если всё настроено верно, а бот не запускается? Почему бот не реагирует на команду «/start»?

Причины, по которым может не запускаться бот

Самые частые причины, из-за которых не запускается бот:

  1. Не настроен запуск бота
  2. Не установлен нужный мессенджер на устройство
  3. Не оплачен кабинет
  4. Пропало соединение с каналом
  5. Другие

Не настроен запуск бота

Подробно об этом рассказано в этом видео:

Если в редакторе бота при нажатии кнопки «тестировать» бот запускается, а по-другому — нет, то нужно настроить запуск бота.

Это наиболее частая ошибка новичков. Не достаточно подключить канал и создать бота. Необходимо настроить его запуск. Если просто открыть бота по прямой ссылке, или найти его в поиске и нажать «/start», бот может запуститься, только если настроена автоматизация приветствие при подписке, и это первый вход подписчика в чат с этим ботом.

Поэтому необходимо настроить запуск бота одним из стандартных способов. Наиболее популярным является минилендинг, все способы запуска перечислены в нашей статье «Запуск бота».

Не установлен нужный мессенджер на устройство

Если в браузере просто остается белое окно, и мессенджер не открылся – то вероятно не установлен нужный мессенджер на вашем устройстве.

Для запуска ботов в мессенджерах WhatsApp, Telegram и Viber, необходимо установить приложения на устройства, Веб-версии приложений не подойдут.

Установить мессенджеры можно по ссылкам ниже:

Не оплачен кабинет

Если после нажатия на кнопку «тестировать», мессенджер открылся, но сообщения не идут, возможно завершилась подписка. Нужно войти в раздел «Настройки — оплата», и проверить, всё ли в порядке с подпиской.

Все боты останавливают свою работу, если кабинет не оплачен. После оплаты, тем подписчикам, которые пытались запустить бота, пока кабинет был заблокирован, нужно будет повторно запускать бота.

Если кабинет не оплачен, в кабинете будет такое предупреждение:

Пропало соединение с каналом

Если с подпиской всё хорошо, то нужно перейти в раздел «Подписчики», найти там себя и проверить, приходят ли сообщения. Если сообщений нет, или вас вообще нет среди подписчиков – значит, пропало соединение с каналом.

В таком случае необходимо переподключить канал по этой инструкции.

Другие причины

Если переподключение не помогло, то возможно есть какие-то нестандартные причины, напишите нам в поддержку Bothelp.

Если вы не нашли ответ на свой вопрос, задайте его нам в чате внутри кабинета либо напишите на hello@bothelp.io ��

Получите 14 дней полного функционала платформы для создания рассылок, автоворонок и чат-ботов BotHelp.

Как перезапустить бота?

Теперь хочу осуществить полный перезапуск бота, по вводе команды в самом боте, т.е. полностью подгрузить все файлы с обработчиками команд по новой.

Есть у кого-нибудь идеи как это можно осуществить?

  • Вопрос задан более двух лет назад
  • 2064 просмотра

Комментировать
Решения вопроса 0
Ответы на вопрос 1

У меня бот запускается сервисом supervisored, он умеет перезапускать скрипт при полном падении, но завершить бота из функции у меня не вышло, процесс не завершается.

Пока использую для telegram (python-telegram-bot)*:

def cmd_restart_service(update, context): if update.message.from_user.id == 777777777: # id пользователя import subprocess update.message.reply_text("будет исполнено. ") subprocess.run("sudo supervisorctl restart mybotname".split())

И нет мне за это чести 🙂
* Внешние команды перезапуска и сама такая возможность зависит от операцинной системы/сервиса/служб/настроек, где запущен бот.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *