6#ifndef API_PERMISSIONS_H
7#define API_PERMISSIONS_H
27#define DISCORD_PERM_CREATE_INSTANT_INVITE 1 << 0
29#define DISCORD_PERM_KICK_MEMBERS 1 << 1
31#define DISCORD_PERM_BAN_MEMBERS 1 << 2
33#define DISCORD_PERM_ADMINISTRATOR 1 << 3
35#define DISCORD_PERM_MANAGE_CHANNELS 1 << 4
37#define DISCORD_PERM_MANAGE_GUILD 1 << 5
39#define DISCORD_PERM_ADD_REACTIONS 1 << 6
41#define DISCORD_PERM_VIEW_AUDIT_LOG 1 << 7
43#define DISCORD_PERM_PRIORITY_SPEAKER 1 << 8
45#define DISCORD_PERM_STREAM 1 << 9
48#define DISCORD_PERM_VIEW_CHANNEL 1 << 10
51#define DISCORD_PERM_SEND_MESSAGES 1 << 11
53#define DISCORD_PERM_SEND_TTS_MESSAGES 1 << 12
55#define DISCORD_PERM_MANAGE_MESSAGES 1 << 13
57#define DISCORD_PERM_EMBED_LINKS 1 << 14
59#define DISCORD_PERM_ATTACH_FILES 1 << 15
61#define DISCORD_PERM_READ_MESSAGE_HISTORY 1 << 16
64#define DISCORD_PERM_MENTION_EVERYONE 1 << 17
66#define DISCORD_PERM_USE_EXTERNAL_EMOJIS 1 << 18
68#define DISCORD_PERM_VIEW_GUILD_INSIGHTS 1 << 19
70#define DISCORD_PERM_CONNECT 1 << 20
72#define DISCORD_PERM_SPEAK 1 << 21
74#define DISCORD_PERM_MUTE_MEMBERS 1 << 22
76#define DISCORD_PERM_DEAFEN_MEMBERS 1 << 23
78#define DISCORD_PERM_MOVE_MEMBERS 1 << 24
80#define DISCORD_PERM_USE_VAD 1 << 25
82#define DISCORD_PERM_CHANGE_NICKNAME 1 << 26
84#define DISCORD_PERM_MANAGE_NICKNAMES 1 << 27
86#define DISCORD_PERM_MANAGE_ROLES 1 << 28
88#define DISCORD_PERM_MANAGE_WEBHOOKS 1 << 29
90#define DISCORD_PERM_MANAGE_EMOJIS_AND_STICKERS 1 << 30
93#define DISCORD_PERM_USE_APPLICATION_COMMANDS 1 << 31
95#define DISCORD_PERM_REQUEST_TO_SPEAK 1 << 32
97#define DISCORD_PERM_MANAGE_EVENTS 1 << 33
100#define DISCORD_PERM_MANAGE_THREADS 1 << 34
102#define DISCORD_PERM_CREATE_PUBLIC_THREADS 1 << 35
104#define DISCORD_PERM_CREATE_PRIVATE_THREADS 1 << 36
106#define DISCORD_PERM_USE_EXTERNAL_STICKERS 1 << 37
108#define DISCORD_PERM_SEND_MESSAGES_IN_THREADS 1 << 38
111#define DISCORD_PERM_START_EMBEDDED_ACTIVITIES 1 << 39
115#define DISCORD_PERM_MODERATE_MEMBERS 1 << 40
uint64_t u64snowflake
Snowflake datatype.
Definition: types.h:28
uint64_t u64bitmask
Bitmask primitive.
Definition: types.h:35
jsonbcode
json-builder return codes
Definition: json-build.h:34
void discord_roles_cleanup(struct discord_roles *self)
size_t discord_role_from_json(const char buf[], size_t size, struct discord_role *self)
long discord_role_from_jsmnf(jsmnf_pair *root, const char *js, struct discord_role *self)
void discord_role_cleanup(struct discord_role *self)
void discord_role_init(struct discord_role *self)
size_t discord_role_to_json(char buf[], size_t size, const struct discord_role *self)
size_t discord_roles_from_json(const char buf[], size_t size, struct discord_roles *self)
jsonbcode discord_roles_to_jsonb(jsonb *b, char buf[], size_t size, const struct discord_roles *self)
size_t discord_roles_to_json(char buf[], size_t size, const struct discord_roles *self)
jsonbcode discord_role_to_jsonb(jsonb *b, char buf[], size_t size, const struct discord_role *self)
long discord_roles_from_jsmnf(jsmnf_pair *root, const char *js, struct discord_roles *self)
Definition: permissions.h:152
u64snowflake integration_id
Definition: permissions.h:159
bool premium_subscribe
Definition: permissions.h:162
u64snowflake bot_id
Definition: permissions.h:155
Definition: permissions.h:118
struct discord_role_tag * tags
Definition: permissions.h:145
char * unicode_emoji
Definition: permissions.h:133
char * name
Definition: permissions.h:122
char * icon
Definition: permissions.h:129
u64snowflake id
Definition: permissions.h:120
int color
Definition: permissions.h:124
bool managed
Definition: permissions.h:140
u64bitmask permissions
Definition: permissions.h:138
bool mentionable
Definition: permissions.h:142
int position
Definition: permissions.h:136
bool hoist
Definition: permissions.h:126
Definition: permissions.h:149
struct discord_role * array
Definition: permissions.h:150
int size
Definition: permissions.h:149
Handle for building a JSON string.
Definition: json-build.h:61