From 31b70179f97ce44be20edc9893b401ee342d89ef Mon Sep 17 00:00:00 2001 From: vatebur <67186678+vatebur@users.noreply.github.com> Date: Mon, 19 Aug 2024 23:56:04 +0800 Subject: [PATCH] =?UTF-8?q?fix(wallet):=20=E4=BF=AE=E5=A4=8D=E9=92=B1?= =?UTF-8?q?=E5=8C=85=E4=BD=99=E9=A2=9D=E5=88=A4=E6=96=AD=E9=80=BB=E8=BE=91?= =?UTF-8?q?=20(#957)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ”管理钱包余额“里的amount变量带符号 - “钱包转账”里的amount变量不带符号 --- README.md | 2 +- plugin/wallet/wallet.go | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index f80c5cd9..05828a33 100644 --- a/README.md +++ b/README.md @@ -1311,7 +1311,7 @@ print("run[CQ:image,file="+j["img"]+"]") - [x] 管理钱包余额[+金额|-金额][@xxx] - - [x] 查看我的钱包|查询钱包余额[@xxx] + - [x] 查看我的钱包|查看钱包余额[@xxx] - [x] 钱包转账[金额][@xxx] diff --git a/plugin/wallet/wallet.go b/plugin/wallet/wallet.go index 20a358be..b44abd9a 100644 --- a/plugin/wallet/wallet.go +++ b/plugin/wallet/wallet.go @@ -29,7 +29,7 @@ func init() { Help: "- 查看钱包排名\n" + "- 设置硬币名称XX\n" + "- 管理钱包余额[+金额|-金额][@xxx]\n" + - "- 查看我的钱包|查询钱包余额[@xxx]\n" + + "- 查看我的钱包|查看钱包余额[@xxx]\n" + "- 钱包转账[金额][@xxx]\n" + "注:仅超级用户能“管理钱包余额”\n", PrivateDataFolder: "wallet", @@ -177,8 +177,8 @@ func init() { ctx.SendChain(message.Reply(ctx.Event.MessageID), message.Text("QQ号处理失败")) return } - if amount < wallet.GetWalletOf(uidInt) { - ctx.SendChain(message.Text("管理失败:对方钱包余额不足,扣款失败:")) + if amount+wallet.GetWalletOf(uidInt) < 0 { + ctx.SendChain(message.Text("管理失败:对方钱包余额不足,扣款失败")) return } err = wallet.InsertWalletOf(uidInt, amount) @@ -190,7 +190,7 @@ func init() { }) // 保留用户习惯,兼容旧语法“查看我的钱包” - en.OnPrefixGroup([]string{`查询钱包余额`, `查看我的钱包`}).SetBlock(true).Limit(ctxext.LimitByGroup). + en.OnPrefixGroup([]string{`查看钱包余额`, `查看我的钱包`}).SetBlock(true).Limit(ctxext.LimitByGroup). Handle(func(ctx *zero.Ctx) { param := ctx.State["args"].(string) var uidStr string @@ -212,8 +212,8 @@ func init() { Handle(func(ctx *zero.Ctx) { param := strings.TrimSpace(ctx.State["args"].(string)) - // 捕获修改的金额 - re := regexp.MustCompile(`^[+-]?\d+$`) + // 捕获修改的金额,amount扣款金额恒正(要注意符号) + re := regexp.MustCompile(`^[+]?\d+$`) amount, err := strconv.Atoi(re.FindString(param)) if err != nil || amount <= 0 { ctx.SendChain(message.Reply(ctx.Event.MessageID), message.Text("输入额异常,请检查金额或at是否正常"))