@Gonlif

Как лучше решить (PHP, VK API)?

Здравствуйте, хочу узнать ваше мнение как лучше решить данную проблему.
Есть написанный скрипт, который через vk api получает сообщение и ищет ответ в базе, после чего отправляет нужный ответ (грубо говоря типичный бот). Проблема в том, что скрипт лежит на хостинге и работает пока открыт страницей в браузере. Если его закрыть, следовательно? и не будут приниматься вопросы и создаваться ответы.
Постоянно открытый браузер со страницей- не выход, cron с этой задачей тоже не справиться т.к определенного времени нету, вопрос от пользователя может прийти в любой момент.
Как можно реализовать тот же скрипт, который работал бы постоянно?
  • Вопрос задан
  • 156 просмотров
Пригласить эксперта
Ответы на вопрос 1
neluzhin
@neluzhin
Я бы не сказал, что cron с этим не справится. На cron какие только велосипеды не писались, поэтому стоит попробовать.

Но давайте отбросим костыли и попробуем сначала все сделать по фэншую. Вы сообщения принимаете от пользователей в ЛС сообщества? Если да, то Callback API - ваш верный друг. Используя эту штуку, ВК сам будет сообщать POST-запросами вашему скрипту, когда вам написали в ЛС сообщества. А вы уже там сможете сразу текст для ответа подобрать и стандартными методами API ответить на него.

Если вы принимаете сообщения со страницы пользователя, то готовьтесь собирать велосипед из крона. По хорошему вам следует запускать 2 скрипта: первый с интервалом в ~5 секунд будет добавлять сообщения пользователей в базу данных, а второй с интервалом в секунду будет проверять эту базу данных и отвечать на эти сообщения. Для красоты можно это все через метод execute реализовать, чтобы хоть как-то обойти ограничение на 3 обращения к API в секунду.

UPD.
Также посмотрите на Long Poll. Сам никогда не работал с этой фичей, но, возможно, это то, что вам нужно.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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