From 21bfa14b55928294635762429612e23b418d134d 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: Tue, 6 Sep 2022 21:35:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9=20ban=20=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E4=B8=BA=2010=20=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugin/antiabuse/anti.go | 8 ++++---- plugin/antiabuse/db.go | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/plugin/antiabuse/anti.go b/plugin/antiabuse/anti.go index 218c8484..b6fbdefb 100644 --- a/plugin/antiabuse/anti.go +++ b/plugin/antiabuse/anti.go @@ -17,11 +17,11 @@ import ( "github.com/wdvxdr1123/ZeroBot/message" ) -const banhour = 4 +const bandur time.Duration = time.Minute * 10 var ( managers *ctrl.Manager[*zero.Ctx] // managers lazy load - cache = ttl.NewCacheOn(banhour*time.Hour, [4]func(int64, struct{}){nil, nil, onDel, nil}) + cache = ttl.NewCacheOn(bandur, [4]func(int64, struct{}){nil, nil, onDel, nil}) db *antidb ) @@ -69,8 +69,8 @@ func init() { if err := ctx.State["manager"].(*ctrl.Control[*zero.Ctx]).Manager.DoBlock(uid); err == nil { t := time.Now().Unix() cache.Set(uid, struct{}{}) - ctx.SetGroupBan(gid, uid, banhour*3600) - ctx.SendChain(message.Text("检测到违禁词, 已封禁/屏蔽", banhour, "小时")) + ctx.SetGroupBan(gid, uid, int64(bandur.Minutes())) + ctx.SendChain(message.Text("检测到违禁词, 已封禁/屏蔽", bandur)) db.Lock() defer db.Unlock() err := db.Create("__bantime__", nilbt) diff --git a/plugin/antiabuse/db.go b/plugin/antiabuse/db.go index c58d5c11..68e93074 100644 --- a/plugin/antiabuse/db.go +++ b/plugin/antiabuse/db.go @@ -31,13 +31,13 @@ var ( func newantidb(path string) (*antidb, error) { db := &antidb{Sqlite: sqlite.Sqlite{DBPath: path}} - err := db.Open(time.Hour * banhour) + err := db.Open(bandur) if err != nil { return nil, err } _ = db.FindFor("__bantime__", nilbt, "", func() error { t := time.Unix(nilbt.Time, 0) - ttl := time.Until(t.Add(time.Hour * banhour)) + ttl := time.Until(t.Add(bandur)) if ttl < time.Minute { _ = managers.DoUnblock(nilbt.ID) return nil @@ -46,7 +46,7 @@ func newantidb(path string) (*antidb, error) { cache.Touch(nilbt.ID, -time.Since(t)) return nil }) - _ = db.Del("__bantime__", "WHERE time<="+strconv.FormatInt(time.Now().Add(time.Minute-time.Hour*banhour).Unix(), 10)) + _ = db.Del("__bantime__", "WHERE time<="+strconv.FormatInt(time.Now().Add(time.Minute-bandur).Unix(), 10)) return db, nil }