浏览代码

feat: 添加群组数据和事件数据存储文件

fix(prop): 修复道具数量判断逻辑
fix(ecomony): 增加管理员权限检查
fix(Permission): 修正权限查看命令描述
style(ecomony): 限制交易记录显示数量
枫林 1 月之前
父节点
当前提交
b8db3e0e15

+ 1 - 0
botQQ_screenshots/GroupEventData.json

@@ -0,0 +1 @@
+{"638236452":{"f0dd89d1-b2ac-43a8-b929-75e7521f8ab3":{"eventContent":"小雪触犯了圣旨被贬下凡间!禁言5分钟","eventRewardType":"禁言","param":"","eventRewardNum":5,"probability":0.006}},"773847213":{"0c835593-4d1b-4f42-8f7d-c15d894524ca":{"eventContent":"红磷偷偷努力写代码,偷偷奋斗!获得100金币","eventRewardType":"金币","param":"","eventRewardNum":10,"probability":0.006},"ed257a67-dba7-4452-848a-4a48006e7ed3":{"eventContent":"枫林删库导致老板变成鼻血喷射战士,奖励100元","eventRewardType":"金币","param":"8","eventRewardNum":100,"probability":0.003},"b232304c-43c2-4d8e-8005-912c0dc4b04f":{"eventContent":"枫林强夺小孩子棒棒糖,被孩子家长暴打,奖励300元","eventRewardType":"金币","param":"","eventRewardNum":300,"probability":0.008},"0766de73-c31b-40e0-8566-d1bacb6b5949":{"eventContent":"枫林扶老奶奶过马路将老奶奶带到火葬场,奖励10元","eventRewardType":"金币","param":"","eventRewardNum":10,"probability":0.008},"9b473ac5-8b9f-49af-a650-acab46582ef9":{"eventContent":"枫林干了太多缺德事被评为缺德之星,奖励100元","eventRewardType":"金币","param":"","eventRewardNum":100,"probability":0.008}},"":{"":{"param":"","eventRewardNum":1,"probability":0.3}}}

+ 1 - 0
botQQ_screenshots/GroupWorldData.json

@@ -0,0 +1 @@
+{"638236452":{"worldData":["雪推个小妹","狗群主","gqz","√群主","群主","qz","🐶","🐶柚子","苟柚子"],"createtime":1752389067048,"updatetime":1752404552990,"userData":["2941718631:0.2","2941718631:0.6","2941718631:0.3"]},"":{"worldData":"","createtime":1752388877325,"updatetime":1752413814717}}

+ 1 - 1
src/plugins/Permission.ts

@@ -14,7 +14,7 @@ import { addPermission, getuserPermissions, IsAdmin, removePermission } from "..
     }
 })
 export class Permission{
-    @runcod(["list", "查看权限"],"使用道具" )
+    @runcod(["list", "查看权限"],"查看权限" )
     async list(
         context: PrivateFriendMessage | PrivateGroupMessage | GroupMessage
     ){

+ 4 - 2
src/plugins/ecomony.ts

@@ -3,7 +3,7 @@ import { param, plugins, runcod } from "../lib/decorators.js";
 import { GroupMessage, PrivateFriendMessage, PrivateGroupMessage } from "node-napcat-ts/dist/Interfaces.js";
 import path from "path";
 import { fileURLToPath } from "url";
-import { IsAdmin } from "../lib/Permission.js";
+import { IsAdmin, Permission } from "../lib/Permission.js";
 import { Receive } from "node-napcat-ts";
 
 @plugins({
@@ -55,6 +55,7 @@ export class ecomony {
         }
     }
 
+    @Permission("Admin")
     @runcod(["add", "增加"], "增加金币")
     async addecomony(
         @param("QQ号", 'at',) userid: Receive["at"],
@@ -137,7 +138,8 @@ export class ecomony {
         }
         
     }
-
+    
+    @Permission("Admin")
     @runcod(["reduce", "减少"], "减少金币")
     async reduceecomony(
         @param("QQ号", 'at',) userid: Receive["at"],

+ 3 - 3
src/plugins/prop.ts

@@ -34,18 +34,18 @@ export class Propplu {
             return this.tl(`你没有${propId}道具`,'error',`你没有${propId}道具`)
         }
         
-        if (findprop.Num < Number(Num?.data?.text)) {
+        if (findprop.Num < Number(Num?.data?.text??1)) {
             return this.tl(`道具数量不足`,'error',`道具数量不足`)
         }
         Props.forEach((prop) => {
             if (prop.propId === propId?.data?.text) {
-                if(prop.maxuse<Number(Num?.data?.text)){
+                if(prop.maxuse<Number(Num?.data?.text??1)){
                     return this.tl(`该道具允许最大使用数量为${prop.maxuse}超过最大使用数量`,'error',`该道具允许最大使用数量为${prop.maxuse}超过最大使用数量`)
                 }
             }    
         });
         try {
-            for (let i = 0; i < Number(Num?.data?.text); i++) {
+            for (let i = 0; i < Number(Num?.data?.text??1); i++) {
                 let fn;
                 let classConstructor;
                 let propid=''

+ 1 - 1
src/resources/ecomony/info.html

@@ -101,7 +101,7 @@
 
         <!-- 交易记录列表 -->
         <ul class="transaction-list">
-            {{each logs}}
+            {{each logs.slice(0,10)}}
             <li class="transaction-item">
                 <div class="transaction-details">
                     <div class="transaction-time">{{$value.date}}</div>