-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathupdates.go
267 lines (187 loc) · 6.51 KB
/
updates.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
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
package gottbot
// type update interface {
// GetUpdateType() UpdateType
// }
type MessageCallback struct {
// Timestamp Unix-time when event has occurred
Timestamp int64 `json:"timestamp"`
UpdateType UpdateType `json:"update_type"`
Callback *Callback `json:"callback"`
// Original message containing inline keyboard. Can be null in case it had been deleted by the moment a bot got this update
Message *Message `json:"message,omitempty"`
// Current user locale in IETF BCP 47 format
UserLocale string `json:"user_locale,omitempty"`
}
func (*MessageCallback) GetUpdateType() UpdateType {
return UpdateTypeMessageCallback
}
type MessageCreated struct {
// Timestamp Unix-time when event has occurred
Timestamp int64 `json:"timestamp"`
UpdateType UpdateType `json:"update_type"`
// Original message containing inline keyboard. Can be null in case it had been deleted by the moment a bot got this update
Message *Message `json:"message,omitempty"`
// Current user locale in IETF BCP 47 format
UserLocale string `json:"user_locale,omitempty"`
}
func (*MessageCreated) GetUpdateType() UpdateType {
return UpdateTypeMessageCreated
}
type MessageRemoved struct {
// Timestamp Unix-time when event has occurred
Timestamp int64 `json:"timestamp"`
UpdateType UpdateType `json:"update_type"`
// Identifier of removed message
MessageId string `json:"message_id"`
// Chat identifier where message has been deleted
ChatId int64 `json:"chat_id"`
// User who deleted this message
UserId int64 `json:"user_id"`
}
func (*MessageRemoved) GetUpdateType() UpdateType {
return UpdateTypeMessageRemoved
}
type MessageEdited struct {
// Timestamp Unix-time when event has occurred
Timestamp int64 `json:"timestamp"`
UpdateType UpdateType `json:"update_type"`
// Message edited
Message *Message `json:"message,omitempty"`
}
func (*MessageEdited) GetUpdateType() UpdateType {
return UpdateTypeMessageEdited
}
type BotAdded struct {
// Timestamp Unix-time when event has occurred
Timestamp int64 `json:"timestamp"`
UpdateType UpdateType `json:"update_type"`
// Chat identifier where bot is added
ChatId int64 `json:"chat_id"`
// User who added bot to chat
User *User `json:"user"`
// Indicates whether bot has been added to channel or not
IsChannel bool `json:"is_channel"`
}
func (*BotAdded) GetUpdateType() UpdateType {
return UpdateTypeBotAdded
}
type BotRemoved struct {
// Timestamp Unix-time when event has occurred
Timestamp int64 `json:"timestamp"`
UpdateType UpdateType `json:"update_type"`
// Chat identifier where bot is removed
ChatId int64 `json:"chat_id"`
// User who removed bot to chat
User *User `json:"user"`
// Indicates whether bot has been removed to channel or not
IsChannel bool `json:"is_channel"`
}
func (*BotRemoved) GetUpdateType() UpdateType {
return UpdateTypeBotRemoved
}
type UserAdded struct {
// Timestamp Unix-time when event has occurred
Timestamp int64 `json:"timestamp"`
UpdateType UpdateType `json:"update_type"`
// Chat identifier where event has occurred
ChatId int64 `json:"chat_id"`
// User added to chat
User *User `json:"user"`
// User who added user to chat. Can be null in case when user joined chat by link
InviderId int64 `json:"inviter_id,omitempty"`
// Indicates whether user has been added to channel or not
IsChannel bool `json:"is_channel"`
}
func (*UserAdded) GetUpdateType() UpdateType {
return UpdateTypeUserAdded
}
type UserRemoved struct {
// Timestamp Unix-time when event has occurred
Timestamp int64 `json:"timestamp"`
UpdateType UpdateType `json:"update_type"`
// Chat identifier where event has occurred
ChatId int64 `json:"chat_id"`
// User removed from chat
User *User `json:"user"`
// Administrator who removed user from chat. Can be null in case when user left chat
AdminId int64 `json:"admin_id,omitempty"`
// Indicates whether user has been removed from a channel or not
IsChannel bool `json:"is_channel"`
}
func (*UserRemoved) GetUpdateType() UpdateType {
return UpdateTypeUserRemoved
}
type BotStarted struct {
// Timestamp Unix-time when event has occurred
Timestamp int64 `json:"timestamp"`
UpdateType UpdateType `json:"update_type"`
// Dialog identifier where event has occurred
ChatId int64 `json:"chat_id"`
// User pressed the 'Start' button
User *User `json:"user"`
// Additional data from deep-link passed on bot startup
Payload string `json:"payload,omitempty"`
// Current user locale in IETF BCP 47 format
UserLocale string `json:"user_locale,omitempty"`
}
func (*BotStarted) GetUpdateType() UpdateType {
return UpdateTypeBotStarted
}
type ChatTitleChanged struct {
// Timestamp Unix-time when event has occurred
Timestamp int64 `json:"timestamp"`
UpdateType UpdateType `json:"update_type"`
// Dialog identifier where event has occurred
ChatId int64 `json:"chat_id"`
// User pressed the 'Start' button
User *User `json:"user"`
// New Title
Title string `json:"title"`
}
func (*ChatTitleChanged) GetUpdateType() UpdateType {
return UpdateTypeChatTitleChanged
}
type MessageConstructionRequest struct {
// Timestamp Unix-time when event has occurred
Timestamp int64 `json:"timestamp"`
UpdateType UpdateType `json:"update_type"`
// User pressed the 'Start' button
User *User `json:"user"`
// Constructor session identifier
SessionId string `json:"session_id"`
// data received from previous ConstructorAnswer
Data string `json:"data,omitempty"`
// User's input. It can be message (text/attachments) or simple button's callback
Input *Input `json:"input"`
// Current user locale in IETF BCP 47 format
UserLocale string `json:"user_locale,omitempty"`
}
func (*MessageConstructionRequest) GetUpdateType() UpdateType {
return UpdateTypeMessageConstructionRequest
}
type MessageConstructed struct {
// Timestamp Unix-time when event has occurred
Timestamp int64 `json:"timestamp"`
UpdateType UpdateType `json:"update_type"`
// User message
Message *Message `json:"message"`
// Constructor session identifier
SessionId string `json:"session_id"`
}
func (*MessageConstructed) GetUpdateType() UpdateType {
return UpdateTypeMessageConstructed
}
type MessageChatCreated struct {
// Timestamp Unix-time when event has occurred
Timestamp int64 `json:"timestamp"`
UpdateType UpdateType `json:"update_type"`
// Created chat
Chat *Chat `json:"chat"`
// Message identifier where the button has been clicked
MessageId string `json:"message_id"`
// Payload from chat button
StartPayload string `json:"start_payload,omitempty"`
}
func (*MessageChatCreated) GetUpdateType() UpdateType {
return UpdateTypeMessageChatCreated
}