簡體   English   中英

在本地主機上的 Laravel 中將 slack 連接到 botman

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM