我正在使用Botman 2.0构建Facebook Messenger聊天机器人。
webhook验证一切正常,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"
}
我在这里缺少什么?
答案 0 :(得分:0)
您需要在标题中添加以下类:
use BotMan\Drivers\Facebook\Commands\AddStartButtonPayload;
use BotMan\Drivers\Facebook\Commands\AddGreetingText;
use BotMan\Drivers\Facebook\Extensions\ButtonTemplate;
use BotMan\Drivers\Facebook\Extensions\ElementButton;
答案 1 :(得分:0)
这对我有用。我在控制器类之后立即添加了以下 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