refactor: 重构消息类型的初始化逻辑,新增各消息类型的构造函数以提高代码可读性和可维护性

This commit is contained in:
lixiangwuxian
2025-04-09 23:00:37 +08:00
parent 10eba59c63
commit 144034939c
16 changed files with 88 additions and 20 deletions

View File

@@ -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)
}