From 57df76de6441899b659e30c6a8e9d7572b85f7a0 Mon Sep 17 00:00:00 2001 From: Adelyn Breelove Date: Mon, 17 Dec 2018 13:13:10 -0700 Subject: Some abstractions --- lib/models/role.ml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'lib/models/role.ml') diff --git a/lib/models/role.ml b/lib/models/role.ml index 36b7d4b..10272a7 100644 --- a/lib/models/role.ml +++ b/lib/models/role.ml @@ -1,2 +1,25 @@ module Make(Http : S.Http) = struct + open Role_t + + let edit_role ~body role = Http.guild_role_edit role.guild_id role.id body + + let allow_mention role = + edit_role ~body:(`Assoc [("mentionable", `Bool true)]) role + + let delete role = Http.guild_role_remove role.guild_id role.id + + let disallow_mention role = + edit_role ~body:(`Assoc [("mentionable", `Bool false)]) role + + let hoist role = + edit_role ~body:(`Assoc [("hoist", `Bool true)]) role + + let set_colour ~colour role = + edit_role ~body:(`Assoc [("color", `Int colour)]) role + + let set_name ~name role = + edit_role ~body:(`Assoc [("name", `String name)]) role + + let unhoist role = + edit_role ~body:(`Assoc [("hoist", `Bool false)]) role end \ No newline at end of file -- cgit v1.2.3