-
-
Notifications
You must be signed in to change notification settings - Fork 128
/
query.go
131 lines (111 loc) · 3.81 KB
/
query.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
// Package query contains generic pagination helpers.
package query
import (
"github.com/gotd/td/telegram/query/channels/participants"
"github.com/gotd/td/telegram/query/contacts/blocked"
"github.com/gotd/td/telegram/query/dialogs"
"github.com/gotd/td/telegram/query/messages"
"github.com/gotd/td/telegram/query/messages/stickers/featured"
"github.com/gotd/td/telegram/query/photos"
"github.com/gotd/td/tg"
)
// Query is common struct to create query builders.
type Query struct {
raw *tg.Client
}
// NewQuery creates Query.
func NewQuery(raw *tg.Client) *Query {
return &Query{raw: raw}
}
// Participants creates participants.QueryBuilder
func (q *Query) Participants() *participants.QueryBuilder {
return participants.NewQueryBuilder(q.raw)
}
// Blocked creates blocked.QueryBuilder
func (q *Query) Blocked() *blocked.QueryBuilder {
return blocked.NewQueryBuilder(q.raw)
}
// Photos creates photos.QueryBuilder
func (q *Query) Photos() *photos.QueryBuilder {
return photos.NewQueryBuilder(q.raw)
}
// Dialogs creates dialogs.QueryBuilder
func (q *Query) Dialogs() *dialogs.QueryBuilder {
return dialogs.NewQueryBuilder(q.raw)
}
// Messages creates messages.QueryBuilder.
func (q *Query) Messages() *messages.QueryBuilder {
return messages.NewQueryBuilder(q.raw)
}
// Featured creates featured.QueryBuilder
func (q *Query) Featured() *featured.QueryBuilder {
return featured.NewQueryBuilder(q.raw)
}
// GetParticipants creates participants.GetParticipantsQueryBuilder.
func (q *Query) GetParticipants(channel tg.InputChannelClass) *participants.GetParticipantsQueryBuilder {
return participants.NewQueryBuilder(q.raw).GetParticipants(channel)
}
// GetParticipants creates participants.GetParticipantsQueryBuilder.
// Shorthand for
//
// query.NewQuery(raw).GetParticipants(channel)
//
func GetParticipants(raw *tg.Client, channel tg.InputChannelClass) *participants.GetParticipantsQueryBuilder {
return NewQuery(raw).GetParticipants(channel)
}
// GetBlocked creates blocked.GetBlockedQueryBuilder.
func (q *Query) GetBlocked() *blocked.GetBlockedQueryBuilder {
return blocked.NewQueryBuilder(q.raw).GetBlocked()
}
// GetBlocked creates blocked.GetBlockedQueryBuilder.
// Shorthand for
//
// query.NewQuery(raw).GetBlocked()
//
func GetBlocked(raw *tg.Client) *blocked.GetBlockedQueryBuilder {
return NewQuery(raw).GetBlocked()
}
// GetUserPhotos creates photos.GetUserPhotosQueryBuilder.
func (q *Query) GetUserPhotos(user tg.InputUserClass) *photos.GetUserPhotosQueryBuilder {
return photos.NewQueryBuilder(q.raw).GetUserPhotos(user)
}
// GetUserPhotos creates photos.GetUserPhotosQueryBuilder.
// Shorthand for
//
// query.NewQuery(raw).GetUserPhotos(user)
//
func GetUserPhotos(raw *tg.Client, user tg.InputUserClass) *photos.GetUserPhotosQueryBuilder {
return NewQuery(raw).GetUserPhotos(user)
}
// GetDialogs creates dialogs.GetDialogsQueryBuilder.
func (q *Query) GetDialogs() *dialogs.GetDialogsQueryBuilder {
return dialogs.NewQueryBuilder(q.raw).GetDialogs()
}
// Messages creates messages.QueryBuilder.
// Shorthand for
//
// query.NewQuery(raw).Messages()
//
func Messages(raw *tg.Client) *messages.QueryBuilder {
return NewQuery(raw).Messages()
}
// GetDialogs creates dialogs.GetDialogsQueryBuilder.
// Shorthand for
//
// query.NewQuery(raw).GetDialogs()
//
func GetDialogs(raw *tg.Client) *dialogs.GetDialogsQueryBuilder {
return NewQuery(raw).GetDialogs()
}
// GetOldFeaturedStickers creates featured.QueryBuilder.
func (q *Query) GetOldFeaturedStickers() *featured.GetOldFeaturedStickersQueryBuilder {
return featured.NewQueryBuilder(q.raw).GetOldFeaturedStickers()
}
// GetOldFeaturedStickers creates featured.QueryBuilder.
// Shorthand for
//
// query.NewQuery(raw).GetOldFeaturedStickers()
//
func GetOldFeaturedStickers(raw *tg.Client) *featured.GetOldFeaturedStickersQueryBuilder {
return NewQuery(raw).GetOldFeaturedStickers()
}