Подключение слабины к ботмену в Laravel на локальном хосте

Это мой файл маршрутов в Laravel. Я сопоставляю любой URL с /botman, который вызывает замыкание, который регистрирует слабый драйвер для botman и слушает сообщение hello. В расслабленном состоянии пытаюсь установить Request URL при подписке на события, используя это http://127.0.0.1:8000/botman, я получил "Your URL didn't respond with the value of the challenge parameter.", Что мне не хватает? это в моем файле маршрутов? или URL?

<?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();
});

2 ответа

Решение

Вы можете попробовать создать туннель для вашего локального хоста, используя ngrok. Вероятно, что соединение не удается, потому что для этого требуется внешняя конечная точка. Это также будет иметь ошибку 500 из-за этого.

Иногда эти сервисы отправляют тестовый запрос конечной точке (ожидая ответа OK) перед отправкой полезной нагрузки. Вы также можете проверить, является ли это требованием со стороны Slack.

Вы не можете использовать localhost в ваших запросах URL. Slack должен открыть запрос к вашему приложению Slack, и это работает только в том случае, если ваш запрос URL доступен из Интернета.

Рекомендуемый способ разработки и запуска приложений Slack локально - использовать безопасный VPN-туннель, такой как ngrok. Этот инструмент создаст виртуальный URL-адрес и внутренне защитит связь с вашим локальным компьютером. Это коммерческий инструмент, но есть и бесплатный план.

Вы также хотите убедиться, что на вашем локальном компьютере запущен веб-сервер.

Для получения дополнительной информации о том, как использовать ngrok со Slack, ознакомьтесь с официальным руководством: Использование ngrok для локальной разработки для Slack.

Другие вопросы по тегам