From f96f14052e7f95a9bce05bacb992edebaf26caf8 Mon Sep 17 00:00:00 2001 From: jinyunboss Date: Sat, 10 Dec 2022 14:11:26 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=BE=A4=E8=81=8A=E4=B8=AD=E6=92=A4?= =?UTF-8?q?=E5=9B=9E=E6=B6=88=E6=81=AF=20(#520)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- plugin/manager/manager.go | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 18c2bd8f3e..d1ef429366 100644 --- a/README.md +++ b/README.md @@ -237,7 +237,7 @@ zerobot [-h] [-n nickname] [-t token] [-u url] [-p prefix] [-d|w] [-c|s config.j - [ ] 同意好友请求 - - [ ] 撤回[@xxx] [xxx] + - [x] 对信息回复: 撤回 - [ ] 警告[@xxx] diff --git a/plugin/manager/manager.go b/plugin/manager/manager.go index 6580ad08f1..18eb1f3087 100644 --- a/plugin/manager/manager.go +++ b/plugin/manager/manager.go @@ -263,6 +263,16 @@ func init() { // 插件主体 ) ctx.SendChain(message.Text("嗯!不错的头衔呢~")) }) + // 撤回 + // 群聊中直接回复消息结尾带上撤回 + // 权限够的话,可以把请求撤回的消息也一并撤回 + engine.OnRegex(`^\[CQ:reply,id=(-?\d+)\].*撤回$`, zero.AdminPermission, zero.OnlyGroup).SetBlock(true). + Handle(func(ctx *zero.Ctx) { + // 删除需要撤回的消息ID + ctx.DeleteMessage(message.NewMessageIDFromString(ctx.State["regex_matched"].([]string)[1])) + // 删除请求撤回的消息ID + //ctx.DeleteMessage(message.NewMessageIDFromInteger(ctx.Event.MessageID.(int64))) + }) // 群聊转发 engine.OnRegex(`^群聊转发.*?(\d+)\s(.*)`, zero.SuperUserPermission).SetBlock(true). Handle(func(ctx *zero.Ctx) {