aboutsummaryrefslogtreecommitdiff
path: root/lib/gateway
diff options
context:
space:
mode:
authorAdelyn Breedlove <[email protected]>2019-02-17 15:23:36 -0700
committerAdelyn Breedlove <[email protected]>2019-02-17 15:23:36 -0700
commit28301389cd3a674287b5fb6a7ea68e5003b08920 (patch)
treed836156c0dff36154789146adaaf7c3ffc881199 /lib/gateway
parentFix a session logic error (diff)
downloaddisml-28301389cd3a674287b5fb6a7ea68e5003b08920.tar.xz
disml-28301389cd3a674287b5fb6a7ea68e5003b08920.zip
Add optional URL paramater to set_status
Diffstat (limited to 'lib/gateway')
-rw-r--r--lib/gateway/sharder.ml13
-rw-r--r--lib/gateway/sharder.mli2
2 files changed, 11 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 =
diff --git a/lib/gateway/sharder.mli b/lib/gateway/sharder.mli
index 1851265..bbd8617 100644
--- a/lib/gateway/sharder.mli
+++ b/lib/gateway/sharder.mli
@@ -52,6 +52,7 @@ module Shard : sig
?kind:int ->
?name:string ->
?since:int ->
+ ?url:string ->
shard ->
shard Deferred.t
@@ -85,6 +86,7 @@ val set_status :
?kind:int ->
?name:string ->
?since:int ->
+ ?url:string ->
t ->
Shard.shard list Deferred.t