-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathintf_guild.go
206 lines (179 loc) · 7.83 KB
/
intf_guild.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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
// 接口定义 - 两级群组接口
package libonebot
import "time"
// 群组消息事件
// https://12.onebot.dev/interface/guild/message-events/
// ChannelMessageEvent 表示一个频道消息事件.
type ChannelMessageEvent struct {
MessageEvent
GuildID string `json:"guild_id"` // 群组 ID
ChannelID string `json:"channel_id"` // 频道 ID
UserID string `json:"user_id"` // 用户 ID
}
// MakeChannelMessageEvent 构造一个频道消息事件.
func MakeChannelMessageEvent(time time.Time, messageID string, message Message, alt_message string, guildId string, channelID string, userID string) ChannelMessageEvent {
return ChannelMessageEvent{
MessageEvent: MakeMessageEvent(time, "channel", messageID, message, alt_message),
GuildID: guildId,
ChannelID: channelID,
UserID: userID,
}
}
// 群组通知事件
// https://12.onebot.dev/interface/guild/notice-events/
// GuildMemberIncreaseNoticeEvent 表示一个群组成员增加通知事件.
type GuildMemberIncreaseNoticeEvent struct {
NoticeEvent
GuildID string `json:"guild_id"` // 群组 ID
UserID string `json:"user_id"` // 用户 ID
OperatorID string `json:"operator_id"` // 操作者 ID
}
const (
GuildMemberIncreaseNoticeEventSubTypeJoin = "join" // 成员主动加入
GuildMemberIncreaseNoticeEventSubTypeInvite = "invite" // 成员被邀请加入
)
// MakeGuildMemberIncreaseNoticeEvent 构造一个群组成员增加通知事件.
func MakeGuildMemberIncreaseNoticeEvent(time time.Time, guildID string, userID string, operatorID string) GuildMemberIncreaseNoticeEvent {
return GuildMemberIncreaseNoticeEvent{
NoticeEvent: MakeNoticeEvent(time, "guild_member_increase"),
GuildID: guildID,
UserID: userID,
OperatorID: operatorID,
}
}
// GuildMemberDecreaseNoticeEvent 表示一个群组成员减少通知事件.
type GuildMemberDecreaseNoticeEvent struct {
NoticeEvent
GuildID string `json:"guild_id"` // 群组 ID
UserID string `json:"user_id"` // 用户 ID
OperatorID string `json:"operator_id"` // 操作者 ID
}
const (
GuildMemberDecreaseNoticeEventSubTypeLeave = "leave" // 成员主动退出
GuildMemberDecreaseNoticeEventSubTypeKick = "kick" // 成员被踢出
)
// MakeGuildMemberDecreaseNoticeEvent 构造一个群组成员减少通知事件.
func MakeGuildMemberDecreaseNoticeEvent(time time.Time, guildID string, userID string, operatorID string) GuildMemberDecreaseNoticeEvent {
return GuildMemberDecreaseNoticeEvent{
NoticeEvent: MakeNoticeEvent(time, "guild_member_decrease"),
GuildID: guildID,
UserID: userID,
OperatorID: operatorID,
}
}
// ChannelMemberIncreaseNoticeEvent 表示一个频道成员增加通知事件.
type ChannelMemberIncreaseNoticeEvent struct {
NoticeEvent
GuildID string `json:"guild_id"` // 群组 ID
ChannelID string `json:"channel_id"` // 频道 ID
UserID string `json:"user_id"` // 用户 ID
OperatorID string `json:"operator_id"` // 操作者 ID
}
const (
ChannelMemberIncreaseNoticeEventSubTypeJoin = "join" // 成员主动加入
ChannelMemberIncreaseNoticeEventSubTypeInvite = "invite" // 成员被邀请加入
)
// MakeChannelMemberIncreaseNoticeEvent 构造一个频道成员增加通知事件.
func MakeChannelMemberIncreaseNoticeEvent(time time.Time, guildID string, channelID string, userID string, operatorID string) ChannelMemberIncreaseNoticeEvent {
return ChannelMemberIncreaseNoticeEvent{
NoticeEvent: MakeNoticeEvent(time, "channel_member_increase"),
GuildID: guildID,
ChannelID: channelID,
UserID: userID,
OperatorID: operatorID,
}
}
// ChannelMemberDecreaseNoticeEvent 表示一个频道成员减少通知事件.
type ChannelMemberDecreaseNoticeEvent struct {
NoticeEvent
GuildID string `json:"guild_id"` // 群组 ID
ChannelID string `json:"channel_id"` // 频道 ID
UserID string `json:"user_id"` // 用户 ID
OperatorID string `json:"operator_id"` // 操作者 ID
}
const (
ChannelMemberDecreaseNoticeEventSubTypeLeave = "leave" // 成员主动退出
ChannelMemberDecreaseNoticeEventSubTypeKick = "kick" // 成员被踢出
)
// MakeChannelMemberDecreaseNoticeEvent 构造一个频道成员减少通知事件.
func MakeChannelMemberDecreaseNoticeEvent(time time.Time, guildID string, channelID string, userID string, operatorID string) ChannelMemberDecreaseNoticeEvent {
return ChannelMemberDecreaseNoticeEvent{
NoticeEvent: MakeNoticeEvent(time, "channel_member_decrease"),
GuildID: guildID,
ChannelID: channelID,
UserID: userID,
OperatorID: operatorID,
}
}
// ChannelMessageDeleteNoticeEvent 表示一个频道消息删除通知事件.
type ChannelMessageDeleteNoticeEvent struct {
NoticeEvent
GuildID string `json:"guild_id"` // 群组 ID
ChannelID string `json:"channel_id"` // 频道 ID
MessageID string `json:"message_id"` // 消息 ID
UserID string `json:"user_id"` // 消息发送者 ID
OperatorID string `json:"operator_id"` // 操作者 ID
}
const (
ChannelMessageDeleteNoticeEventSubTypeRecall = "recall" // 发送者主动删除
ChannelMessageDeleteNoticeEventSubTypeDelete = "delete" // 管理员删除
)
// MakeChannelMessageDeleteNoticeEvent 构造一个频道消息删除通知事件.
func MakeChannelMessageDeleteNoticeEvent(time time.Time, guildID string, channelID string, messageID string, userID string, operatorID string) ChannelMessageDeleteNoticeEvent {
return ChannelMessageDeleteNoticeEvent{
NoticeEvent: MakeNoticeEvent(time, "channel_message_delete"),
GuildID: guildID,
ChannelID: channelID,
MessageID: messageID,
UserID: userID,
OperatorID: operatorID,
}
}
// ChannelCreateNoticeEvent 表示一个频道新建事件.
type ChannelCreateNoticeEvent struct {
NoticeEvent
GuildID string `json:"guild_id"` // 群组 ID
ChannelID string `json:"channel_id"` // 频道 ID
OperatorID string `json:"operator_id"` // 操作者 ID
}
// MakeChannelCreateNoticeEvent 构造一个频道新建事件.
func MakeChannelCreateNoticeEvent(time time.Time, guildID string, channelID string, operatorID string) ChannelCreateNoticeEvent {
return ChannelCreateNoticeEvent{
NoticeEvent: MakeNoticeEvent(time, "channel_create"),
GuildID: guildID,
ChannelID: channelID,
OperatorID: operatorID,
}
}
// ChannelDeleteNoticeEvent 表示一个频道删除事件.
type ChannelDeleteNoticeEvent struct {
NoticeEvent
GuildID string `json:"guild_id"` // 群组 ID
ChannelID string `json:"channel_id"` // 频道 ID
OperatorID string `json:"operator_id"` // 操作者 ID
}
// MakeChannelDeleteNoticeEvent 构造一个频道删除事件.
func MakeChannelDeleteNoticeEvent(time time.Time, guildID string, channelID string, operatorID string) ChannelDeleteNoticeEvent {
return ChannelDeleteNoticeEvent{
NoticeEvent: MakeNoticeEvent(time, "channel_delete"),
GuildID: guildID,
ChannelID: channelID,
OperatorID: operatorID,
}
}
// 群组动作
// https://12.onebot.dev/interface/guild/actions/
const (
ActionGetGuildInfo = "get_guild_info" // 获取群组信息
ActionGetGuildList = "get_guild_list" // 获取群组列表
ActionSetGuildName = "set_guild_name" // 设置群组名称
ActionGetGuildMemberInfo = "get_guild_member_info" // 获取群组成员信息
ActionGetGuildMemberList = "get_guild_member_list" // 获取群组成员列表
ActionLeaveGuild = "leave_guild" // 退出群组
ActionGetChannelInfo = "get_channel_info" // 获取频道信息
ActionGetChannelList = "get_channel_list" // 获取频道列表
ActionSetChannelName = "set_channel_name" // 设置频道名称
ActionGetChannelMemberInfo = "get_channel_member_info" // 获取频道成员信息
ActionGetChannelMemberList = "get_channel_member_list" // 获取频道成员列表
ActionLeaveChannel = "leave_channel" // 退出频道
)