From df1c207d774f2ac7ac175375028835b2284aae46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=90=E6=96=87=E9=9B=A8?= <41315874+fumiama@users.noreply.github.com> Date: Mon, 9 Jan 2023 21:55:20 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20add=20plugin=20autowithdraw=20?= =?UTF-8?q?=E8=A7=A6=E5=8F=91=E8=80=85=E6=92=A4=E5=9B=9E=E6=97=B6=E4=B9=9F?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=92=A4=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 8 ++++++++ main.go | 1 + plugin/autowithdraw/main.go | 29 +++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 plugin/autowithdraw/main.go diff --git a/README.md b/README.md index a3b0f5c9..f36715e2 100644 --- a/README.md +++ b/README.md @@ -397,6 +397,14 @@ print("run[CQ:image,file="+j["img"]+"]") - [x] 支付宝到账 1 + +
+ 触发者撤回时也自动撤回 + + `import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/autowithdraw"` + + - [x] 撤回一条消息 +
base16384加解密 diff --git a/main.go b/main.go index 1a869a36..a3be4c50 100644 --- a/main.go +++ b/main.go @@ -61,6 +61,7 @@ import ( _ "github.com/FloatTech/ZeroBot-Plugin/plugin/aipaint" // ai绘图 _ "github.com/FloatTech/ZeroBot-Plugin/plugin/aiwife" // 随机老婆 _ "github.com/FloatTech/ZeroBot-Plugin/plugin/alipayvoice" // 支付宝到账语音 + _ "github.com/FloatTech/ZeroBot-Plugin/plugin/autowithdraw" // 触发者撤回时也自动撤回 _ "github.com/FloatTech/ZeroBot-Plugin/plugin/b14" // base16384加解密 _ "github.com/FloatTech/ZeroBot-Plugin/plugin/baidu" // 百度一下 _ "github.com/FloatTech/ZeroBot-Plugin/plugin/baiduaudit" // 百度内容审核 diff --git a/plugin/autowithdraw/main.go b/plugin/autowithdraw/main.go new file mode 100644 index 00000000..1960b33e --- /dev/null +++ b/plugin/autowithdraw/main.go @@ -0,0 +1,29 @@ +// Package autowithdraw 触发者撤回时也自动撤回 +package autowithdraw + +import ( + "github.com/FloatTech/floatbox/process" + ctrl "github.com/FloatTech/zbpctrl" + "github.com/FloatTech/zbputils/control" + zero "github.com/wdvxdr1123/ZeroBot" + "github.com/wdvxdr1123/ZeroBot/message" +) + +func init() { + control.Register("autowithdraw", &ctrl.Options[*zero.Ctx]{ + DisableOnDefault: false, + Brief: "触发者撤回时也自动撤回", + Help: "- 撤回一条消息\n", + }).OnNotice(func(ctx *zero.Ctx) bool { + return ctx.Event.NoticeType == "group_recall" || ctx.Event.NoticeType == "friend_recall" + }).SetBlock(false).Handle(func(ctx *zero.Ctx) { + id, ok := ctx.Event.MessageID.(int64) + if !ok { + return + } + for _, msg := range zero.GetTriggeredMessages(message.NewMessageIDFromInteger(id)) { + process.SleepAbout1sTo2s() + ctx.DeleteMessage(msg) + } + }) +}