diff options
| author | Adelyn Breedlove <[email protected]> | 2018-12-21 16:22:49 +0000 |
|---|---|---|
| committer | Adelyn Breedlove <[email protected]> | 2018-12-21 16:22:49 +0000 |
| commit | c23f6b323a7231cd2caee6520dc709799508c87e (patch) | |
| tree | 4c238d53d2cbd9362f04044351582dd5f5e56d79 /lib/sharder.ml | |
| parent | Merge branch 'dev' into 'master' (diff) | |
| parent | Update README (diff) | |
| download | disml-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.ml | 12 |
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 |