как лучше сделать с самого фреймворка?
Ты бы начал с того зачем это вообще нужно.
Заказ такси - создается заявка , затем проверяется этими запросами её состояние, и если состояние изменилось то бот в телеге пишет пользователю мол к вам подъедет такая то машина. Также работает и заказ через сайт, но они это на js видимо делают а мне надо для бота
Ну крон здесь не подойдëт, он запускается раз в минуту. Можно консольный скрипт с циклом while, да.
Спасибо) а параллельно такое может же выполняться у разных пользователей? Если параллельно 10-100 человек будут использовать? Есть подводные камни?
Я бы посоветовал присмотреться к вот этой штуке https://centrifugal.github.io/centrifugo/ Это standalone сервер для веб-сокетов. С его помощью можно в реал тайме увеодмлять клиента и бекенд об изменениях. Если статус заказа меняется через API вызов, то можно на Observer повесить, который будет это отслеживать и при изменении статуса отправлять уведомление на этот веб сокет сервер, а сервер в свою очередь сможет уведомить клиента (будь то фронт или что-то еще)
Бот какой?
Botman
Не работал с ним. Там есть Webhook?
Конечно! Вот в том месте где таксист обновляет статус, что принял заказ, надо там отправлять уведомление пользователю. Т.е. грубо говоря отправить гет запрос на указаный сайт вебхук с нужными параметрами (ид бота, сообщение, ид получателя, т.д)
Да но приложение для таксистов (они через мобильное) не связано с ботом никак, и возможности что-либо менять там нет( они лишь отправляют запрос на апи и меняют состояние заказа в бд. А бот должен из того же апи получать это состояние и если оно изменилось, т.е. водитель принял например заказ, бот пишет инфу о машине..
Ему отправить меседж надо, а не получить от пользователя, на сколько я понимаю
я не совсем понял - в чем проблема просто по апи юзеру кинуть запрос во время того как пришел запрос на изменения статуса заказа
Обсуждают сегодня