简体   繁体   English

Botman 不回复

[英]Botman not replying

Botman is not replying below is my code Botman 没有回复下面是我的代码

All files are downloaded through composer所有文件都是通过composer下载的

PHP version 7.0 PHP 7.0 版

Codeigniter version 3 Codeigniter 版本 3

Controller:-控制器:-

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();
}

View:看法:

<!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>

I am not able to found the issue as it is not showing any issue but its not replying.我无法找到问题,因为它没有显示任何问题,但没有回复。

Please Help!!!请帮忙!!! Thanks in advance.提前致谢。

You didn't mention a botman version.你没有提到botman版本。 following solution for botman version 2.0以下是botman 2.0版的解决方案

You need an equal or higher version of php7.1.3.您需要同等或更高版本的php7.1.3。 Because in chatbot they are using some additional features which added in PHP version 7.1.3 like instead of list($array1,$array2)=$data[0] now added new feature [$array1,$array2]=$data[0] which work as list($array1,$array2) and many more changes done in version 7.1.3 so you must have to upgrade your PHP version from 7.0 to 7.1.3 or higher.因为在聊天机器人中,他们使用了一些在 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 或更高版本。

After That install botman webwidget driver using composer.之后使用composer安装botman webwidget驱动程序。 now try to update your code with following.现在尝试使用以下方法更新您的代码。

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

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

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