AJAX + viberbot ...
AJAX + viberbot ...
Стоит у меня такая штука https://github.com/Bogdaan/viber-bot-php
В одном из OnText нужно выполнить ajax запрос на удаленный сервер и соответственно вернуть результат.
Может кто подскажет хоть в каком направлении копать то?
В одном из OnText нужно выполнить ajax запрос на удаленный сервер и соответственно вернуть результат.
Может кто подскажет хоть в каком направлении копать то?
Re: AJAX + viberbot ...
ajax - это в общем js-понятие. Может обычный запрос?wseomix писал(а): ↑2017.10.16, 15:16 Стоит у меня такая штука https://github.com/Bogdaan/viber-bot-php
В одном из OnText нужно выполнить ajax запрос на удаленный сервер и соответственно вернуть результат.
в сторону http-клиента
Re: AJAX + viberbot ...
Да вот понимаю, что js ... А есть возможность в пхп сэмулировать клиента с js?
Re: AJAX + viberbot ...
$ch = curl_init( $url );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // возвращает веб-страницу
curl_setopt($ch, CURLOPT_HEADER, 0); // не возвращает заголовки
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // переходит по редиректам
curl_setopt($ch, CURLOPT_ENCODING, ""); // обрабатывает все кодировки
curl_setopt($ch, CURLOPT_USERAGENT, $uagent); // useragent
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120); // таймаут соединения
curl_setopt($ch, CURLOPT_TIMEOUT, 120); // таймаут ответа
curl_setopt($ch, CURLOPT_MAXREDIRS, 10); // останавливаться после 10-ого редиректа
$content = curl_exec( $ch );
$err = curl_errno( $ch );
$errmsg = curl_error( $ch );
$header = curl_getinfo( $ch );
curl_close( $ch );
$header['errno'] = $err;
$header['errmsg'] = $errmsg;
$header['content'] = $content;
В общем все неплохо, есть прогресс, но отчего вайбербот по 3 ответа дает и в вайбер приходит 3 $content
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // возвращает веб-страницу
curl_setopt($ch, CURLOPT_HEADER, 0); // не возвращает заголовки
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // переходит по редиректам
curl_setopt($ch, CURLOPT_ENCODING, ""); // обрабатывает все кодировки
curl_setopt($ch, CURLOPT_USERAGENT, $uagent); // useragent
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120); // таймаут соединения
curl_setopt($ch, CURLOPT_TIMEOUT, 120); // таймаут ответа
curl_setopt($ch, CURLOPT_MAXREDIRS, 10); // останавливаться после 10-ого редиректа
$content = curl_exec( $ch );
$err = curl_errno( $ch );
$errmsg = curl_error( $ch );
$header = curl_getinfo( $ch );
curl_close( $ch );
$header['errno'] = $err;
$header['errmsg'] = $errmsg;
$header['content'] = $content;
В общем все неплохо, есть прогресс, но отчего вайбербот по 3 ответа дает и в вайбер приходит 3 $content
Re: AJAX + viberbot ...
потому что три раза отсылаете
Re: AJAX + viberbot ...
Код: Выделить всё
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // возвращает веб-страницу
curl_setopt($ch, CURLOPT_HEADER, 0); // не возвращает заголовки
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // переходит по редиректам
curl_setopt($ch, CURLOPT_ENCODING, ""); // обрабатывает все кодировки
curl_setopt($ch, CURLOPT_USERAGENT, $uagent); // useragent
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120); // таймаут соединения
curl_setopt($ch, CURLOPT_TIMEOUT, 120); // таймаут ответа
curl_setopt($ch, CURLOPT_MAXREDIRS, 10); // останавливаться после 10-ого редиректа
$content = curl_exec( $ch );
$header['errno'] = $err;
$header['errmsg'] = $errmsg;
$header['content'] = $content;
В общем все неплохо, есть прогресс, но отчего вайбербот по 3 ответа дает и в вайбер приходит 3 $content
Re: AJAX + viberbot ...
теперь 4 раза отсылаете
Re: AJAX + viberbot ...
Понимаете в чем штука - если я делаю так:
Код: Выделить всё
$ch = curl_init( $url );
return 'TEST';
exit();
Re: AJAX + viberbot ...
значит и сообщение вам приходит 1 раз. Либо вы неверной логикой пользуетесь.wseomix писал(а): ↑2017.10.27, 12:16Понимаете в чем штука - если я делаю так:Работает ровно 1 раз...Код: Выделить всё
$ch = curl_init( $url ); return 'TEST'; exit();