<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## 序言:如果想要二開插件模塊,請好好閱讀。這樣你二開會節省好多多的時間 ### 1:框架的生命周期(群消息) ``` 0:機器人插件curl post到本系統。 1:Thinphp5.1框架啟動 2:application/index/controller/Index 入口文件啟動 3:入口文件加載 事件->群聊app\index\logic\GroupMsg 4:app\index\logic\GroupMsg 加載 處理核心 /application/app_group_所有/logic/所有 這里加載的核心文件是官方寫好的不要隨意的修改 5:app\app_group_menu_v1\logic\InjectOthersPlugUnit 依賴注入 所有/application/plug_group_所有/logic/所有 下的文件夾都會被注入 6:解析用戶語句,如果匹配到 第三方插件 觸發詞,調用第三方插件 7:發送主動API到插件 進行動作。 ``` ### 2:第三方插件開發規范 1. 你的插件必須以 【plug_group_你的名字】 命名例如 ```/application/plug_group_pepper/``` 2. 必須要有命名空間 例如 ``` namespace app\plug_group_peppe\logic``` 3. 必須要有 class注釋 必須要包含 @struct @description 格式規范 4. class 必須要有 默認的三個方法 __construct(參數) init() process_1(參數) 5. 消息模板必須要與邏輯程序分離,采用View::fetch() 6. 由于機器人需要被at才能激活,所有過濾at機器人后的消息用 `$msg=$this->conn>filterCqAt(); ` 7. 【最重要】請細讀TP5.1開發規范 ### 3:群聊插件開發范例(聊天持久化) 聊天自然對話 持久化 由 鴿子大王 @Hstb 提出。 1:新建你的插件群,因為我是官方(admin)所有我就新建 /application/plug_group_admin/ 文件夾,請不要與其他開發者的文件夾沖突 2:新建邏輯處理程序(logic),比如我 寫的一個 群管插件 /application/plug_group_admin/logic/ExmapleStructPlug.php 撰寫代碼 ``` <?php /** * Created by PhpStorm. * User: admin * Date: 2020/5/6 * Time: 21:13 */ namespace app\plug_group_admin\logic; use app\common\extend\GroupCommon; use app\common\model\QqStruct; use think\facade\View; /** * Class ExmapleStructPlug * @package app\plug_group_admin\logic * @struct 插件例子 * @author 官方測試插件 * @description 這里是 第三方 菜單插件的 描述文件。 */ class ExmapleStructPlug { public $conn; /** * ExmapleStructPlug constructor. * @param GroupCommon $groupCommon * 無論是 init還是 proccess_x 都會執行這個函數 * 主要是傳入 conn連接池,可以操作 jailbot框架所有的操作 */ public function __construct(GroupCommon $groupCommon) { $this->conn = $groupCommon; } /** * 【第一次】 觸發此插件后 執行的函數,只會執行一次, * 這里應該寫導航語句的提示 */ public function init(): void { //直接使用 文字發送消息 $this->conn->reply('恭喜 第三方 菜單 插件 已經 被接管到了,并且計入了數據庫任務隊列'); //使用模板 發送消息 //給模板變量賦值 View::assign('time', date("Y-m-d H:i:s")); //回復模板消息 這里格式必須是 你的文件夾@分類文件夾/模板 //plug_group_admin@admin/page 實際為 ./plug_group_admin/view/admin/page.html $this->conn->reply(View::fetch('plug_group_admin@admin/page')); } /** * @param QqStruct $qqStruct * 【持久化】接上一次的用戶繼續 調用此 插件 * 【默認】【第二次】激活機器人 會被調用 * 這里必須 為process_1(QqStruct $qqStruct) */ public function process_1(QqStruct $qqStruct): void { //獲取到過濾 用戶QT機器人的消息 $msg = $this->conn->filterCqAt; //如果用戶 回復2 if ($msg == '2') { //把【持久化】過程調到下一步 finish ,這里是自定義函數 process_自定義 $qqStruct->addition_json->process = 'finish'; //保存 持久化指令數據庫 $qqStruct->save(); //邏輯回復 提示用戶 $this->conn->reply('您已經進入 第二個邏輯!請回復任意內容 結束'); return; } $this->conn->reply('這里是導航process_1,輸入【2】即可即進入下一個邏輯'); } /** * @param QqStruct $qqStruct * @throws \Exception * 【持久化】接上一次的用戶繼續 調用此 插件 * 【用戶自定義】 上一次變更 process流程的函數名 */ public function process_finish(QqStruct $qqStruct): void { $this->conn->reply('這里是導航process_finish,邏輯完成!刪除數據庫任務'); //結束任務!下次用戶在AT機器人,就不會再來 繼續執行這個插件了,需要重新開始 $qqStruct->delete(); } } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看