aboutsummaryrefslogtreecommitdiff
path: root/lib/models/role.ml
blob: 1d641cba27a9b9360b44acfbd37b293b9d07917f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
module Make(Http : S.Http) = struct
    type role = Role_t.role
    type role_update = Role_t.role_update
    type t = Role_t.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
end