Ver código fonte

提示提交

枫林 3 meses atrás
pai
commit
c2a0583233
4 arquivos alterados com 47 adições e 4 exclusões
  1. 4 0
      src/config/load.yml
  2. 31 3
      src/lib/Bot.ts
  3. 11 1
      src/lib/Plugins.ts
  4. 1 0
      src/lib/config.ts

+ 4 - 0
src/config/load.yml

@@ -0,0 +1,4 @@
+isuplad: false
+name: reload.ts
+id: 211249983
+isGroupMessage: true

+ 31 - 3
src/lib/Bot.ts

@@ -1,5 +1,5 @@
 import { NCWebsocket } from 'node-napcat-ts'
-import {Botconfig as config} from './config.js'
+import {Botconfig as config, load, saveConfig} from './config.js'
 import { runplugins } from './Plugins.js';
 
 export class Bot extends NCWebsocket{
@@ -17,11 +17,39 @@ export class Bot extends NCWebsocket{
             }
         });
     }
-
+    async reload(){
+        let isload = await load
+        if(isload.isuplad){
+         isload.isuplad=false;
+         if (isload.isGroupMessage) {
+            this.send_group_msg({
+             group_id: Number(isload.id),
+             message:[{
+                 type:"text",
+                 data:{
+                     text:  `加载插件 ${isload.name} 成功`
+                 }
+             }]
+            }) 
+         }else{
+             this.send_private_msg({
+                 user_id:Number(isload.id),
+                 message:[{
+                     type:"text",
+                     data:{
+                         text:`加载插件 ${isload.name} 成功`
+                     }
+                 }]
+             })
+         }
+         saveConfig("load", isload)
+        }
+    }
     async run(){
         try {
            await this.connect()
-           runplugins()
+           await runplugins()
+           await this.reload()
            console.log('启动成功!')
         } catch (error) {
             console.error(error)

+ 11 - 1
src/lib/Plugins.ts

@@ -14,7 +14,7 @@ import {
 import * as fs from 'fs'
 import * as path from 'path'
 // 获取指令前缀
-import { Botconfig as config, PermissionConfig } from './config.js'
+import { Botconfig as config, load, PermissionConfig, saveConfig } from './config.js'
 import { ImageSegment, ReplySegment, TextSegment } from "node-napcat-ts/dist/Structs.js";
 import { fileURLToPath } from 'node:url';
 import { qqBot } from "../app.js";
@@ -224,6 +224,16 @@ export async function runplugins() {
                             type: 'text',
                             data: { text: `插件下载完成,开始重载` }
                         }]);
+                        let isload = load
+                            isload.isuplad=true;
+                            isload.name=file.file
+                            if((context.message_type === 'group')){
+                                isload.id = context.group_id
+                            }else{
+                                isload.id = context.sender.user_id
+                            }
+                            isload.isGroupMessage = (context.message_type === 'group');
+                            saveConfig("load", isload)
                     }
                     return;
                 }

+ 1 - 0
src/lib/config.ts

@@ -15,3 +15,4 @@ export function saveConfig(file: string, data: any): void {
 }
 export const Botconfig = await loadConfig('bot');
 export const PermissionConfig = await loadConfig('permission');
+export const load = await loadConfig('load')