blob: 1521a0e355c9d9734d90d64fa4e996f43d345581 (
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
type elt =
| CREATE_INSTANT_INVITE
| KICK_MEMBERS
| BAN_MEMBERS
| ADMINISTRATOR
| MANAGE_CHANNELS
| MANAGE_GUILD
| ADD_REACTIONS
| VIEW_AUDIT_LOG
| PRIORITY_SPEAKER
| READ_MESSAGES
| SEND_MESSAGES
| SEND_TTS_MESSAGES
| MANAGE_MESSAGES
| EMBED_LINKS
| ATTACH_FILES
| READ_MESSAGE_HISTORY
| MENTION_EVERYONE
| USE_EXTERNAL_EMOJIS
| CONNECT
| SPEAK
| MUTE_MEMBERS
| DEAFEN_MEMBERS
| MOVE_MEMBERS
| USE_VAD
| CHANGE_NICKNAME
| MANAGE_NICKNAMES
| MANAGE_ROLES
| MANAGE_WEBHOOKS
| MANAGE_EMOJIS
include BitMaskSet.Make(struct
include BitMaskSet.Int
type t = elt
let mask = 0b0111_1111_1111_1111_0111_1101_1111_1111
end)
let of_seq seq = List.of_seq seq |> of_list
let to_seq mask = elements mask |> List.to_seq
let to_seq_from elt init =
let _, _, r = split elt init in
elt :: elements r |> List.to_seq
let add_seq seq init =
List.of_seq seq
|> of_list
|> (lor) init
|