我正在使用Botman2.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"
}我在这里错过了什么?
发布于 2018-07-17 00:00:25
您需要在标题中添加以下类:
use BotMan\Drivers\Facebook\Commands\AddStartButtonPayload;
use BotMan\Drivers\Facebook\Commands\AddGreetingText;
use BotMan\Drivers\Facebook\Extensions\ButtonTemplate;
use BotMan\Drivers\Facebook\Extensions\ElementButton;发布于 2021-06-14 21:00:51
这对我有用。我在控制器类之后添加了下面的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。
https://stackoverflow.com/questions/49519126
复制相似问题