繁体   English   中英

聊天机器人 - Botman 功能不起作用

[英]Chatbot - Botman functions not working

我正在使用 Botman 2.0 来构建 Facebook Messenger 聊天机器人。

webhook 验证一切正常,而且 heart hear()reply()方法运行良好。

但是,看起来其他方法不起作用。

每当我使用say()方法时,它都不起作用。 我的服务器收到来自 Messenger 的请求,但它没有响应消息响应。

我用 Botman 的主要示例进行了测试:

$botman->hears('Hello BotMan!', function($bot) {
    $bot->reply('Hello!');
    $bot->ask('Whats your name?', function($answer, $bot) {
        $bot->say('Welcome '.$answer->getText()); //this never works
    });
});

此外,当我尝试使用ButtonTemplate它会引发异常:

PHP Fatal error: Uncaught Error: Class 'ButtonTemplate' not found

即使加载了 Botman 的 Facebook 驱动程序:

DriverManager::loadDriver(\\BotMan\\Drivers\\Facebook\\FacebookDriver::class);

我的composer.json文件看起来不错:

"require": {
        "botman/driver-facebook": "^1.7"
    }

我在这里缺少什么?

您需要在标题中添加以下类:

use BotMan\Drivers\Facebook\Commands\AddStartButtonPayload;
use BotMan\Drivers\Facebook\Commands\AddGreetingText;

use BotMan\Drivers\Facebook\Extensions\ButtonTemplate;
use BotMan\Drivers\Facebook\Extensions\ElementButton;

这对我有用。 我在控制器类之后立即添加了以下 Facebook 扩展

use BotMan\Drivers\Facebook\Extensions\Element as Element; 
use BotMan\Drivers\Facebook\Extensions\ElementButton as ElementButton; 
use BotMan\Drivers\Facebook\Extensions\ButtonTemplate as ButtonTemplate; 
use BotMan\Drivers\Facebook\Extensions\GenericTemplate as GenericTemplate; 
use BotMan\Drivers\Facebook\Extensions\ListTemplate as ListTemplate;

$botman = resolve('botman');

$botman->hears('Hello BotMan!', function($bot) {
    $bot->reply('Hello!');
    $bot->ask('Whats your name?', function($answer, $bot) {
        $bot->say('Welcome '.$answer->getText()); //this works
    });
});

您也可以从此链接查看https://www.gitmemory.com/issue/botman/botman/1055/522233149

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM