diff options
| author | Adelyn Breelove <[email protected]> | 2018-12-17 15:04:02 -0700 |
|---|---|---|
| committer | Adelyn Breelove <[email protected]> | 2018-12-17 15:04:02 -0700 |
| commit | 10ff247b7643fb0bb3aade5faff37c569feb0a20 (patch) | |
| tree | 662767c51baf3c39591ee7fecbc36d6642a93243 /lib/models | |
| parent | Some abstractions (diff) | |
| download | disml-10ff247b7643fb0bb3aade5faff37c569feb0a20.tar.xz disml-10ff247b7643fb0bb3aade5faff37c569feb0a20.zip | |
More stuff
Diffstat (limited to 'lib/models')
| -rw-r--r-- | lib/models/gen/guild.atd | 2 | ||||
| -rw-r--r-- | lib/models/gen/guild_j.ml | 6 | ||||
| -rw-r--r-- | lib/models/gen/guild_j.mli | 2 | ||||
| -rw-r--r-- | lib/models/gen/guild_t.ml | 2 | ||||
| -rw-r--r-- | lib/models/gen/guild_t.mli | 2 | ||||
| -rw-r--r-- | lib/models/gen/role.atd | 2 | ||||
| -rw-r--r-- | lib/models/guild.ml | 6 | ||||
| -rw-r--r-- | 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 <ocaml from="Snowflake" t="t"> = abstract type user <ocaml from="User" t="t"> = abstract type member <ocaml from="Member" t="t"> = abstract -type role <ocaml from="Role" t="t"> = abstract +type role <ocaml from="Role" t="role"> = abstract type channel <ocaml from="Channel" t="t"> = abstract type emoji <ocaml from="Emoji" t="t"> = 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 = |