From 144034939c7463fe57e27f34bec8bc2c30c82905 Mon Sep 17 00:00:00 2001 From: lixiangwuxian Date: Wed, 9 Apr 2025 23:00:37 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E9=87=8D=E6=9E=84=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E7=B1=BB=E5=9E=8B=E7=9A=84=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=E9=80=BB=E8=BE=91=EF=BC=8C=E6=96=B0=E5=A2=9E=E5=90=84=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E7=B1=BB=E5=9E=8B=E7=9A=84=E6=9E=84=E9=80=A0=E5=87=BD?= =?UTF-8?q?=E6=95=B0=E4=BB=A5=E6=8F=90=E9=AB=98=E4=BB=A3=E7=A0=81=E5=8F=AF?= =?UTF-8?q?=E8=AF=BB=E6=80=A7=E5=92=8C=E5=8F=AF=E7=BB=B4=E6=8A=A4=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- message/at.go | 6 +++++- message/contact.go | 6 +++++- message/face.go | 6 +++++- message/file.go | 6 +++++- message/forward.go | 12 ++++++++++-- message/image.go | 12 ++++++++---- message/json.go | 6 +++++- message/lightapp.go | 6 +++++- message/location.go | 6 +++++- message/mface.go | 6 +++++- message/music.go | 6 +++++- message/record.go | 6 +++++- message/reply.go | 6 +++++- message/share.go | 6 +++++- message/text.go | 6 +++++- message/video.go | 6 +++++- 16 files changed, 88 insertions(+), 20 deletions(-) diff --git a/message/at.go b/message/at.go index 2657b37..a337f00 100644 --- a/message/at.go +++ b/message/at.go @@ -18,10 +18,14 @@ type AtMessageData struct { func init() { RegisterMessageType(TypeAt, func() CQMessage { - return &AtMessage{Type: TypeAt} + return NewAtMessage() }) } +func NewAtMessage() *AtMessage { + return &AtMessage{Type: TypeAt} +} + func (msg *AtMessage) SetData(data json.RawMessage) error { return json.Unmarshal(data, &msg.Data) } diff --git a/message/contact.go b/message/contact.go index 65b8632..46ec6a3 100644 --- a/message/contact.go +++ b/message/contact.go @@ -19,10 +19,14 @@ type ContactMessageData struct { func init() { RegisterMessageType(TypeContact, func() CQMessage { - return &ContactMessage{Type: TypeContact} + return NewContactMessage() }) } +func NewContactMessage() *ContactMessage { + return &ContactMessage{Type: TypeContact} +} + func (msg *ContactMessage) SetData(data json.RawMessage) error { return json.Unmarshal(data, &msg.Data) } diff --git a/message/face.go b/message/face.go index 2fa04f8..467dfa8 100644 --- a/message/face.go +++ b/message/face.go @@ -18,10 +18,14 @@ type FaceMessageData struct { func init() { RegisterMessageType(TypeFace, func() CQMessage { - return &FaceMessage{Type: TypeFace} + return NewFaceMessage() }) } +func NewFaceMessage() *FaceMessage { + return &FaceMessage{Type: TypeFace} +} + func (msg *FaceMessage) SetData(data json.RawMessage) error { return json.Unmarshal(data, &msg.Data) } diff --git a/message/file.go b/message/file.go index f2309b9..10b7888 100644 --- a/message/file.go +++ b/message/file.go @@ -24,10 +24,14 @@ type FileMessageData struct { func init() { RegisterMessageType(TypeFile, func() CQMessage { - return &FileMessage{Type: TypeFile} + return NewFileMessage() }) } +func NewFileMessage() *FileMessage { + return &FileMessage{Type: TypeFile} +} + func (msg *FileMessage) SetData(data json.RawMessage) error { return json.Unmarshal(data, &msg.Data) } diff --git a/message/forward.go b/message/forward.go index c1af0f0..9709674 100644 --- a/message/forward.go +++ b/message/forward.go @@ -32,18 +32,26 @@ type NodeMessageData struct { func init() { RegisterMessageType(TypeForward, func() CQMessage { - return &ForwardMessage{Type: TypeForward} + return NewForwardMessage() }) RegisterMessageType(TypeNode, func() CQMessage { - return &NodeMessage{Type: TypeNode} + return NewNodeMessage() }) } +func NewForwardMessage() *ForwardMessage { + return &ForwardMessage{Type: TypeForward} +} + // ForwardMessage methods func (msg *ForwardMessage) SetData(data json.RawMessage) error { return json.Unmarshal(data, &msg.Data) } +func NewNodeMessage() *NodeMessage { + return &NodeMessage{Type: TypeNode} +} + func (msg *ForwardMessage) ToCQString() string { return fmt.Sprintf("[CQ:forward,id=%s]", msg.Data.ID) } diff --git a/message/image.go b/message/image.go index 237997e..fd7359f 100644 --- a/message/image.go +++ b/message/image.go @@ -29,13 +29,17 @@ type ImageMessageData struct { func init() { RegisterMessageType(TypeImage, func() CQMessage { - return &ImageMessage{ - Type: TypeImage, - Data: ImageMessageData{}, - } + return NewImageMessage() }) } +func NewImageMessage() *ImageMessage { + return &ImageMessage{ + Type: TypeImage, + Data: ImageMessageData{}, + } +} + func (msg *ImageMessage) SetData(data json.RawMessage) error { return json.Unmarshal(data, &msg.Data) } diff --git a/message/json.go b/message/json.go index a5dbedf..9beda9a 100644 --- a/message/json.go +++ b/message/json.go @@ -18,10 +18,14 @@ type JsonMessageData struct { func init() { RegisterMessageType(TypeJson, func() CQMessage { - return &JsonMessage{Type: TypeJson} + return NewJsonMessage() }) } +func NewJsonMessage() *JsonMessage { + return &JsonMessage{Type: TypeJson} +} + func (msg *JsonMessage) SetData(data json.RawMessage) error { return json.Unmarshal(data, &msg.Data) } diff --git a/message/lightapp.go b/message/lightapp.go index 4ed264c..c177468 100644 --- a/message/lightapp.go +++ b/message/lightapp.go @@ -18,10 +18,14 @@ type LightappMessageData struct { func init() { RegisterMessageType(TypeLightapp, func() CQMessage { - return &LightappMessage{Type: TypeLightapp} + return NewLightappMessage() }) } +func NewLightappMessage() *LightappMessage { + return &LightappMessage{Type: TypeLightapp} +} + func (msg *LightappMessage) SetData(data json.RawMessage) error { return json.Unmarshal(data, &msg.Data) } diff --git a/message/location.go b/message/location.go index 25195a6..671b4a5 100644 --- a/message/location.go +++ b/message/location.go @@ -21,10 +21,14 @@ type LocationMessageData struct { func init() { RegisterMessageType(TypeLocation, func() CQMessage { - return &LocationMessage{Type: TypeLocation} + return NewLocationMessage() }) } +func NewLocationMessage() *LocationMessage { + return &LocationMessage{Type: TypeLocation} +} + func (msg *LocationMessage) SetData(data json.RawMessage) error { return json.Unmarshal(data, &msg.Data) } diff --git a/message/mface.go b/message/mface.go index 9a4c8f2..e345f2a 100644 --- a/message/mface.go +++ b/message/mface.go @@ -21,10 +21,14 @@ type MfaceMessageData struct { func init() { RegisterMessageType(TypeMface, func() CQMessage { - return &MfaceMessage{Type: TypeMface} + return NewMfaceMessage() }) } +func NewMfaceMessage() *MfaceMessage { + return &MfaceMessage{Type: TypeMface} +} + func (msg *MfaceMessage) SetData(data json.RawMessage) error { return json.Unmarshal(data, &msg.Data) } diff --git a/message/music.go b/message/music.go index a4606e7..4ed5ffc 100644 --- a/message/music.go +++ b/message/music.go @@ -24,10 +24,14 @@ type MusicMessageData struct { func init() { RegisterMessageType(TypeMusic, func() CQMessage { - return &MusicMessage{Type: TypeMusic} + return NewMusicMessage() }) } +func NewMusicMessage() *MusicMessage { + return &MusicMessage{Type: TypeMusic} +} + func (msg *MusicMessage) SetData(data json.RawMessage) error { return json.Unmarshal(data, &msg.Data) } diff --git a/message/record.go b/message/record.go index 45a8a1b..52ba6cd 100644 --- a/message/record.go +++ b/message/record.go @@ -24,10 +24,14 @@ type RecordMessageData struct { func init() { RegisterMessageType(TypeRecord, func() CQMessage { - return &RecordMessage{Type: TypeRecord} + return NewRecordMessage() }) } +func NewRecordMessage() *RecordMessage { + return &RecordMessage{Type: TypeRecord} +} + func (msg *RecordMessage) SetData(data json.RawMessage) error { return json.Unmarshal(data, &msg.Data) } diff --git a/message/reply.go b/message/reply.go index 2afbc22..6204d87 100644 --- a/message/reply.go +++ b/message/reply.go @@ -18,10 +18,14 @@ type ReplyMessageData struct { func init() { RegisterMessageType(TypeReply, func() CQMessage { - return &ReplyMessage{Type: TypeReply} + return NewReplyMessage() }) } +func NewReplyMessage() *ReplyMessage { + return &ReplyMessage{Type: TypeReply} +} + func (msg *ReplyMessage) SetData(data json.RawMessage) error { return json.Unmarshal(data, &msg.Data) } diff --git a/message/share.go b/message/share.go index 0e28b06..e878f0a 100644 --- a/message/share.go +++ b/message/share.go @@ -21,10 +21,14 @@ type ShareMessageData struct { func init() { RegisterMessageType(TypeShare, func() CQMessage { - return &ShareMessage{Type: TypeShare} + return NewShareMessage() }) } +func NewShareMessage() *ShareMessage { + return &ShareMessage{Type: TypeShare} +} + func (msg *ShareMessage) SetData(data json.RawMessage) error { return json.Unmarshal(data, &msg.Data) } diff --git a/message/text.go b/message/text.go index 8b1b5bf..58074de 100644 --- a/message/text.go +++ b/message/text.go @@ -16,10 +16,14 @@ type TextMessageData struct { func init() { RegisterMessageType(TypeText, func() CQMessage { - return &TextMessage{Type: TypeText} + return NewTextMessage() }) } +func NewTextMessage() *TextMessage { + return &TextMessage{Type: TypeText} +} + func (msg *TextMessage) SetData(data json.RawMessage) error { return json.Unmarshal(data, &msg.Data) } diff --git a/message/video.go b/message/video.go index e152790..c6e55dc 100644 --- a/message/video.go +++ b/message/video.go @@ -25,10 +25,14 @@ type VideoMessageData struct { func init() { RegisterMessageType(TypeVideo, func() CQMessage { - return &VideoMessage{Type: TypeVideo} + return NewVideoMessage() }) } +func NewVideoMessage() *VideoMessage { + return &VideoMessage{Type: TypeVideo} +} + func (msg *VideoMessage) SetData(data json.RawMessage) error { return json.Unmarshal(data, &msg.Data) }