From f6e7d1edfc0688fae946724e5805c30ef6b811d6 Mon Sep 17 00:00:00 2001 From: Yiwen-Chan Date: Fri, 19 Feb 2021 11:52:18 +0800 Subject: [PATCH] =?UTF-8?q?:bug:=20=E4=BF=AE=E5=A4=8D=E7=A6=81=E8=A8=80?= =?UTF-8?q?=E6=97=B6=E9=95=BF=E8=B6=85=E5=87=BA=E4=B8=8A=E9=99=90=E6=97=A0?= =?UTF-8?q?=E6=95=88=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- manager/manager.go | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/manager/manager.go b/manager/manager.go index cee77438..f505aaae 100644 --- a/manager/manager.go +++ b/manager/manager.go @@ -130,10 +130,14 @@ func (_ manager) Start() { // 插件主体 // TODO 禁言 zero.OnRegex(`^禁言.*?(\d+).*?\s(\d+)`, zero.OnlyGroup, zero.AdminPermission).SetBlock(true).SetPriority(40). Handle(func(matcher *zero.Matcher, event zero.Event, state zero.State) zero.Response { + duration := utils.Str2Int(state["regex_matched"].([]string)[2]) + if duration >= 43200 { + duration = 43199 // qq禁言最大时长为一个月 + } zero.SetGroupBan( event.GroupID, - utils.Str2Int(state["regex_matched"].([]string)[1]), // 要禁言的人的qq - utils.Str2Int(state["regex_matched"].([]string)[2])*60, // 要禁言的时间(分钟) + utils.Str2Int(state["regex_matched"].([]string)[1]), // 要禁言的人的qq + duration*60, // 要禁言的时间(分钟) ) zero.Send(event, "小黑屋收留成功~") return zero.SuccessResponse @@ -150,8 +154,23 @@ func (_ manager) Start() { // 插件主体 return zero.SuccessResponse }) // TODO 自闭禁言 - zero.OnRegex(`^我要自闭.*?(\d+)分钟`, zero.OnlyGroup).SetBlock(true).SetPriority(40). + zero.OnRegex(`^我要自闭.*?(\d+)(.*?)`, zero.OnlyGroup).SetBlock(true).SetPriority(40). Handle(func(matcher *zero.Matcher, event zero.Event, state zero.State) zero.Response { + duration := utils.Str2Int(state["regex_matched"].([]string)[2]) + switch state["regex_matched"].([]string)[2] { + case "分钟": + // + case "小时": + duration = duration * 60 + case "天": + duration = duration * 60 * 24 + default: + zero.Send(event, "格式错误~") + return zero.SuccessResponse + } + if duration >= 43200 { + duration = 43199 // qq禁言最大时长为一个月 + } zero.SetGroupBan( event.GroupID, event.UserID,