Пользователь одного сайта попросил написать бота для него, который будет залогиниваться от его имени, принимать сообщения, и отправлять их.
Есть проблемка: на этом сайте нет API, значит всё придется делать через CURL.
Пишу код логина, после того как залогинюсь:
надо сразу написать код на то, чтобы он шел в личку, и парсил ПОСЛЕДНЕЕ СООБЩЕНИЕ, так? Если оно не от МЕНЯ, и оно не равно сообщению, какое было получено предыдущим, то игнорить его, а иначе писать код отправки сообщения со всеми POST полями, верно?
Скрипт с ботом загружу на страницу на хостинге, и она должна быть всегда включена у человека, и этот скрипт должен обновляться через AJAX каждые (допустим, 10 секунд).
Хочу уточнить, всё ли я правильно описал, прошу поправить в чём-то. А еще, если у кого-то есть может код на гитхабе создания бота, прошу поделиться. В гугле я встречал только "пишем чат-бота телеграм" и т.п., но с телеграмом работаем посредством их апи, а тут без апи приходится
Если между проверками пришло несколько сообщений, то вы спарсите только одно?
Какое тогда решение проблемы можете посоветовать? Получать все сообщения какие пришли в течение 10 сек?
почему не cron, например?
без понятия как кроном юзаться.
знаю, что это демон планировщик для Linux, у меня Windows, ничего путнего найти не смог. и крон вроде как не посекундный, а поминутный..
driverx18: 1. парсить пока не встретится сообщение, которое уже было.
2. Да, крон поминутный. Можно посекундный таймер при помощи sleep(10) сделать.
А в планировщике windows можно завести шесть задач с повторами каждую минуту, но с временем старта сдвинутым на 10 секунд.
Например старт в 00:00:00, 00:00:10, 00:00:20, 00:00:30, 00:00:40, 00:00:50
И повторять раз в минуту.
Stalker_RED: а почему так много хайпа вокруг крона? я же прав, что запускается он на линуксе, но далеко не у всех девелоперов линукс стоит
и можно какое либо инфо как запустить планировщик Windows для запуска PHP кода? Я очень давно хотел узнать подобную штуку (как запуск скрипта в какое-то время).
И вопрос еще: правильно ли, что возможен вариант как и AJAX, и cron? И почему крон предпочтительнее?
спасибо
Stalker_RED: и да, если даже у меня получится на моем ПК сделать все это с планировщиками, то что с хостингами? Как сделать так, чтобы на хостинге запускался скрипт в определенное время? (Речь о хостинге именно, не о VPS)
driverx18: Я бы не сказал, что вокруг крона есть какой-то хайп. Крону уже более тридцати лет и это, пожалуй, самый распространенный планировщик в мире unix и linux.
В командной строке виндовс есть at (at /? - чтобы посмотреть справку).
Чтобы увидеть графический интерфейс запустите "Планировщик заданий" (внезапно). Если английская версия, то Task Scheduler.
Ответ на вопрос про хостинг будет зависеть от того, что там на хостинге установлено и какие у вас есть права.
В отличие от вкладки-у-друга-на-компе-которая-дергает-через-ajax, вариант с кроном (или другим планировщиком) будет требовать на один сервер меньше. Это уменьшит количество точек отказа в разы. Надежность типа.
Не говоря уж о том, что этот дополнительный компьютер стоит каких-то денег, потребляет электричество и трафик и требует обслуживания.
Stalker_RED: спасибо большое, сейчас нагуглил инфы, и в планировщике винды смог выставить так, чтобы оно открывало bat файл, который в свою очередь открывает мой php файл. спасибо )) (правда оно раз в 5 минут выполняется, меньшего не дано)
вопрос больше, почему все говорят о кроне, а о виндовсовском умалчивают таскменеджере)
Для правильного вопроса надо знать половину ответа
Для начала лучше разобраться, как реализована работа с сообщениями на самом сайте. Какая технология используется - polling, long-polling, websocket, server-sent events? Исходя из этого уже надо анализировать трафик и строить своё аналогичное приложение.