机器人 laravel REST API 设置
Botman laravel REST API setup
我是 Botman 的新手。
我尝试实现一个简单的功能来测试它是如何工作的,但我一直收到空响应,看起来机器人没有听到我的消息。
我在没有工作室的情况下安装了 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();
}
}
没有,当我向这条路线发送请求时得到空响应:
看来botman听不到我的消息...
我尝试通过以下方式查看内部:dd($botman->getDriver());
而且我看到内容包含所有数据:
任何人都可以帮助我理解,我怎样才能让它发挥作用?
好的,所以我终于找到了解决方案。我检查了它从 https://botman.io 网站发送的请求,它是表单数据,而不是 JSON。
diver
字段必须设置为 web
!
希望对大家有所帮助。
我是 Botman 的新手。
我尝试实现一个简单的功能来测试它是如何工作的,但我一直收到空响应,看起来机器人没有听到我的消息。
我在没有工作室的情况下安装了 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();
}
}
没有,当我向这条路线发送请求时得到空响应:
看来botman听不到我的消息...
我尝试通过以下方式查看内部:dd($botman->getDriver());
而且我看到内容包含所有数据:
任何人都可以帮助我理解,我怎样才能让它发挥作用?
好的,所以我终于找到了解决方案。我检查了它从 https://botman.io 网站发送的请求,它是表单数据,而不是 JSON。
diver
字段必须设置为 web
!
希望对大家有所帮助。