首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法集成botman中的对话框

无法集成botman中的对话框
EN

Stack Overflow用户
提问于 2019-10-18 10:56:47
回答 2查看 724关注 0票数 2

Symfony\Component\Debug\Exception\FatalThrowableError.传递给App\Http\Controllers\API\BotManController::App\Http\Controllers\API{closure}()的参数1必须是BotMan\BotMan的实例,BotMan\BotMan\BotMan给定的实例。

我试图借助提供的文件在Botman中实现NLP应用程序。

但我找不到问题。下面的代码显示了我尝试过的内容。

代码语言:javascript
复制
use BotMan\BotMan\Middleware\ApiAi;

public function handle(Request $request){

$config = ['web'=>['matchingData'=>['driver'=>'web']]];

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

$doctrineCacheDriver = new \Doctrine\Common\Cache\PhpFileCache('cache');
$botman = BotManFactory::create($config, new DoctrineCache($doctrineCacheDriver));

$dialogflow = ApiAi::create('dialog_flow_client_token')->listenForAction();
$botman->middleware->received($dialogflow);

// Apply matching middleware per hears command
$botman->hears('intent-action-name', function (BotMan $bot){$extras = $bot->getMessage()->getExtras();
$apiReply = $extras['apiReply'];$apiAction = $extras['apiAction'];$apiIntent = $extras['apiIntent'];
})->middleware($dialogflow);

$botman->listen();

}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-18 11:06:27

在函数闭包依赖项注入中显式调用BotMan以避免与当前命名空间混淆

代码语言:javascript
复制
$botman->hears('intent-action-name', function (\BotMan\BotMan $bot) {
   $extras = $bot->getMessage()->getExtras();
   $apiReply = $extras['apiReply'];
   $apiAction = $extras['apiAction'];
   $apiIntent = $extras['apiIntent'];
})->middleware($dialogflow);

希望这能有所帮助

票数 1
EN

Stack Overflow用户

发布于 2019-10-18 11:24:25

使用\ Botman \BotMan工作,而不是使用BotMan导入使用BotMan\BotMan;.Thanks @sally3301它工作了

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58449435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档