[英]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.