How to respond with the correct challenge value when trying to enable event subscriptions for laravel-botman on slack(尝试为slack上的laravel-Botman启用事件订阅时,如何使用正确的质询值进行响应)
问题描述
这不是我上一个问题的重复here。
我正在使用botman为我的Slak应用程序创建机器人。
使用Slak API,我已经创建了一个机器人,我想在我的laravel应用程序上连接到Botman。我正在使用ngrok通过隧道连接本地主机。我必须让我的网址首先得到验证,以便使用它的机器人。我尝试验证URL,但一直收到此错误。
检查ngrok终端显示正在接收来自SLACK的请求,状态为200。如果我使用POSTMAN重现请求,则返回挑战参数的值,在SLACK上我仍然得到错误。我使用此代码在我的路径文件中加载松弛驱动程序。您的请求URL未使用正确的质询值响应。更新您的URL以接收新请求和值。
<?php
use BotManBotManBotMan;
use BotManBotManBotManFactory;
use BotManDriversSlackSlackDriver;
use BotManBotManDriversDriverManager;
Route::match(['get', 'post'],'botman', function () {
DriverManager::loadDriver(SlackDriver::class);
// Create BotMan instance
$config = [
'slack' => [
'token' => '***slack Token***' //slack token
]
];
$botman = BotManFactory::create($config);
// give the bot something to listen for.
$botman->hears('hello', function (BotMan $bot) {
$bot->reply('Hello yourself.');
});
// start listening
$botman->listen();
});
我尝试使用url中的质询参数强制响应,就像在我的路由文件中一样。
$payload = $request->json();
if ($payload->get('type') === 'url_verification') {
return $payload->get('challenge');
}
SlackBot::hears('keyword', function (Bot $bot) {
$bot->respond('lets begin');
});
这仍然不起作用,我仍然收到URL didn’t respond with the correct challenge value...
错误。
我错过了什么?或者,我应该如何使用松弛驱动程序来使其使用正确的参数进行响应?Web驱动程序工作正常。
推荐答案
我注意到slack接口期待json格式的挑战值。
简单地做return $payload->get('challenge');
。不会起作用的。我将其更改为return response->json( return $payload->get('challenge'));
。这已验证了我的URL。
我不确定这是否是整个Botman松弛驱动程序的问题,我没有发现其他人也有同样的问题。
这篇关于尝试为slack上的laravel-Botman启用事件订阅时,如何使用正确的质询值进行响应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:尝试为slack上的laravel-Botman启用事件订阅时,如何
基础教程推荐
- 找不到类“AppHttpControllersDB",我也无法使用新模型 2022-01-01
- 在 yii2 中迁移时出现异常“找不到驱动程序" 2022-01-01
- 如何在 XAMPP 上启用 mysqli? 2021-01-01
- phpmyadmin 错误“#1062 - 密钥 1 的重复条目‘1’" 2022-01-01
- PHP 守护进程/worker 环境 2022-01-01
- HTTP 与 FTP 上传 2021-01-01
- 在 CakePHP 2.0 中使用 Html Helper 时未定义的变量 2021-01-01
- 使用 PDO 转义列名 2021-01-01
- Doctrine 2 - 在多对多关系中记录更改 2022-01-01
- 如何在 Symfony 和 Doctrine 中实现多对多和一对多? 2022-01-01