blob: afe42095c6cb70c96654375455971be5cd40b97a (
plain) (
blame)
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
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
|
open Async
module type Token = sig
val token : string
end
module type Activity = sig end
module type Attachment = sig end
module type Ban = sig end
module type Channel = sig end
module type Embed = sig end
module type Emoji = sig end
module type Guild = sig end
module type Member = sig
(* val add_role : Member_t.t -> Role_t.t -> Yojson.Safe.json Deferred.t
val remove_role : Member_t.t -> Role_t.t -> Yojson.Safe.json Deferred.t
val ban : ?reason:string -> ?days:int -> Member_t.t -> Yojson.Safe.json Deferred.t
val ban : ?reason:string -> Member_t.t -> Yojson.Safe.json Deferred.t
val kick : ?reason:string -> Member_t.t -> Yojson.Safe.json Deferred.t
val mute : Member_t.t -> Yojson.Safe.json Deferred.t
val deafen : Member_t.t -> Yojson.Safe.json Deferred.t
val unmute : Member_t.t -> Yojson.Safe.json Deferred.t
val undeafen : Member_t.t -> Yojson.Safe.json Deferred.t *)
end
module type Message = sig
val add_reaction : Message_t.t -> Emoji_t.t -> Yojson.Safe.json Deferred.t
val remove_reaction : Message_t.t -> Emoji_t.t -> User_t.t -> Yojson.Safe.json Deferred.t
val clear_reactions : Message_t.t -> Yojson.Safe.json Deferred.t
val delete : Message_t.t -> Yojson.Safe.json Deferred.t
val pin : Message_t.t -> Yojson.Safe.json Deferred.t
val unpin : Message_t.t -> Yojson.Safe.json Deferred.t
val reply : Message_t.t -> string -> Yojson.Safe.json Deferred.t
val set_content : Message_t.t -> string -> Yojson.Safe.json Deferred.t
val set_embed : Message_t.t -> Embed_t.t -> Yojson.Safe.json Deferred.t
end
module type Presence = sig end
module type Reaction = sig end
module type Role = sig end
module type Snowflake = sig end
module type User = sig end
module type Http = sig
val token : string
module Base : sig
exception Invalid_Method
val base_url : string
val process_url : string -> Uri.t
val process_request_body : Yojson.Safe.json -> Cohttp_async.Body.t
val process_request_headers : unit -> Cohttp.Header.t
val process_response :
string ->
Cohttp_async.Response.t * Cohttp_async.Body.t ->
Yojson.Safe.json Deferred.t
val request :
?body:Yojson.Safe.json ->
[> `DELETE | `GET | `PATCH | `POST | `PUT ] ->
string ->
Yojson.Safe.json Deferred.t
end
(* Auto-generated signatures *)
val get_gateway : unit -> Yojson.Safe.json Conduit_async.io
val get_gateway_bot : unit -> Yojson.Safe.json Conduit_async.io
val get_channel : int -> Yojson.Safe.json Conduit_async.io
val modify_channel :
int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val delete_channel : int -> Yojson.Safe.json Conduit_async.io
val get_messages : int -> Yojson.Safe.json Conduit_async.io
val get_message : int -> int -> Yojson.Safe.json Conduit_async.io
val create_message :
int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val create_reaction :
int -> int -> string -> Yojson.Safe.json Conduit_async.io
val delete_own_reaction :
int -> int -> string -> Yojson.Safe.json Conduit_async.io
val delete_reaction :
int -> int -> string -> int -> Yojson.Safe.json Conduit_async.io
val get_reactions :
int -> int -> string -> Yojson.Safe.json Conduit_async.io
val delete_reactions : int -> int -> Yojson.Safe.json Conduit_async.io
val edit_message :
int -> int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val delete_message : int -> int -> Yojson.Safe.json Conduit_async.io
val bulk_delete :
int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val edit_channel_permissions :
int -> int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val get_channel_invites : int -> Yojson.Safe.json Conduit_async.io
val create_channel_invite :
int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val delete_channel_permission :
int -> int -> Yojson.Safe.json Conduit_async.io
val broadcast_typing : int -> Yojson.Safe.json Conduit_async.io
val get_pinned_messages : int -> Yojson.Safe.json Conduit_async.io
val pin_message : int -> int -> Yojson.Safe.json Conduit_async.io
val unpin_message : int -> int -> Yojson.Safe.json Conduit_async.io
val group_recipient_add : int -> int -> Yojson.Safe.json Conduit_async.io
val group_recipient_remove :
int -> int -> Yojson.Safe.json Conduit_async.io
val get_emojis : int -> Yojson.Safe.json Conduit_async.io
val get_emoji : int -> int -> Yojson.Safe.json Conduit_async.io
val create_emoji :
int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val edit_emoji :
int -> int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val delete_emoji : int -> int -> Yojson.Safe.json Conduit_async.io
val create_guild : Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val get_guild : int -> Yojson.Safe.json Conduit_async.io
val edit_guild :
int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val delete_guild : int -> Yojson.Safe.json Conduit_async.io
val get_guild_channels : int -> Yojson.Safe.json Conduit_async.io
val create_guild_channel :
int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val modify_guild_channel_positions :
int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val get_member : int -> int -> Yojson.Safe.json Conduit_async.io
val get_members : int -> Yojson.Safe.json Conduit_async.io
val add_member :
int -> int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val edit_member :
int -> int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val remove_member : int -> int -> Yojson.Safe.json Conduit_async.io
val change_nickname :
int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val add_member_role :
int -> int -> int -> Yojson.Safe.json Conduit_async.io
val remove_member_role :
int -> int -> int -> Yojson.Safe.json Conduit_async.io
val get_bans : int -> Yojson.Safe.json Conduit_async.io
val get_ban : int -> int -> Yojson.Safe.json Conduit_async.io
val guild_ban_add :
int -> int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val guild_ban_remove : int -> int -> Yojson.Safe.json Conduit_async.io
val get_roles : int -> Yojson.Safe.json Conduit_async.io
val guild_role_add :
int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val guild_roles_edit :
int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val guild_role_edit :
int -> int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val guild_role_remove : int -> int -> Yojson.Safe.json Conduit_async.io
val guild_prune_count : int -> Yojson.Safe.json Conduit_async.io
val guild_prune_start :
int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val get_guild_voice_regions : int -> Yojson.Safe.json Conduit_async.io
val get_guild_invites : int -> Yojson.Safe.json Conduit_async.io
val get_integrations : int -> Yojson.Safe.json Conduit_async.io
val add_integration :
int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val edit_integration :
int -> int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val delete_integration : int -> int -> Yojson.Safe.json Conduit_async.io
val sync_integration : int -> int -> Yojson.Safe.json Conduit_async.io
val get_guild_embed : int -> Yojson.Safe.json Conduit_async.io
val edit_guild_embed :
int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val get_vanity_url : int -> Yojson.Safe.json Conduit_async.io
val get_invite : string -> Yojson.Safe.json Conduit_async.io
val delete_invite : string -> Yojson.Safe.json Conduit_async.io
val get_current_user : unit -> Yojson.Safe.json Conduit_async.io
val edit_current_user :
Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val get_guilds : unit -> Yojson.Safe.json Conduit_async.io
val leave_guild : int -> Yojson.Safe.json Conduit_async.io
val get_private_channels : unit -> Yojson.Safe.json Conduit_async.io
val create_dm : Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val create_group_dm :
Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val get_connections : unit -> Yojson.Safe.json Conduit_async.io
val get_user : int -> Yojson.Safe.json Conduit_async.io
val get_voice_regions : unit -> Yojson.Safe.json Conduit_async.io
val create_webhook :
int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val get_channel_webhooks : int -> Yojson.Safe.json Conduit_async.io
val get_guild_webhooks : int -> Yojson.Safe.json Conduit_async.io
val get_webhook : int -> Yojson.Safe.json Conduit_async.io
val get_webhook_with_token :
int -> string -> Yojson.Safe.json Conduit_async.io
val edit_webhook :
int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val edit_webhook_with_token :
int -> string -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val delete_webhook : int -> Yojson.Safe.json Conduit_async.io
val delete_webhook_with_token :
int -> string -> Yojson.Safe.json Conduit_async.io
val execute_webhook :
int -> string -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val execute_slack_webhook :
int -> string -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val execute_git_webhook :
int -> string -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
val get_audit_logs :
int -> Yojson.Safe.json -> Yojson.Safe.json Conduit_async.io
end
module type Models = sig
module Http : Http
module Activity : Activity
module Attachment : Attachment
module Ban : Ban
module Channel : Channel
module Embed : Embed
module Emoji : Emoji
module Guild : Guild
module Member : Member
module Message : Message
module Presence : Presence
module Reaction : Reaction
module Role : Role
module Snowflake : Snowflake
module User : User
end
module type Handler = sig
val handle_event :
Event.t ->
unit
end
module type Handler_f = sig
module Make(Models : Models) : Handler
end
module type Dispatch = sig
val dispatch : ev:string -> string -> unit
end
module type Sharder = sig
exception Invalid_Payload
exception Failure_to_Establish_Heartbeat
type t
val start :
?count:int ->
unit ->
t Deferred.t
module Shard : sig
type shard
type 'a t = {
mutable state: 'a;
mutable binds: ('a -> unit) list;
}
val bind :
f:('a -> unit) ->
'a t ->
unit
val heartbeat :
shard ->
shard Deferred.t
val set_status :
status:Yojson.Safe.json ->
shard ->
shard Deferred.t
val request_guild_members :
?query:string ->
?limit:int ->
guild:Snowflake_t.t ->
shard ->
shard Deferred.t
val create :
url:string ->
shards:int * int ->
unit ->
shard Deferred.t
end
val set_status :
status:Yojson.Safe.json ->
t ->
Shard.shard list Deferred.t
val set_status_with :
f:(Shard.shard -> Yojson.Safe.json) ->
t ->
Shard.shard list Deferred.t
val request_guild_members :
?query:string ->
?limit:int ->
guild:Snowflake_t.t ->
t ->
Shard.shard list Deferred.t
end
|