OctoberCMS 和 BotMan

问题描述 投票:0回答:2

我想将聊天机器人(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 的其他方法吗?

laravel chatbot octobercms botman
2个回答
0
投票

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

其次,只要您了解 PHP 命名空间以及如何在您想要的位置正确引用它,您就可以将 BotManController 文件放在您想要的插件中的任何位置。我可能会建议将其放在插件文件夹下的 /classes/ 目录中,然后更改

App\Http\Controllers\Controller
引用以引用基类
Illuminate\Routing\Controller
。您也可以将其放在 /controllers/ 目录中,但在 OctoberCMS 中,该目录通常是为后端控制器保留的,因此我不建议混合使用两者。


-2
投票

对于那些需要现成解决方案的人。 Octobercms botman 插件

https://octobercms.com/plugin/vdomah-botman

© www.soinside.com 2019 - 2024. All rights reserved.