aboutsummaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorMishio595 <[email protected]>2018-11-10 16:34:47 -0700
committerMishio595 <[email protected]>2018-11-10 16:34:47 -0700
commit33d03d565acf6dbbf4841e54296ae7189730fbe9 (patch)
treee8f53f32380620ae17624d569873a88858145e12 /bin
parentAdd test executable to repo (diff)
downloaddisml-33d03d565acf6dbbf4841e54296ae7189730fbe9.tar.xz
disml-33d03d565acf6dbbf4841e54296ae7189730fbe9.zip
Initial multi-shard support
Diffstat (limited to 'bin')
-rw-r--r--bin/bot.ml35
1 files changed, 11 insertions, 24 deletions
diff --git a/bin/bot.ml b/bin/bot.ml
index c08218d..7b8e67a 100644
--- a/bin/bot.ml
+++ b/bin/bot.ml
@@ -1,30 +1,17 @@
open Lwt.Infix
open Animus
-let _ =
- let data = Lwt_main.run (Http.get_gateway_bot ()) in
- (* Yojson.Basic.pretty_print Format.std_formatter data;
- print_newline (); *)
- let url, _shards = match data with
- | `Assoc [
- ("url", `String url);
- ("shards", `Int shards);
- _
- ] -> (url, shards)
- | _ -> ("wss://gateway.discord.gg/", 1)
- in
- (Sharder.Shard.create {
- url;
- shards = [0; 1;];
- token = Sys.getenv "DISCORD_TOKEN";
- }
- >|= fun (shard, recv_loop) ->
- Lwt_engine.on_timer 60.0 true @@ begin
- fun _ev -> Sharder.Shard.set_status shard
- ("Current seq: " ^ string_of_int shard.seq)
- >|= (fun _ -> print_endline "Status set!")
- |> ignore;
+let main sharder =
+ Lwt_engine.on_timer 60.0 true begin
+ fun _ev -> Sharder.set_status sharder @@ `String "Testing..."
+ >|= (fun _ -> print_endline "Status set!")
+ |> ignore;
end
+
+let _ =
+ Animus.Sharder.start @@ Sys.getenv "DISCORD_TOKEN"
+ >>= (fun sharder ->
+ main sharder
|> ignore;
- Lwt_main.run recv_loop)
+ Lwt_main.run sharder.promise)
|> Lwt_main.run \ No newline at end of file