博特曼没有回复

时间:2018-04-25 08:30:29

标签: php codeigniter-3 chatbot

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>

我无法找到问题,因为它没有显示任何问题,但没有回复。

请帮助!!! 提前谢谢。

1 个答案:

答案 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~');
            });
    }