From b2f081fff12093a7d3434859ebd621608dde6c7d Mon Sep 17 00:00:00 2001 From: Matias Goldfeld Date: Sun, 7 Feb 2021 20:21:47 -0500 Subject: Reverted earlier changes for good --- lib/models/id/channel_id.ml | 19 +++++++++++-------- lib/models/id/channel_id.mli | 2 +- lib/models/id/channel_id_t.ml | 12 ++++++++++-- lib/models/id/channel_id_t.mli | 2 +- lib/models/id/guild_id.ml | 2 +- lib/models/id/guild_id_t.ml | 12 ++++++++++-- lib/models/id/guild_id_t.mli | 2 +- lib/models/id/message_id.ml | 12 +++++++++++- lib/models/id/message_id.mli | 2 +- lib/models/id/role_id.ml | 12 +++++++++++- lib/models/id/role_id.mli | 2 +- lib/models/id/user_id_t.ml | 14 +++++++++++--- lib/models/id/user_id_t.mli | 2 +- 13 files changed, 71 insertions(+), 24 deletions(-) (limited to 'lib/models/id') diff --git a/lib/models/id/channel_id.ml b/lib/models/id/channel_id.ml index 6c08711..1ea7a46 100644 --- a/lib/models/id/channel_id.ml +++ b/lib/models/id/channel_id.ml @@ -6,7 +6,7 @@ exception No_message_found let send_message ?embed ?content ?files ?(tts=false) ?reply ch = let embed = match embed with - | Some e -> Embed.yojson_of_t e + | Some e -> Embed.to_yojson e | None -> `Null in let content = match content with | Some c -> `String c @@ -15,7 +15,7 @@ let send_message ?embed ?content ?files ?(tts=false) ?reply ch = | `Null, `Null -> raise Invalid_message | _ -> () in let message_reference = match reply with - | Some m -> `Assoc [("message_id", Message_id.yojson_of_t m)] + | Some m -> `Assoc [("message_id", Message_id.to_yojson m)] | None -> `Null in Http.create_message ?files (get_id ch) (`Assoc [ ("embed", embed); @@ -33,13 +33,16 @@ let delete ch = let get_message ~id ch = Http.get_message (get_id ch) id -let get_messages ?(mode=`Around) ~id ?(limit=50) ch = +let get_messages ?(mode=`Around) ?id ?(limit=50) ch = let kind = match mode with - | `Around -> "around", id - | `Before -> "before", id - | `After -> "after", id + | `Around -> "around", limit + | `Before -> "before", limit + | `After -> "after", limit in - Http.get_messages (get_id ch) limit kind + let id = match id with + | Some id -> id + | None -> raise No_message_found in + Http.get_messages (get_id ch) id kind let broadcast_typing ch = Http.broadcast_typing (get_id ch) @@ -48,5 +51,5 @@ let get_pins ch = Http.get_pinned_messages (get_id ch) let bulk_delete msgs ch = - let msgs = `List (List.map ~f:(fun id -> `Intlit (Int64.to_string id)) msgs) in + let msgs = `List (List.map ~f:(fun id -> `Int id) msgs) in Http.bulk_delete (get_id ch) msgs \ No newline at end of file diff --git a/lib/models/id/channel_id.mli b/lib/models/id/channel_id.mli index 5ecad0c..2dfff8f 100644 --- a/lib/models/id/channel_id.mli +++ b/lib/models/id/channel_id.mli @@ -37,7 +37,7 @@ val delete : t -> Channel_t.t Deferred.Or_error.t val get_message : id:Snowflake.t -> t -> Message_t.t Deferred.Or_error.t val get_messages : ?mode:[ `Before | `After | `Around ] -> - id:Snowflake.t -> + ?id:Snowflake.t -> ?limit:int -> t -> Message_t.t list Deferred.Or_error.t diff --git a/lib/models/id/channel_id_t.ml b/lib/models/id/channel_id_t.ml index 74588b1..cea85e0 100644 --- a/lib/models/id/channel_id_t.ml +++ b/lib/models/id/channel_id_t.ml @@ -1,7 +1,15 @@ open Core -type t = [ `Channel_id of Snowflake.t ] [@@deriving sexp, yojson] +type t = [ `Channel_id of Snowflake.t ] [@@deriving sexp] -let compare (`Channel_id t) (`Channel_id t') = Int64.compare t t' +let compare (`Channel_id t) (`Channel_id t') = Int.compare t t' + +let of_yojson a : (t, string) result = + match Snowflake.of_yojson a with + | Ok id -> Ok (`Channel_id id) + | Error err -> Error err + +let of_yojson_exn a : t = `Channel_id (Snowflake.of_yojson_exn a) +let to_yojson (`Channel_id id) = (Snowflake.to_yojson id) let get_id (`Channel_id id) = id \ No newline at end of file diff --git a/lib/models/id/channel_id_t.mli b/lib/models/id/channel_id_t.mli index 851fa8f..72324a7 100644 --- a/lib/models/id/channel_id_t.mli +++ b/lib/models/id/channel_id_t.mli @@ -1,4 +1,4 @@ -type t = [ `Channel_id of Snowflake.t ] [@@deriving sexp, yojson] +type t = [ `Channel_id of Snowflake.t ] [@@deriving sexp, yojson { exn = true }] val compare : t -> t -> int val get_id : t -> Snowflake.t \ No newline at end of file diff --git a/lib/models/id/guild_id.ml b/lib/models/id/guild_id.ml index 1e0168f..d4db185 100644 --- a/lib/models/id/guild_id.ml +++ b/lib/models/id/guild_id.ml @@ -82,7 +82,7 @@ let request_members guild = Http.get_members (get_id guild) let set_afk_channel ~id guild = Http.edit_guild (get_id guild) (`Assoc [ - ("afk_channel_id", `Intlit (Int64.to_string id)); + ("afk_channel_id", `Int id); ]) let set_afk_timeout ~timeout guild = Http.edit_guild (get_id guild) (`Assoc [ diff --git a/lib/models/id/guild_id_t.ml b/lib/models/id/guild_id_t.ml index 6fc3777..a39c07d 100644 --- a/lib/models/id/guild_id_t.ml +++ b/lib/models/id/guild_id_t.ml @@ -1,7 +1,15 @@ open Core -type t = [ `Guild_id of Snowflake.t ] [@@deriving sexp, yojson] +type t = [ `Guild_id of Snowflake.t ] [@@deriving sexp] -let compare (`Guild_id t) (`Guild_id t') = Int64.compare t t' +let compare (`Guild_id t) (`Guild_id t') = Int.compare t t' + +let of_yojson a : (t, string) result = + match Snowflake.of_yojson a with + | Ok id -> Ok (`Guild_id id) + | Error err -> Error err + +let of_yojson_exn a : t = `Guild_id (Snowflake.of_yojson_exn a) +let to_yojson (`Guild_id id) = (Snowflake.to_yojson id) let get_id (`Guild_id id) = id \ No newline at end of file diff --git a/lib/models/id/guild_id_t.mli b/lib/models/id/guild_id_t.mli index 17bd951..f4d415a 100644 --- a/lib/models/id/guild_id_t.mli +++ b/lib/models/id/guild_id_t.mli @@ -1,4 +1,4 @@ -type t = [ `Guild_id of Snowflake.t ] [@@deriving sexp, yojson] +type t = [ `Guild_id of Snowflake.t ] [@@deriving sexp, yojson { exn = true }] val compare : t -> t -> int val get_id : t -> Snowflake.t \ No newline at end of file diff --git a/lib/models/id/message_id.ml b/lib/models/id/message_id.ml index 0de01f0..3c45e16 100644 --- a/lib/models/id/message_id.ml +++ b/lib/models/id/message_id.ml @@ -1,3 +1,13 @@ -type t = [ `Message_id of Snowflake.t ] [@@deriving sexp, yojson] +open Core + +type t = [ `Message_id of Snowflake.t ] [@@deriving sexp] + +let of_yojson a : (t, string) result = + match Snowflake.of_yojson a with + | Ok id -> Ok (`Message_id id) + | Error err -> Error err + +let of_yojson_exn a : t = `Message_id (Snowflake.of_yojson_exn a) +let to_yojson (`Message_id id) = (Snowflake.to_yojson id) let get_id (`Message_id id) = id \ No newline at end of file diff --git a/lib/models/id/message_id.mli b/lib/models/id/message_id.mli index 90107b5..77a228a 100644 --- a/lib/models/id/message_id.mli +++ b/lib/models/id/message_id.mli @@ -1,3 +1,3 @@ -type t = [ `Message_id of Snowflake.t ] [@@deriving sexp, yojson] +type t = [ `Message_id of Snowflake.t ] [@@deriving sexp, yojson { exn = true }] val get_id : t -> Snowflake.t \ No newline at end of file diff --git a/lib/models/id/role_id.ml b/lib/models/id/role_id.ml index a86253c..0bbf8be 100644 --- a/lib/models/id/role_id.ml +++ b/lib/models/id/role_id.ml @@ -1,3 +1,13 @@ -type t = [ `Role_id of Snowflake.t ] [@@deriving sexp, yojson] +open Core + +type t = [ `Role_id of Snowflake.t ] [@@deriving sexp] + +let of_yojson a : (t, string) result = + match Snowflake.of_yojson a with + | Ok id -> Ok (`Role_id id) + | Error err -> Error err + +let of_yojson_exn a : t = `Role_id (Snowflake.of_yojson_exn a) +let to_yojson (`Role_id id) = (Snowflake.to_yojson id) let get_id (`Role_id id) = id \ No newline at end of file diff --git a/lib/models/id/role_id.mli b/lib/models/id/role_id.mli index 701e4a9..e28e300 100644 --- a/lib/models/id/role_id.mli +++ b/lib/models/id/role_id.mli @@ -1,3 +1,3 @@ -type t = [ `Role_id of Snowflake.t ] [@@deriving sexp, yojson] +type t = [ `Role_id of Snowflake.t ] [@@deriving sexp, yojson { exn = true }] val get_id : t -> Snowflake.t \ No newline at end of file diff --git a/lib/models/id/user_id_t.ml b/lib/models/id/user_id_t.ml index fab0f00..cf1634a 100644 --- a/lib/models/id/user_id_t.ml +++ b/lib/models/id/user_id_t.ml @@ -1,7 +1,15 @@ open Core -type t = Snowflake.t [@@deriving sexp, yojson] +type t = [ `User_id of Snowflake.t ] [@@deriving sexp] -let compare t t' = Int64.compare t t' +let compare (`User_id t) (`User_id t') = Int.compare t t' -let get_id id = id \ No newline at end of file +let of_yojson a : (t, string) result = + match Snowflake.of_yojson a with + | Ok id -> Ok (`User_id id) + | Error err -> Error err + +let of_yojson_exn a : t = `User_id (Snowflake.of_yojson_exn a) +let to_yojson (`User_id id) = (Snowflake.to_yojson id) + +let get_id (`User_id id) = id \ No newline at end of file diff --git a/lib/models/id/user_id_t.mli b/lib/models/id/user_id_t.mli index 1bac390..e728b00 100644 --- a/lib/models/id/user_id_t.mli +++ b/lib/models/id/user_id_t.mli @@ -1,4 +1,4 @@ -type t = Snowflake.t [@@deriving sexp, yojson] +type t = [ `User_id of Snowflake.t ] [@@deriving sexp, yojson { exn = true }] val compare : t -> t -> int val get_id : t -> Snowflake.t \ No newline at end of file -- cgit v1.2.3