OctoberCMS和BotMan

时间:2018-11-23 15:10:55

标签: laravel chatbot octobercms

我想将聊天机器人(BotMan 版本2.0 )集成到现有的OctoberCMS项目中,这是我到目前为止所做的:

1-我使用以下命令将BotMan添加到了项目中:

composer require botman/botman

2-我在与routes.php文件相同的目录中创建了一个plugin.php文件

<?php

use BotMan\BotMan\BotMan;
use BotMan\BotMan\BotManFactory;
use BotMan\BotMan\Drivers\DriverManager;



//Route::match(['get', 'post'], '/botman', 'BotManController@handle');
//Route::get('/botman/tinker', 'October\Demo\BotManController@tinker');
// Create an instance
$botman = BotManFactory::create($config);

// Give the bot something to listen for.
$botman->hears('hello', function (BotMan $bot) {
    $bot->reply('Hello yourself.');
});

// Start listening
$botman->listen();

我的问题是:

  

1-我必须在其中添加BotManController.php文件

     

2-我尝试将BotManController.php添加到与routes.php文件相同的目录中,但是出现以下错误:

 Class 'App\Http\Controllers\Controller' not found

(那是因为它的OctoberCMS项目不是Laravel项目...我没有App目录)

任何人都可以向我提供解决方案,或者将Botman集成到OctoberCMS的另一种方法!

1 个答案:

答案 0 :(得分:0)

首先,阅读https://luketowers.ca/blog/how-to-use-laravel-packages-in-october-cms-plugins/https://octobercms.com/docs/plugin/composer

第二,只要您了解PHP命名空间以及如何在需要的地方正确引用它,就可以将BotManController文件放在您想要的插件中的任何位置。我可能会建议将其放在插件文件夹下的/ classes /目录中,然后更改App\Http\Controllers\Controller引用以改为引用基Illuminate\Routing\Controller类。您也可以将其放在/ controllers /目录中,但是在OctoberCMS中,该目录通常是为后端控制器保留的,因此我不建议您将两者混用。