refactor: 重构消息类型的初始化逻辑,新增各消息类型的构造函数以提高代码可读性和可维护性
This commit is contained in:
parent
10eba59c63
commit
144034939c
@ -18,10 +18,14 @@ type AtMessageData struct {
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
RegisterMessageType(TypeAt, func() CQMessage {
|
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 {
|
func (msg *AtMessage) SetData(data json.RawMessage) error {
|
||||||
return json.Unmarshal(data, &msg.Data)
|
return json.Unmarshal(data, &msg.Data)
|
||||||
}
|
}
|
||||||
|
@ -19,10 +19,14 @@ type ContactMessageData struct {
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
RegisterMessageType(TypeContact, func() CQMessage {
|
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 {
|
func (msg *ContactMessage) SetData(data json.RawMessage) error {
|
||||||
return json.Unmarshal(data, &msg.Data)
|
return json.Unmarshal(data, &msg.Data)
|
||||||
}
|
}
|
||||||
|
@ -18,10 +18,14 @@ type FaceMessageData struct {
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
RegisterMessageType(TypeFace, func() CQMessage {
|
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 {
|
func (msg *FaceMessage) SetData(data json.RawMessage) error {
|
||||||
return json.Unmarshal(data, &msg.Data)
|
return json.Unmarshal(data, &msg.Data)
|
||||||
}
|
}
|
||||||
|
@ -24,10 +24,14 @@ type FileMessageData struct {
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
RegisterMessageType(TypeFile, func() CQMessage {
|
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 {
|
func (msg *FileMessage) SetData(data json.RawMessage) error {
|
||||||
return json.Unmarshal(data, &msg.Data)
|
return json.Unmarshal(data, &msg.Data)
|
||||||
}
|
}
|
||||||
|
@ -32,18 +32,26 @@ type NodeMessageData struct {
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
RegisterMessageType(TypeForward, func() CQMessage {
|
RegisterMessageType(TypeForward, func() CQMessage {
|
||||||
return &ForwardMessage{Type: TypeForward}
|
return NewForwardMessage()
|
||||||
})
|
})
|
||||||
RegisterMessageType(TypeNode, func() CQMessage {
|
RegisterMessageType(TypeNode, func() CQMessage {
|
||||||
return &NodeMessage{Type: TypeNode}
|
return NewNodeMessage()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func NewForwardMessage() *ForwardMessage {
|
||||||
|
return &ForwardMessage{Type: TypeForward}
|
||||||
|
}
|
||||||
|
|
||||||
// ForwardMessage methods
|
// ForwardMessage methods
|
||||||
func (msg *ForwardMessage) SetData(data json.RawMessage) error {
|
func (msg *ForwardMessage) SetData(data json.RawMessage) error {
|
||||||
return json.Unmarshal(data, &msg.Data)
|
return json.Unmarshal(data, &msg.Data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func NewNodeMessage() *NodeMessage {
|
||||||
|
return &NodeMessage{Type: TypeNode}
|
||||||
|
}
|
||||||
|
|
||||||
func (msg *ForwardMessage) ToCQString() string {
|
func (msg *ForwardMessage) ToCQString() string {
|
||||||
return fmt.Sprintf("[CQ:forward,id=%s]", msg.Data.ID)
|
return fmt.Sprintf("[CQ:forward,id=%s]", msg.Data.ID)
|
||||||
}
|
}
|
||||||
|
@ -29,13 +29,17 @@ type ImageMessageData struct {
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
RegisterMessageType(TypeImage, func() CQMessage {
|
RegisterMessageType(TypeImage, func() CQMessage {
|
||||||
return &ImageMessage{
|
return NewImageMessage()
|
||||||
Type: TypeImage,
|
|
||||||
Data: ImageMessageData{},
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func NewImageMessage() *ImageMessage {
|
||||||
|
return &ImageMessage{
|
||||||
|
Type: TypeImage,
|
||||||
|
Data: ImageMessageData{},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (msg *ImageMessage) SetData(data json.RawMessage) error {
|
func (msg *ImageMessage) SetData(data json.RawMessage) error {
|
||||||
return json.Unmarshal(data, &msg.Data)
|
return json.Unmarshal(data, &msg.Data)
|
||||||
}
|
}
|
||||||
|
@ -18,10 +18,14 @@ type JsonMessageData struct {
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
RegisterMessageType(TypeJson, func() CQMessage {
|
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 {
|
func (msg *JsonMessage) SetData(data json.RawMessage) error {
|
||||||
return json.Unmarshal(data, &msg.Data)
|
return json.Unmarshal(data, &msg.Data)
|
||||||
}
|
}
|
||||||
|
@ -18,10 +18,14 @@ type LightappMessageData struct {
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
RegisterMessageType(TypeLightapp, func() CQMessage {
|
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 {
|
func (msg *LightappMessage) SetData(data json.RawMessage) error {
|
||||||
return json.Unmarshal(data, &msg.Data)
|
return json.Unmarshal(data, &msg.Data)
|
||||||
}
|
}
|
||||||
|
@ -21,10 +21,14 @@ type LocationMessageData struct {
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
RegisterMessageType(TypeLocation, func() CQMessage {
|
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 {
|
func (msg *LocationMessage) SetData(data json.RawMessage) error {
|
||||||
return json.Unmarshal(data, &msg.Data)
|
return json.Unmarshal(data, &msg.Data)
|
||||||
}
|
}
|
||||||
|
@ -21,10 +21,14 @@ type MfaceMessageData struct {
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
RegisterMessageType(TypeMface, func() CQMessage {
|
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 {
|
func (msg *MfaceMessage) SetData(data json.RawMessage) error {
|
||||||
return json.Unmarshal(data, &msg.Data)
|
return json.Unmarshal(data, &msg.Data)
|
||||||
}
|
}
|
||||||
|
@ -24,10 +24,14 @@ type MusicMessageData struct {
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
RegisterMessageType(TypeMusic, func() CQMessage {
|
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 {
|
func (msg *MusicMessage) SetData(data json.RawMessage) error {
|
||||||
return json.Unmarshal(data, &msg.Data)
|
return json.Unmarshal(data, &msg.Data)
|
||||||
}
|
}
|
||||||
|
@ -24,10 +24,14 @@ type RecordMessageData struct {
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
RegisterMessageType(TypeRecord, func() CQMessage {
|
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 {
|
func (msg *RecordMessage) SetData(data json.RawMessage) error {
|
||||||
return json.Unmarshal(data, &msg.Data)
|
return json.Unmarshal(data, &msg.Data)
|
||||||
}
|
}
|
||||||
|
@ -18,10 +18,14 @@ type ReplyMessageData struct {
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
RegisterMessageType(TypeReply, func() CQMessage {
|
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 {
|
func (msg *ReplyMessage) SetData(data json.RawMessage) error {
|
||||||
return json.Unmarshal(data, &msg.Data)
|
return json.Unmarshal(data, &msg.Data)
|
||||||
}
|
}
|
||||||
|
@ -21,10 +21,14 @@ type ShareMessageData struct {
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
RegisterMessageType(TypeShare, func() CQMessage {
|
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 {
|
func (msg *ShareMessage) SetData(data json.RawMessage) error {
|
||||||
return json.Unmarshal(data, &msg.Data)
|
return json.Unmarshal(data, &msg.Data)
|
||||||
}
|
}
|
||||||
|
@ -16,10 +16,14 @@ type TextMessageData struct {
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
RegisterMessageType(TypeText, func() CQMessage {
|
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 {
|
func (msg *TextMessage) SetData(data json.RawMessage) error {
|
||||||
return json.Unmarshal(data, &msg.Data)
|
return json.Unmarshal(data, &msg.Data)
|
||||||
}
|
}
|
||||||
|
@ -25,10 +25,14 @@ type VideoMessageData struct {
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
RegisterMessageType(TypeVideo, func() CQMessage {
|
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 {
|
func (msg *VideoMessage) SetData(data json.RawMessage) error {
|
||||||
return json.Unmarshal(data, &msg.Data)
|
return json.Unmarshal(data, &msg.Data)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user