-
Notifications
You must be signed in to change notification settings - Fork 11
/
event_struct.go
122 lines (111 loc) · 3.38 KB
/
event_struct.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
package leafbot
import "github.com/huoxue1/leafbot/message"
type (
anonymous struct {
Id int `json:"id"`
Name string `json:"name"`
Flag string `json:"flag"`
}
Files struct {
Id string `json:"id"`
Name string `json:"name"`
Size int64 `json:"size"`
Busid int64 `json:"busid"`
FileUrl string `json:"url"`
}
Status struct {
AppEnabled bool `json:"app_enabled"`
AppGood bool `json:"app_good"`
AppInitialized bool `json:"app_initialized"`
Good bool `json:"good"`
Online bool `json:"online"`
PluginsGood interface{} `json:"plugins_good"`
Stat struct {
PacketReceived int `json:"packet_received"`
PacketSent int `json:"packet_sent"`
PacketLost int `json:"packet_lost"`
MessageReceived int `json:"message_received"`
MessageSent int `json:"message_sent"`
DisconnectTimes int `json:"disconnect_times"`
LostTimes int `json:"lost_times"`
LastMessageTime int `json:"last_message_time"`
} `json:"stat"`
}
MessageIds struct {
MessageID int32 `json:"message_id"`
}
Senders struct {
Age int `json:"age"`
Area string `json:"area"`
Card string `json:"card"`
Level string `json:"level"`
NickName string `json:"nickname"`
Role string `json:"role"`
Sex string `json:"sex"`
Title string `json:"title"`
UserId int `json:"user_id"`
}
// Event
/*
* 事件
*
*/
Event struct {
Anonymous anonymous `json:"anonymous"`
Font int `json:"font"`
GroupId int64 `json:"group_id"`
Message message.Message `json:"message"`
MessageType string `json:"message_type"`
PostType string `json:"post_type"`
RawMessage string `json:"raw_message"`
SelfId int64 `json:"self_id"`
Sender Senders `json:"sender"`
SubType string `json:"sub_type"`
UserId int64 `json:"user_id"`
Time int `json:"time"`
NoticeType string `json:"notice_type"`
RequestType string `json:"request_type"`
Comment string `json:"comment"`
Flag string `json:"flag"`
OperatorID int `json:"operator_id"`
File Files `json:"file"`
Duration int64 `json:"duration"`
TargetId int64 `json:"target_id"` // 运气王id
HonorType string `json:"honor_type"`
MetaEventType string `json:"meta_event_type"`
Status Status `json:"status"`
Interval int `json:"interval"`
CardNew string `json:"card_new"` // 新名片
CardOld string `json:"card_old"` // 旧名片
MessageIds
GuildID int64 `json:"guild_id"`
ChannelID int64 `json:"channel_id"`
}
)
// GetMsg
/**
* @Description:
* @receiver e
* @return message.Message
*/
func (e Event) GetMsg() message.Message {
return e.Message
}
func (e Event) GetPlainText() string {
content := ""
for _, mes := range e.Message {
if mes.Type == "text" {
content += mes.Data["text"]
}
}
return content
}
func (e Event) GetImages() []message.MessageSegment {
var images []message.MessageSegment
for _, mes := range e.Message {
if mes.Type == "image" {
images = append(images, mes)
}
}
return images
}