Задать вопрос
@plyshk1n2k

Возможна ли автономная работа бота?

Всем привет у меня есть бот сообщества который управляет другими ботами(Страницами пользователей), Этот бот нужен просто чтобы запускать работу страниц для отправки сообщений пользователям в указанное время. И у меня есть проблема:
После того как пользователь настроил все параметры работы ботов, он должен запустить процесс работы ботов нажав на кнопку запустить. И вот тут начинаются проблемы: Боту нужно постоянно смотреть какое сейчас время, и если настало время которое указал пользователь для работы ботов нужно запускать этот процесс, после выполнения опять возвращаться к проверки текущего времени.
Я думал сделать цикл в который бот уходит после нажатия кнопки "Запустить", и там постоянно чекает текущее время, но тут возникла проблема если он заходит в этот цикл то не может принять команду "Остановить" от пользователя так как находится в цикле. Вот такая вот проблема, единственный путь решения проблемы вижу только в том чтобы сделать ручной запуск всех ботов. Типо чел нажимает запустить и боты делают свое дело и затем выдают отчет что закончили. Если использовать этот метод то бот будет работать не совсем автономно.
Есть ли возможность реализовать автономную работу этого бота? Как логически это все выстроить? Я не прошу писать для меня код.
  • Вопрос задан
  • 387 просмотров
Подписаться 1 Средний 1 комментарий
Решения вопроса 1
coderisimo
@coderisimo
А что мешает создать cron job. Когда пользователь кликает "запустить" в базе задача становится активной. Когда бот запускается кроном, он смотрит все активные задачи в базе сверяет их со временем запуска и если время пришло - запускает задачу, если нет - завершает работу до следующего запуска.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
не может принять команду "Остановить" от пользователя так как находится в цикле


давным давно ничего другого не придумано, кроме как, находясь в цикле, опрашивать ввод
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы