mirror of
https://github.com/FloatTech/ZeroBot-Plugin.git
synced 2026-01-07 21:59:01 +08:00
优化
This commit is contained in:
parent
37b0edde38
commit
a004ed8064
@ -2,7 +2,6 @@
|
|||||||
package antiabuse
|
package antiabuse
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"strconv"
|
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@ -61,14 +60,11 @@ func init() {
|
|||||||
}
|
}
|
||||||
uid := ctx.Event.UserID
|
uid := ctx.Event.UserID
|
||||||
gid := ctx.Event.GroupID
|
gid := ctx.Event.GroupID
|
||||||
grp := strconv.FormatInt(gid, 36)
|
|
||||||
msg := strings.ReplaceAll(ctx.MessageString(), "\n", "")
|
msg := strings.ReplaceAll(ctx.MessageString(), "\n", "")
|
||||||
msg = strings.ReplaceAll(msg, "\r", "")
|
msg = strings.ReplaceAll(msg, "\r", "")
|
||||||
msg = strings.ReplaceAll(msg, "\t", "")
|
msg = strings.ReplaceAll(msg, "\t", "")
|
||||||
msg = strings.ReplaceAll(msg, ";", "")
|
msg = strings.ReplaceAll(msg, ";", "")
|
||||||
db.RLock()
|
if db.isInAntiList(uid, gid, msg) {
|
||||||
defer db.RUnlock()
|
|
||||||
if db.CanFind(grp, "WHERE instr('"+msg+"', word)>=0") {
|
|
||||||
if err := ctx.State["manager"].(*ctrl.Control[*zero.Ctx]).Manager.DoBlock(uid); err == nil {
|
if err := ctx.State["manager"].(*ctrl.Control[*zero.Ctx]).Manager.DoBlock(uid); err == nil {
|
||||||
cache.Set(uid, struct{}{})
|
cache.Set(uid, struct{}{})
|
||||||
ctx.SetGroupBan(gid, uid, 4*3600)
|
ctx.SetGroupBan(gid, uid, 4*3600)
|
||||||
|
|||||||
@ -20,6 +20,13 @@ type banWord struct {
|
|||||||
|
|
||||||
var nilban = &banWord{}
|
var nilban = &banWord{}
|
||||||
|
|
||||||
|
func (db *antidb) isInAntiList(uid, gid int64, msg string) bool {
|
||||||
|
grp := strconv.FormatInt(gid, 36)
|
||||||
|
db.RLock()
|
||||||
|
defer db.RUnlock()
|
||||||
|
return db.CanFind(grp, "WHERE instr('"+msg+"', word)>=0")
|
||||||
|
}
|
||||||
|
|
||||||
func (db *antidb) insertWord(gid int64, word string) error {
|
func (db *antidb) insertWord(gid int64, word string) error {
|
||||||
grp := strconv.FormatInt(gid, 36)
|
grp := strconv.FormatInt(gid, 36)
|
||||||
db.Lock()
|
db.Lock()
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user