From 10ff247b7643fb0bb3aade5faff37c569feb0a20 Mon Sep 17 00:00:00 2001 From: Adelyn Breelove Date: Mon, 17 Dec 2018 15:04:02 -0700 Subject: More stuff --- lib/models/gen/guild.atd | 2 +- lib/models/gen/guild_j.ml | 6 +++--- lib/models/gen/guild_j.mli | 2 +- lib/models/gen/guild_t.ml | 2 +- lib/models/gen/guild_t.mli | 2 +- lib/models/gen/role.atd | 2 +- lib/models/guild.ml | 6 +++++- lib/models/role.ml | 9 +++++++-- 8 files changed, 20 insertions(+), 11 deletions(-) diff --git a/lib/models/gen/guild.atd b/lib/models/gen/guild.atd index 3bb40d9..aec3f86 100644 --- a/lib/models/gen/guild.atd +++ b/lib/models/gen/guild.atd @@ -1,7 +1,7 @@ type snowflake = abstract type user = abstract type member = abstract -type role = abstract +type role = abstract type channel = abstract type emoji = abstract diff --git a/lib/models/gen/guild_j.ml b/lib/models/gen/guild_j.ml index 210dee8..3995965 100644 --- a/lib/models/gen/guild_j.ml +++ b/lib/models/gen/guild_j.ml @@ -5,7 +5,7 @@ type user = User_t.t type snowflake = Snowflake_t.t -type role = Role_t.t +type role = Role_t.role type member = Member_t.t @@ -67,14 +67,14 @@ let read_snowflake = ( let snowflake_of_string s = read_snowflake (Yojson.Safe.init_lexer ()) (Lexing.from_string s) let write_role = ( - Role_j.write_t + Role_j.write_role ) let string_of_role ?(len = 1024) x = let ob = Bi_outbuf.create len in write_role ob x; Bi_outbuf.contents ob let read_role = ( - Role_j.read_t + Role_j.read_role ) let role_of_string s = read_role (Yojson.Safe.init_lexer ()) (Lexing.from_string s) diff --git a/lib/models/gen/guild_j.mli b/lib/models/gen/guild_j.mli index 7eca304..b84f039 100644 --- a/lib/models/gen/guild_j.mli +++ b/lib/models/gen/guild_j.mli @@ -5,7 +5,7 @@ type user = User_t.t type snowflake = Snowflake_t.t -type role = Role_t.t +type role = Role_t.role type member = Member_t.t diff --git a/lib/models/gen/guild_t.ml b/lib/models/gen/guild_t.ml index fe2a59c..e2bfe79 100644 --- a/lib/models/gen/guild_t.ml +++ b/lib/models/gen/guild_t.ml @@ -5,7 +5,7 @@ type user = User_t.t type snowflake = Snowflake_t.t -type role = Role_t.t +type role = Role_t.role type member = Member_t.t diff --git a/lib/models/gen/guild_t.mli b/lib/models/gen/guild_t.mli index fe2a59c..e2bfe79 100644 --- a/lib/models/gen/guild_t.mli +++ b/lib/models/gen/guild_t.mli @@ -5,7 +5,7 @@ type user = User_t.t type snowflake = Snowflake_t.t -type role = Role_t.t +type role = Role_t.role type member = Member_t.t diff --git a/lib/models/gen/role.atd b/lib/models/gen/role.atd index 8e3f6aa..bfe6b13 100644 --- a/lib/models/gen/role.atd +++ b/lib/models/gen/role.atd @@ -19,4 +19,4 @@ type role_update = { type t = { inherit role; guild_id: snowflake; -} \ No newline at end of file + } \ No newline at end of file diff --git a/lib/models/guild.ml b/lib/models/guild.ml index ade67be..7364327 100644 --- a/lib/models/guild.ml +++ b/lib/models/guild.ml @@ -62,7 +62,11 @@ module Make(Http : S.Http) = struct m |> Yojson.Safe.to_string |> Member_j.t_of_string let get_prune_count ~days guild = Http.guild_prune_count guild.id days - let get_role ~id guild = List.find ~f:(fun r -> r.id = id) guild.roles + + let get_role ~id guild = + let role = List.find ~f:(fun r -> r.id = id) guild.roles in + Option.(role >>| fun role -> Role.wrap { role; id=guild.id; }) + let get_webhooks guild = Http.get_guild_webhooks guild.id let kick_user ~id ?reason guild = diff --git a/lib/models/role.ml b/lib/models/role.ml index 10272a7..e65d61e 100644 --- a/lib/models/role.ml +++ b/lib/models/role.ml @@ -1,6 +1,11 @@ -module Make(Http : S.Http) = struct - open Role_t +open Role_t + +let wrap { id; role; } = + let guild_id = id in + let {id;name;colour;hoist;position;permissions;managed;mentionable} = role in + {id;name;colour;hoist;position;permissions;managed;mentionable;guild_id} +module Make(Http : S.Http) = struct let edit_role ~body role = Http.guild_role_edit role.guild_id role.id body let allow_mention role = -- cgit v1.2.3