首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >独立的Botman和中间件(对话框)用if Botman语句回复

独立的Botman和中间件(对话框)用if Botman语句回复
EN

Stack Overflow用户
提问于 2022-11-06 14:45:33
回答 1查看 21关注 0票数 0

嗨,伙计们,我在这里要做的是,当botman听到一些已经在代码中的东西时,它将返回if语句,如果它听到了其他的消息,它会从对话框中得到回复。有可能吗?我对botman很陌生,并试图为学校的项目开发它。

下面是我的代码:我仍然不知道如何去做,也不知道它是否可能。

代码语言:javascript
复制
    if ($input == 'School info'){
        $bot->reply('Give some info about school');
    }
    
    else{
        //get reply from dialogflow
        $dialogflow = DialogFlow::create('en');
        $botman->middleware->received($dialogflow);
        $botman->hears('(input.*)', function ($bot) {
            $extras = $bot->getMessage()->getExtras();
            $bot->reply($extras['apiReply']);
        })->middleware($dialogflow);
    }

});
EN

回答 1

Stack Overflow用户

发布于 2022-11-06 16:11:38

因此,我可以通过创建新的意图来检测其他人的信息,然后在Botman中比较对话框流响应的值。如果值为真,则从Botman代码返回信息。守则如下:

代码语言:javascript
复制
$botman = resolve('botman');

 

$dialogflow = DialogFlow::create('en');
$botman->middleware->received($dialogflow);
$botman->hears('(input.*)', function ($bot) {
    $extras = $bot->getMessage()->getExtras();

    if ($extras['apiReply'] == 'IntroductionOfSchool' ){
            $bot->typesAndWaits(1);
            $bot->reply('Hi there, for your information. Tell more about School Info!');
            $bot->typesAndWaits(1);
            $bot->startConversation(new OptionsConversation());  
        
    }
    else{
        //get reply from dialogflow
        $bot->reply($extras['apiReply']);
        }           
})->middleware($dialogflow);

我认为这不是一个很好的方法,但至少它能做到这一点。可以自由地分享别人的方法来做这个。

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

https://stackoverflow.com/questions/74336886

复制
相关文章

相似问题

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