diff options
| author | Adelyn Breelove <[email protected]> | 2019-01-17 10:41:38 -0700 |
|---|---|---|
| committer | Adelyn Breelove <[email protected]> | 2019-01-17 10:41:38 -0700 |
| commit | 8078a13e2382ce85fba3bd0bb8b22e336e8cb6a9 (patch) | |
| tree | 281475ea7fdab6440916bf070dd975348bcf39f3 /lib/models | |
| parent | Resolve non-ff merge (diff) | |
| download | disml-8078a13e2382ce85fba3bd0bb8b22e336e8cb6a9.tar.xz disml-8078a13e2382ce85fba3bd0bb8b22e336e8cb6a9.zip | |
Fix mli files and add member methods back
Diffstat (limited to 'lib/models')
| -rw-r--r-- | lib/models/ban.mli | 2 | ||||
| -rw-r--r-- | lib/models/channel.mli | 2 | ||||
| -rw-r--r-- | lib/models/guild.mli | 3 | ||||
| -rw-r--r-- | lib/models/member.ml | 51 | ||||
| -rw-r--r-- | lib/models/member.mli | 22 | ||||
| -rw-r--r-- | lib/models/message.mli | 3 | ||||
| -rw-r--r-- | lib/models/reaction.mli | 3 | ||||
| -rw-r--r-- | lib/models/role.mli | 3 | ||||
| -rw-r--r-- | lib/models/user.mli | 3 |
9 files changed, 66 insertions, 26 deletions
diff --git a/lib/models/ban.mli b/lib/models/ban.mli index d1050b0..f8b1c2e 100644 --- a/lib/models/ban.mli +++ b/lib/models/ban.mli @@ -1 +1 @@ -type t = Ban_t.t
\ No newline at end of file +include module type of Ban_t
\ No newline at end of file diff --git a/lib/models/channel.mli b/lib/models/channel.mli index 4d67e94..6ca814e 100644 --- a/lib/models/channel.mli +++ b/lib/models/channel.mli @@ -1,6 +1,6 @@ open Async +include module type of Channel_t -type t = Channel_t.t val say : content:string -> t -> Message_t.t Deferred.Or_error.t val send_message : ?embed:Yojson.Safe.json -> diff --git a/lib/models/guild.mli b/lib/models/guild.mli index daedc3c..e972951 100644 --- a/lib/models/guild.mli +++ b/lib/models/guild.mli @@ -1,6 +1,7 @@ open Async -type t = Guild_t.t +include module type of Guild_t + val ban_user : id:Snowflake.t -> ?reason:string -> ?days:int -> t -> unit Deferred.Or_error.t val create_emoji : name:string -> image:string -> t -> Emoji.t Deferred.Or_error.t val create_role : diff --git a/lib/models/member.ml b/lib/models/member.ml index 881586b..25f2f75 100644 --- a/lib/models/member.ml +++ b/lib/models/member.ml @@ -1,10 +1,43 @@ +open Async +open Core include Member_t -(* val add_role : Member_t.t -> Role_t.t -> Yojson.Safe.json Deferred.t -val remove_role : Member_t.t -> Role_t.t -> Yojson.Safe.json Deferred.t -val ban : ?reason:string -> ?days:int -> Member_t.t -> Yojson.Safe.json Deferred.t -val ban : ?reason:string -> Member_t.t -> Yojson.Safe.json Deferred.t -val kick : ?reason:string -> Member_t.t -> Yojson.Safe.json Deferred.t -val mute : Member_t.t -> Yojson.Safe.json Deferred.t -val deafen : Member_t.t -> Yojson.Safe.json Deferred.t -val unmute : Member_t.t -> Yojson.Safe.json Deferred.t -val undeafen : Member_t.t -> Yojson.Safe.json Deferred.t *) + +let add_role ~(role:Role_t.t) member = + Http.add_member_role member.guild_id member.user.id role.id + >>| Result.map ~f:ignore + +let remove_role ~(role:Role_t.t) member = + Http.remove_member_role member.guild_id member.user.id role.id + >>| Result.map ~f:ignore + +let ban ?(reason="") ?(days=0) member = + Http.guild_ban_add member.guild_id member.user.id (`Assoc [ + ("delete-message-days", `Int days); + ("reason", `String reason); + ]) >>| Result.map ~f:ignore + +let kick ?reason member = + let payload = match reason with + | Some r -> `Assoc [("reason", `String r)] + | None -> `Null + in Http.remove_member member.guild_id member.user.id payload >>| Result.map ~f:ignore + +let mute member = + Http.edit_member member.guild_id member.user.id (`Assoc [ + ("mute", `Bool true); + ]) >>| Result.map ~f:ignore + +let deafen member = + Http.edit_member member.guild_id member.user.id (`Assoc [ + ("deaf", `Bool true); + ]) >>| Result.map ~f:ignore + +let unmute member = + Http.edit_member member.guild_id member.user.id (`Assoc [ + ("mute", `Bool false); + ]) >>| Result.map ~f:ignore + +let undeafen member = + Http.edit_member member.guild_id member.user.id (`Assoc [ + ("deaf", `Bool false); + ]) >>| Result.map ~f:ignore diff --git a/lib/models/member.mli b/lib/models/member.mli index 627e903..3ac786c 100644 --- a/lib/models/member.mli +++ b/lib/models/member.mli @@ -1,10 +1,12 @@ -type t = Member_t.t -(* val add_role : Member_t.t -> Role_t.t -> Yojson.Safe.json Deferred.Or_error.t -val remove_role : Member_t.t -> Role_t.t -> Yojson.Safe.json Deferred.Or_error.t -val ban : ?reason:string -> ?days:int -> Member_t.t -> Yojson.Safe.json Deferred.Or_error.t -val ban : ?reason:string -> Member_t.t -> Yojson.Safe.json Deferred.Or_error.t -val kick : ?reason:string -> Member_t.t -> Yojson.Safe.json Deferred.Or_error.t -val mute : Member_t.t -> Yojson.Safe.json Deferred.Or_error.t -val deafen : Member_t.t -> Yojson.Safe.json Deferred.Or_error.t -val unmute : Member_t.t -> Yojson.Safe.json Deferred.Or_error.t -val undeafen : Member_t.t -> Yojson.Safe.json Deferred.Or_error.t *)
\ No newline at end of file +open Async + +include module type of Member_t + +val add_role : role:Role_t.t -> Member_t.t -> unit Deferred.Or_error.t +val remove_role : role:Role_t.t -> Member_t.t -> unit Deferred.Or_error.t +val ban : ?reason:string -> ?days:int -> Member_t.t -> unit Deferred.Or_error.t +val kick : ?reason:string -> Member_t.t -> unit Deferred.Or_error.t +val mute : Member_t.t -> unit Deferred.Or_error.t +val deafen : Member_t.t -> unit Deferred.Or_error.t +val unmute : Member_t.t -> unit Deferred.Or_error.t +val undeafen : Member_t.t -> unit Deferred.Or_error.t
\ No newline at end of file diff --git a/lib/models/message.mli b/lib/models/message.mli index c8c2155..040eb5e 100644 --- a/lib/models/message.mli +++ b/lib/models/message.mli @@ -1,6 +1,7 @@ open Async -type t = Message_t.t +include module type of Message_t + val add_reaction : t -> Emoji.t -> Yojson.Safe.json Deferred.Or_error.t val remove_reaction : t -> Emoji.t -> User_t.t -> Yojson.Safe.json Deferred.Or_error.t val clear_reactions : t -> Yojson.Safe.json Deferred.Or_error.t diff --git a/lib/models/reaction.mli b/lib/models/reaction.mli index 08572df..38343cb 100644 --- a/lib/models/reaction.mli +++ b/lib/models/reaction.mli @@ -1,4 +1,5 @@ -type t = Reaction_t.t +include module type of Reaction_t + (* val delete : Reaction_t.t -> Yojson.Safe.json Deferred.Or_error.t val get_users : Reaction_t.t -> int -> User_t.t list Deferred.Or_error.t val get_users_after : Reaction_t.t -> Snowflake.t -> int -> User_t.t list Deferred.Or_error.t diff --git a/lib/models/role.mli b/lib/models/role.mli index 5eca8c1..d37f733 100644 --- a/lib/models/role.mli +++ b/lib/models/role.mli @@ -1,6 +1,7 @@ open Async -type t = Role_t.t +include module type of Role_t + val allow_mention : t -> Yojson.Safe.json Deferred.Or_error.t val delete : t -> Yojson.Safe.json Deferred.Or_error.t val disallow_mention : t -> Yojson.Safe.json Deferred.Or_error.t diff --git a/lib/models/user.mli b/lib/models/user.mli index af873e1..2cc6184 100644 --- a/lib/models/user.mli +++ b/lib/models/user.mli @@ -1,4 +1,5 @@ -type t = User_t.t +include module type of User_t + val tag : t -> string val mention : t -> string val default_avatar : t -> string |