Botman下面没有回复是我的代码
所有文件都是通过作曲家下载的
PHP版本7.0
Codeigniter版本3
控制器: -
require __DIR__ . '/vendor/autoload.php';
use BotMan\BotMan\BotMan;
use BotMan\BotMan\Drivers\DriverManager;
use BotMan\BotMan\BotManFactory;
use BotMan\BotMan\Cache\CodeIgniterCache;
defined('BASEPATH') OR exit('No direct script access allowed');
class Home extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->model('healthcare_model');
$config = [
'botman' => [
'conversation_cache_time' => 30
],
];
// Load the driver(s) you want to use
// Create an instance
$this->load->driver('cache');
$this->botman = BotManFactory::create($config, new CodeIgniterCache($this->cache->file));
}
public function chat() {
$this->load->view('home/chat', $data);
}
public function chat_reply() {
$this->botman->hears('hello', function($bot) {
$bot->reply('bye~');
});
// Listen
$this->botman->listen();
}
查看:
<!doctype html>
<html>
<head>
<title>BotMan Widget</title>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/botman-web-widget@0/build/assets/css/chat.min.css">
</head>
<body>
<script id="botmanWidget" src='https://cdn.jsdelivr.net/npm/botman-web-widget@0/build/js/chat.js'></script>
</body>
<script>
var botmanWidget = {
frameEndpoint: '/home/chat',
chatServer: '/home/chat_reply'
};
</script>
<script src='https://cdn.jsdelivr.net/npm/botman-web-widget@0/build/js/widget.js'></script>
我无法找到问题,因为它没有显示任何问题,但没有回复。
请帮助!!! 提前谢谢。
答案 0 :(得分:0)
您没有提到僵尸版本。 botman 2.0版的以下解决方案
您需要同等或更高版本的php7.1.3。 因为在chatbot中,他们使用了PHP 7.1.3版中添加的一些其他功能。 像代替list($ array1,$ array2)= $ data [0]一样,现在添加了新功能[$ array1,$ array2] = $ data [0],它可以用作list($ array1,$ array2) 并在7.1.3版中进行了许多其他更改,因此必须将PHP版本从7.0升级到7.1.3或更高版本。
之后,使用composer安装botman webwidget驱动程序。 现在尝试使用以下代码更新您的代码。
use BotMan\BotMan\BotMan;
use BotMan\BotMan\Drivers\DriverManager;
use BotMan\BotMan\BotManFactory;
use BotMan\BotMan\Cache\CodeIgniterCache;
use BotMan\BotMan\Messages\Incoming\Answer;
use BotMan\BotMan\Messages\Conversations\Conversation;
use BotMan\BotMan\Messages\Outgoing\Question;
use BotMan\BotMan\Messages\Outgoing\Actions\Button;
use BotMan\BotMan\Messages\Attachments\Image;
use BotMan\BotMan\Messages\Outgoing\OutgoingMessage;
public function chat_reply() {
$config = [];
$this->load->driver('cache', array('adapter' => 'apc', 'backup' => 'file'));
DriverManager::loadDriver(\BotMan\Drivers\Web\WebDriver::class);
$botman = BotManFactory::create($config, new CodeIgniterCache($this->cache->file));
$botman->hears("Hi", function (BotMan $bot) {
$bot->reply('bye~');
});
}