@Digi3057

Как использовать одновременно django и pyTelegrambotAPI?

Проблема заключается в том, что сервер джанго стартует только при отсутствии участка кода с polling, иначе впадает в бесконечный цикл и не работает. При отсутствии строчки с polling сервер стартует нормально, бот присылает сообщение, но никакого взаимодействия не принимает, будь то callback_data кнопки или next_step_handler функции. Отдельно от сервера бота запустить не получается.
  • Вопрос задан
  • 228 просмотров
Пригласить эксперта
Ответы на вопрос 1
trapwalker
@trapwalker
Программист, энтузиаст
Дополню соседний ответ для ясности.
Не нужно городить монолит из совершенно разных сервисов.
Если боту не обязательно реагировать на появление новых уведомлений в БД очень быстро, то можно сделать чтобы бот просто читал с некоторой периодичностьб ту же БД, что прописана в джанго. Можно построить индекс по таймштампу события и вычитывать все, что позднее прошлой проверки. Это будет и быстро и эффективно.
Если реакция нужна очень быстрой, то лучше сделать очередь и применить pub\sub механизм. Бот подписывается на тред событий, а джанго пушит в него сообщения.
Вполне можно в этом качестве использовать, например, rabbitmq.

Если это просто односторонние уведомления, то, кстати, можно слать их прямо из кода на джанго через API. Но это если у бота нет интерактиности никакой с пользователем.
Ответ написан
Ваш ответ на вопрос

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

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