aboutsummaryrefslogtreecommitdiff
path: root/lib/client.ml
blob: 921128179667c24b99f73100e63eb7106ea0b2eb (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
open Async

module Make(T : S.Token)(H : S.Handler) = struct
    include T

    module Http = Http.Make(T)
    module Dispatch = Dispatch.Make(H)
    module Sharder = Sharder.Make(Http)(Dispatch)

    type t = {
        sharder: Sharder.t;
        token: string;
    }

    let start ?count () =
        Sharder.start ?count ()
        >>| fun sharder ->
        { sharder; token; }

    let set_status ~status client =
        Sharder.set_status ~status client.sharder

    let set_status_with ~f client =
        Sharder.set_status_with ~f client.sharder

    let request_guild_members ~guild ?query ?limit client =
        Sharder.request_guild_members ~guild ?query ?limit client.sharder
end