aboutsummaryrefslogtreecommitdiff
path: root/lib/sharder.ml
diff options
context:
space:
mode:
authorAdelyn Breedlove <[email protected]>2018-12-21 16:22:49 +0000
committerAdelyn Breedlove <[email protected]>2018-12-21 16:22:49 +0000
commitc23f6b323a7231cd2caee6520dc709799508c87e (patch)
tree4c238d53d2cbd9362f04044351582dd5f5e56d79 /lib/sharder.ml
parentMerge branch 'dev' into 'master' (diff)
parentUpdate README (diff)
downloaddisml-c23f6b323a7231cd2caee6520dc709799508c87e.tar.xz
disml-c23f6b323a7231cd2caee6520dc709799508c87e.zip
Merge branch 'dev' into 'master'
Merge work from dev See merge request Mishio595/disml!11
Diffstat (limited to 'lib/sharder.ml')
-rw-r--r--lib/sharder.ml12
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/sharder.ml b/lib/sharder.ml
index 98df132..b1c84a6 100644
--- a/lib/sharder.ml
+++ b/lib/sharder.ml
@@ -66,10 +66,10 @@ module Make(H : S.Http)(D : S.Dispatch) : S.Sharder = struct
let seq = J.(member "s" payload |> to_int) in
let t = J.(member "t" payload |> to_string) in
let data = J.member "d" payload in
- let session = J.(member "session_id" data |> to_string_option) in
- if t = "READY" then begin
- Ivar.fill_if_empty shard.ready ()
- end;
+ let session = if t = "READY" then begin
+ Ivar.fill_if_empty shard.ready ();
+ J.(member "session_id" data |> to_string_option)
+ end else None in
D.dispatch ~ev:t (Yojson.Safe.to_string data);
return { shard with
seq = seq;
@@ -288,6 +288,10 @@ module Make(H : S.Http)(D : S.Dispatch) : S.Sharder = struct
let start ?count () =
let module J = Yojson.Safe.Util in
H.get_gateway_bot () >>= fun data ->
+ let data = match data with
+ | Ok d -> Yojson.Safe.from_string d
+ | Error e -> Error.raise e
+ in
let url = J.(member "url" data |> to_string) in
let count = match count with
| Some c -> c