diff options
Diffstat (limited to 'lib/models/guild/role.ml')
| -rw-r--r-- | lib/models/guild/role.ml | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/models/guild/role.ml b/lib/models/guild/role.ml new file mode 100644 index 0000000..ee6bb0a --- /dev/null +++ b/lib/models/guild/role.ml @@ -0,0 +1,23 @@ +include Role_t + +let edit_role ~body (role:t) = 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:t) = 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
\ No newline at end of file |