Настройка REST API Botman laravel - PullRequest
0 голосов
/ 17 октября 2019

Я новичок в Ботман.

Я пытаюсь реализовать простую функцию, чтобы проверить, как она работает, но я получаю пустой ответ, похоже, что ботман не слышит мое сообщение.

Я установил Botman без студии, так как я стараюсь сделать все просто. Я также установил веб-драйвер, как сказано в документации.

В моем проекте я использую JWT в качестве аутентификации, поэтому я создал защищенный маршрут, например:

Route::group(['middleware' => ['assign.guard:user', 'jwt.auth']], function () {

    Route::post(
        '/',
        'UserBotManController@startConversation'
    )->name('botman.user.start');

});

Контроллер выглядит следующим образом:

<?php


namespace Project\UI\Api\Controllers\User\Botman;


use App\Http\Controllers\Controller;
use BotMan\BotMan\BotMan;
use BotMan\BotMan\BotManFactory;
use BotMan\BotMan\Drivers\DriverManager;

class UserBotManController extends Controller
{
    public function startConversation()
    {
        $config = [];

        DriverManager::loadDriver(\BotMan\Drivers\Web\WebDriver::class);

        $botman = BotManFactory::create($config);

        $botman->hears('hello', function (BotMan $bot) {
            $bot->reply('Hello yourself.');
        });

        $botman->listen();
    }
}

Нет, когда я отправляю запрос на этот маршрут, получаю пустой ответ: enter image description here

Похоже, ботман не слышит мое сообщение .. .

Я пытаюсь заглянуть внутрь с помощью: dd($botman->getDriver());

И я вижу, что содержимое содержит все данные: enter image description here

МожетКто-нибудь поможет мне понять, как я могу заставить его работать?

1 Ответ

0 голосов
/ 17 октября 2019

Хорошо, наконец-то я нашел решение. Я проверил, какой запрос он отправляет с веб-сайта https://botman.io, и это данные формы, а не JSON.

enter image description here

diver поле должно быть установлено на web!

Надеюсь, это кому-нибудь поможет.

...