44 lines
1.1 KiB
Go
44 lines
1.1 KiB
Go
package napcat
|
|
|
|
import "encoding/json"
|
|
|
|
type Message struct {
|
|
SelfID int `json:"self_id"`
|
|
UserID int `json:"user_id"`
|
|
Time int `json:"time"`
|
|
MessageID int `json:"message_id"`
|
|
MessageSeq int `json:"message_seq"`
|
|
ReadID string `json:"read_id"`
|
|
MessageType string `json:"message_type"`
|
|
Sender Sender `json:"sender"`
|
|
RawMessage string `json:"raw_message"`
|
|
Font int `json:"font"`
|
|
SubType string `json:"sub_type"`
|
|
Message []struct {
|
|
Type string `json:"type"`
|
|
Data struct {
|
|
Text string `json:"text"`
|
|
} `json:"data"`
|
|
} `json:"message"`
|
|
MessageFormat string `json:"message_format"`
|
|
PostType string `json:"post_type"`
|
|
GroupID int `json:"group_id"`
|
|
GroupName string `json:"group_name"`
|
|
}
|
|
|
|
type Sender struct {
|
|
UserID int `json:"user_id"`
|
|
Nickname string `json:"nickname"`
|
|
Card string `json:"card"`
|
|
Role string `json:"role"`
|
|
}
|
|
|
|
func Parse(message []byte) (*Message, error) {
|
|
var msg Message
|
|
err := json.Unmarshal(message, &msg)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &msg, nil
|
|
}
|