diff --git a/README.md b/README.md index 18c2bd8f..d1ef4293 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 6580ad08..18eb1f30 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) {