1
0
mirror of https://github.com/Mrs4s/go-cqhttp.git synced 2025-05-07 12:43:31 +08:00

update event filter

对所有通信方式支持事件过滤器
This commit is contained in:
wdvxdr 2020-08-24 20:05:10 +08:00
parent 17f8232a1c
commit 801fa9a204
2 changed files with 7 additions and 6 deletions

View File

@ -10,6 +10,7 @@ import (
"github.com/Mrs4s/MiraiGo/message"
"github.com/Mrs4s/go-cqhttp/global"
log "github.com/sirupsen/logrus"
"github.com/tidwall/gjson"
"github.com/xujiajun/nutsdb"
"hash/crc32"
"path"
@ -208,6 +209,12 @@ func (bot *CQBot) Release() {
}
func (bot *CQBot) dispatchEventMessage(m MSG) {
payload := gjson.Parse(m.ToJson())
filter := global.GetFilter()
if filter != nil && (*filter).Eval(payload) == false {
log.Debug("Event filtered!")
return
}
for _, f := range bot.events {
fn := f
go func() {

View File

@ -172,12 +172,6 @@ func (c *websocketClient) listenApi(conn *websocketConn, u bool) {
}
func (c *websocketClient) onBotPushEvent(m coolq.MSG) {
payload := gjson.Parse(m.ToJson())
filter := global.GetFilter()
if filter != nil && (*filter).Eval(payload) == false {
log.Debug("Event filtered!")
return
}
if c.eventConn != nil {
log.Debugf("向WS服务器 %v 推送Event: %v", c.eventConn.RemoteAddr().String(), m.ToJson())
conn := c.eventConn