-
Notifications
You must be signed in to change notification settings - Fork 0
/
server_message_updated.go
49 lines (38 loc) · 1.23 KB
/
server_message_updated.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
package tdproto
func NewServerMessageUpdated(messages []Message, delayed bool, counters *ChatCounters, teamUnread *TeamUnread, badge *uint) (r ServerMessageUpdated) {
r.Name = r.GetName()
r.ConfirmId = ConfirmId()
r.Params.Messages = messages
r.Params.Delayed = delayed
r.Params.ChatCounters = make([]ChatCounters, 0)
if counters != nil {
r.Params.ChatCounters = append(r.Params.ChatCounters, *counters)
}
if teamUnread != nil {
if badge == nil {
panic("programming error: empty badge")
}
r.Params.TeamUnread = teamUnread
r.Params.Badge = badge
}
return r
}
// Chat message created, updated or deleted
type ServerMessageUpdated struct {
BaseEvent
Params serverMessageUpdatedParams `json:"params"`
}
func (p ServerMessageUpdated) GetName() string { return "server.message.updated" }
// Params of the server.message.updated event
type serverMessageUpdatedParams struct {
// Messages data
Messages []Message `json:"messages"`
// true = silently message update, false = new message
Delayed bool `json:"delayed"`
// Chat counters
ChatCounters []ChatCounters `json:"chat_counters"`
// Current team counters
TeamUnread *TeamUnread `json:"team_unread"`
// Total number of unreads, if changed
Badge *uint `json:"badge"`
}