[英]connecting slack to botman in laravel on localhost
这是我在 laravel 中的路由文件。 我将任何 url 与调用闭包的 /botman 匹配,该闭包为 botman 注册一个 slack 驱动程序并收听消息 hello。 在 slack 中,我尝试使用http://127.0.0.1:8000/botman
在事件订阅下设置Request URL
。 我收到"Your URL didn't respond with the value of the challenge parameter."
. 我错过了什么? 它在我的路线文件中吗? 或网址?
<?php
use BotMan\BotMan\BotMan;
use BotMan\BotMan\BotManFactory;
use BotMan\Drivers\Slack\SlackDriver;
use BotMan\BotMan\Drivers\DriverManager;
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();
});
您可以尝试使用 ngrok 创建到本地主机的隧道。 连接失败很可能是因为它需要一个外部端点。 因此,它也会出现错误 500。
有时,这些服务会在发送有效负载之前向端点发送测试请求(期待 OK 响应)。 您还可以检查这是否是 Slack 方面的要求。
您不能在请求 URL 中使用localhost
。 Slack 需要向您的 Slack 应用程序打开一个请求,这仅在可以从 Internet 访问您的请求 URL 时才有效。
在本地开发和运行 Slack 应用程序的推荐方法是使用安全的 VPN 隧道,如ngrok 。 此工具将创建一个虚拟 URL,并以安全的方式在内部处理与本地计算机的通信。 它是一个商业工具,但也有一个免费计划。
您还需要确保在本地计算机上运行网络服务器。
有关如何在 Slack 中使用 ngrok 的更多详细信息,请查看官方教程:使用 ngrok 为 Slack 进行本地开发。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.