Commit 801fa9a2 authored by wdvxdr's avatar wdvxdr

update event filter

对所有通信方式支持事件过滤器
parent 17f8232a
......@@ -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() {
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment