diff options
| author | Adelyn Breedlove <[email protected]> | 2019-02-17 15:23:36 -0700 |
|---|---|---|
| committer | Adelyn Breedlove <[email protected]> | 2019-02-17 15:23:36 -0700 |
| commit | 28301389cd3a674287b5fb6a7ea68e5003b08920 (patch) | |
| tree | d836156c0dff36154789146adaaf7c3ffc881199 /lib/gateway/sharder.ml | |
| parent | Fix a session logic error (diff) | |
| download | disml-28301389cd3a674287b5fb6a7ea68e5003b08920.tar.xz disml-28301389cd3a674287b5fb6a7ea68e5003b08920.zip | |
Add optional URL paramater to set_status
Diffstat (limited to 'lib/gateway/sharder.ml')
| -rw-r--r-- | lib/gateway/sharder.ml | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/lib/gateway/sharder.ml b/lib/gateway/sharder.ml index cd91e1a..71e900d 100644 --- a/lib/gateway/sharder.ml +++ b/lib/gateway/sharder.ml @@ -107,10 +107,15 @@ module Shard = struct ; session = session
}
- let set_status ?(status="online") ?(kind=0) ?name ?since shard =
+ let set_status ?(status="online") ?(kind=0) ?name ?since ?url shard =
let since = Option.(since >>| (fun v -> `Int v) |> value ~default:`Null) in
+ let url = Option.(url >>| (fun v -> `String v) |> value ~default:`Null) in
let game = match name with
- | Some name -> `Assoc [ "name", `String name; "type", `Int kind ]
+ | Some name -> `Assoc
+ [ "name", `String name
+ ; "type", `Int kind
+ ; "url", url
+ ]
| None -> `Null
in
let payload = `Assoc
@@ -361,9 +366,9 @@ let start ?count ?compress ?large_threshold () = >>| fun shards ->
{ shards }
-let set_status ?status ?kind ?name ?since sharder =
+let set_status ?status ?kind ?name ?since ?url sharder =
Deferred.all @@ List.map ~f:(fun t ->
- Shard.set_status ?status ?kind ?name ?since t.state
+ Shard.set_status ?status ?kind ?name ?since ?url t.state
) sharder.shards
let request_guild_members ?query ?limit ~guild sharder =
|