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启用事件订阅时,如何使用正确的质询值进行响应


基础教程推荐
- 在PHP中根据W3C规范Unicode 2022-01-01
- Cron Jobs 调用带有变量的 PHP 脚本 2022-01-01
- 如何在 Laravel 5.3 注册中添加动态下拉列表列? 2021-01-01
- YouTube API v3 点赞视频,但计数器不增加 2022-01-01
- PHP 类:全局变量作为类中的属性 2021-01-01
- PHP PDO MySQL 查询 LIKE ->多个关键词 2021-01-01
- 如何替换eregi() 2022-01-01
- 有什么方法可以用编码 UTF-8 而不是 Unicode 返回 PHP`json_encode`? 2021-01-01
- 学说 dbal querybuilder 作为准备好的语句 2022-01-01
- 如何在 Laravel 中使用 React Router? 2022-01-01