From 8c639011224628dc2a87608768e6d20a811fdfc6 Mon Sep 17 00:00:00 2001 From: Redmomn <109732988+Redmomn@users.noreply.github.com> Date: Fri, 28 Jun 2024 20:18:36 +0800 Subject: [PATCH] refactor: move event processor --- client/event.go | 30 ------------------------------ client/listener.go | 32 ++++++++++++++++++++++++++++++-- 2 files changed, 30 insertions(+), 32 deletions(-) diff --git a/client/event.go b/client/event.go index 3ea73fa9..8f9abd1e 100644 --- a/client/event.go +++ b/client/event.go @@ -5,8 +5,6 @@ package client import ( "runtime/debug" "sync" - - "github.com/LagrangeDev/LagrangeGo/message" ) // protected all EventHandle, since write is very rare, use @@ -57,31 +55,3 @@ func (c *QQClient) onGroupMessageReceipt(id string, f ...func(*QQClient, *groupM } c.eventHandlers.groupMessageReceiptHandlers.LoadOrStore(id, f[0]) } - -func (c *QQClient) PreProcessGroupMessageEvent(msg *message.GroupMessage) error { - for _, elem := range msg.Elements { - switch e := elem.(type) { - case *message.VoiceElement: - url, err := c.GetGroupRecordUrl(msg.GroupCode, e.Node) - if err != nil { - return err - } - e.Url = url - } - } - return nil -} - -func (c *QQClient) PreProcessPrivateMessageEvent(msg *message.PrivateMessage) error { - for _, elem := range msg.Elements { - switch e := elem.(type) { - case *message.VoiceElement: - url, err := c.GetRecordUrl(e.Node) - if err != nil { - return err - } - e.Url = url - } - } - return nil -} diff --git a/client/listener.go b/client/listener.go index 3e8a1691..8ef41751 100644 --- a/client/listener.go +++ b/client/listener.go @@ -41,7 +41,7 @@ func decodeOlPushServicePacket(c *QQClient, pkt *network.Packet) (any, error) { switch typ { case 166, 208: // 166 for private msg, 208 for private record prvMsg := msgConverter.ParsePrivateMessage(&msg) - _ = c.PreProcessPrivateMessageEvent(prvMsg) + _ = c.PreprocessPrivateMessageEvent(prvMsg) if prvMsg.Sender.Uin != c.Uin { c.PrivateMessageEvent.dispatch(c, prvMsg) } else { @@ -50,7 +50,7 @@ func decodeOlPushServicePacket(c *QQClient, pkt *network.Packet) (any, error) { return nil, nil case 82: // group msg grpMsg := msgConverter.ParseGroupMessage(&msg) - _ = c.PreProcessGroupMessageEvent(grpMsg) + _ = c.PreprocessGroupMessageEvent(grpMsg) if grpMsg.Sender.Uin != c.Uin { c.GroupMessageEvent.dispatch(c, grpMsg) } else { @@ -191,3 +191,31 @@ func decodeOlPushServicePacket(c *QQClient, pkt *network.Packet) (any, error) { func decodeKickNTPacket(c *QQClient, pkt *network.Packet) (any, error) { return nil, nil } + +func (c *QQClient) PreprocessGroupMessageEvent(msg *msgConverter.GroupMessage) error { + for _, elem := range msg.Elements { + switch e := elem.(type) { + case *msgConverter.VoiceElement: + url, err := c.GetGroupRecordUrl(msg.GroupCode, e.Node) + if err != nil { + return err + } + e.Url = url + } + } + return nil +} + +func (c *QQClient) PreprocessPrivateMessageEvent(msg *msgConverter.PrivateMessage) error { + for _, elem := range msg.Elements { + switch e := elem.(type) { + case *msgConverter.VoiceElement: + url, err := c.GetRecordUrl(e.Node) + if err != nil { + return err + } + e.Url = url + } + } + return nil +}