Comments (13)
"При установки"
как это понимать?
В коде установке хука этого нет. Проверка заголовка есть в вызове -
Line 133 in 41f809e
from viber-bot-php.
Просмотрите этот раздел:
https://github.com/Bogdaan/viber-bot-php/blob/master/docs/first-steps.md#setup-webhook
Этот код можно запустить как через cli так и cgi
from viber-bot-php.
$viberBot = new Client([
'token' => $this->viber_token,
]);
$viberBot->setWebhook($url);
вот тут срабатывает эта ошибка.
Как я понял, viber сам отправляет запрос на вх, когда его устанавливаешь.
И вот при этом запросе, вылетает ошибка.
Но, если установить этот вх, то бот работает нормально. (но что бы установить этот вх, сама страница вх должна отдавать 200 код)
from viber-bot-php.
Похоже вы неправильно понимаете схему взаимодействия.
- вы устанавливаете webhook (вызов api) с адресом http://x.xx/x
- viber запоминает этот адрес
- в дальнейшем viber будет присылать уведомление на адрес http://x.xx/x (на этом адресе НЕ нужно вызывать api которое снова устанавливает webhook - это бессмыслица)
from viber-bot-php.
Once a set_webhook request is sent Viber will send a callback to the webhook to check its availability and return a response to the user.
Сам viber тоже отправляет запрос при установке webhook.
from viber-bot-php.
и в вебхуке я не устанавливаю его опять )
from viber-bot-php.
Тогда я не понимаю в чем именно у вас возникли сложности.
Если при вызове set_webhook - то какие?
Если при использовании кода бота - то вероятно вы некорректно установили url
from viber-bot-php.
У меня есть 2 экшена.
1ый - установка вебкух
2ой - сам вебхук
Код 1ого:
$viberBot = new Client([
'token' => $this->viber_token,
]);
``
$viberBot->setWebhook($url);
экшн вебхука:
$bot = new Bot(['token' => $apiKey]);
$bot
->onConversation(function ($event) use ($bot, $botSender, $log) {
$log->info('onConversation '. var_export($event, true));
// this event fires if user open chat, you can return "welcome message"
// to user, but you can't send more messages!
return (new \Viber\Api\Message\Text())
->setSender($botSender)
->setText("Can i help you?");
})
->onText('|.*|s', function ($event) use ($bot, $botSender, $log) {
$log->info('onText '. var_export($event, true));
// .* - match any symbols
$bot->getClient()->sendMessage(
(new \Viber\Api\Message\Text())
->setSender($botSender)
->setReceiver($event->getSender()->getId())
->setText("HI!")
);
})
->on(function ($event) {
return true; // match all
}, function ($event) use ($log) {
$log->info('Other event: '. var_export($event, true));
})
->run();
Вот при вызове 1ого экшена, выдает ошибку
from viber-bot-php.
if ($bot) {
$log->warning('Actual sign: '. $bot->getSignHeaderValue());
$log->warning('Actual body: '. $bot->getInputBody());
}
This lines of code gives me this error, but when I remover this line it works, also PHP version 7 need this script to work..
I dont know I did it correctly or not.
from viber-bot-php.
Извиняюсь что врываюсь,
таким способом вебхук не снимается
$result = $client->setWebhook('');
#10
Invalid webhook url:
from viber-bot-php.
if (!empty($_GET['sig']) && empty($_SERVER['HTTP_X_VIBER_CONTENT_SIGNATURE'])) { $_SERVER['HTTP_X_VIBER_CONTENT_SIGNATURE'] = $_GET['sig']; }
в вебхук
from viber-bot-php.
@Alimgulov thanks, fixed in https://github.com/Bogdaan/viber-bot-php/tree/0.0.5
from viber-bot-php.
Добрый день Богдан! Когда пытаюсь запустить ваш bot-plus.php то тоже получаю следующую ошибку
[2018-11-23 09:24:43] bot.WARNING: Exception: Signature header not found [] []
Который ссылается в файл Bot.php где есть :
public function getSignHeaderValue()
{
$signature = '';
if (isset($_SERVER['HTTP_X_VIBER_CONTENT_SIGNATURE'])) {
$signature = $_SERVER['HTTP_X_VIBER_CONTENT_SIGNATURE'];
} elseif (isset($_GET['sig'])) {
$signature = $_GET['sig'];
}
if (empty($signature)) {
throw new \RuntimeException('Signature header not found', 1);
}
return $_SERVER[$headerName];
}
Как быть в данной ситуации ? Помогите пожалуйста.
from viber-bot-php.
Related Issues (20)
- Отправка сообщений на почту
- Обновление зависимостей HOT 6
- Uncaught exception 'RuntimeException' with message 'Signature header not found'
- При нажатии на кнопку ее текст выводиться в чате HOT 1
- onConversation() dont send welcome message. HOT 1
- How to send one message to several people?
- Не работает setInputFieldState HOT 2
- Как добавить значение из массива в кнопки для вайбер бота HOT 1
- viber
- Как обрабатывать нажатие на кнопки?
- Misspelled Failure event classsproperty dsc
- Как отправить сразу несколько изображений!??
- Ссылка на телефон в сообщении
- [Viber Bug] Web hook URL query parameters
- Подскажите как отследить отписку? HOT 4
- There is a problem with return types while extending Bot class
- Перенос бота HOT 1
- Не подключает файлы autoload
- Как удалить старый вебхук
- java.util.concurrent.TimeoutException
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from viber-bot-php.