Concord - C Discord API library
A Discord API wrapper library written in C
Discord permissions
Collaboration diagram for Discord permissions:

Macros

#define DISCORD_PERM_CREATE_INSTANT_INVITE   1 << 0
 
#define DISCORD_PERM_KICK_MEMBERS   1 << 1
 
#define DISCORD_PERM_BAN_MEMBERS   1 << 2
 
#define DISCORD_PERM_ADMINISTRATOR   1 << 3
 
#define DISCORD_PERM_MANAGE_CHANNELS   1 << 4
 
#define DISCORD_PERM_MANAGE_GUILD   1 << 5
 
#define DISCORD_PERM_ADD_REACTIONS   1 << 6
 
#define DISCORD_PERM_VIEW_AUDIT_LOG   1 << 7
 
#define DISCORD_PERM_PRIORITY_SPEAKER   1 << 8
 
#define DISCORD_PERM_STREAM   1 << 9
 
#define DISCORD_PERM_VIEW_CHANNEL   1 << 10
 
#define DISCORD_PERM_SEND_MESSAGES   1 << 11
 
#define DISCORD_PERM_SEND_TTS_MESSAGES   1 << 12
 
#define DISCORD_PERM_MANAGE_MESSAGES   1 << 13
 
#define DISCORD_PERM_EMBED_LINKS   1 << 14
 
#define DISCORD_PERM_ATTACH_FILES   1 << 15
 
#define DISCORD_PERM_READ_MESSAGE_HISTORY   1 << 16
 
#define DISCORD_PERM_MENTION_EVERYONE   1 << 17
 
#define DISCORD_PERM_USE_EXTERNAL_EMOJIS   1 << 18
 
#define DISCORD_PERM_VIEW_GUILD_INSIGHTS   1 << 19
 
#define DISCORD_PERM_CONNECT   1 << 20
 
#define DISCORD_PERM_SPEAK   1 << 21
 
#define DISCORD_PERM_MUTE_MEMBERS   1 << 22
 
#define DISCORD_PERM_DEAFEN_MEMBERS   1 << 23
 
#define DISCORD_PERM_MOVE_MEMBERS   1 << 24
 
#define DISCORD_PERM_USE_VAD   1 << 25
 
#define DISCORD_PERM_CHANGE_NICKNAME   1 << 26
 
#define DISCORD_PERM_MANAGE_NICKNAMES   1 << 27
 
#define DISCORD_PERM_MANAGE_ROLES   1 << 28
 
#define DISCORD_PERM_MANAGE_WEBHOOKS   1 << 29
 
#define DISCORD_PERM_MANAGE_EMOJIS_AND_STICKERS   1 << 30
 
#define DISCORD_PERM_USE_APPLICATION_COMMANDS   1 << 31
 
#define DISCORD_PERM_REQUEST_TO_SPEAK   1 << 32
 
#define DISCORD_PERM_MANAGE_EVENTS   1 << 33
 
#define DISCORD_PERM_MANAGE_THREADS   1 << 34
 
#define DISCORD_PERM_CREATE_PUBLIC_THREADS   1 << 35
 
#define DISCORD_PERM_CREATE_PRIVATE_THREADS   1 << 36
 
#define DISCORD_PERM_USE_EXTERNAL_STICKERS   1 << 37
 
#define DISCORD_PERM_SEND_MESSAGES_IN_THREADS   1 << 38
 
#define DISCORD_PERM_START_EMBEDDED_ACTIVITIES   1 << 39
 
#define DISCORD_PERM_MODERATE_MEMBERS   1 << 40
 

Detailed Description

See also
https://discord.com/developers/docs/topics/permissions#permissions

Macro Definition Documentation

◆ DISCORD_PERM_CREATE_INSTANT_INVITE

#define DISCORD_PERM_CREATE_INSTANT_INVITE   1 << 0

Allows creation of instant invites

◆ DISCORD_PERM_KICK_MEMBERS

#define DISCORD_PERM_KICK_MEMBERS   1 << 1

Allows kicking members

◆ DISCORD_PERM_BAN_MEMBERS

#define DISCORD_PERM_BAN_MEMBERS   1 << 2

Allows banning members

◆ DISCORD_PERM_ADMINISTRATOR

#define DISCORD_PERM_ADMINISTRATOR   1 << 3

Allows all permissions and bypasses channel permission overwrites

◆ DISCORD_PERM_MANAGE_CHANNELS

#define DISCORD_PERM_MANAGE_CHANNELS   1 << 4

Allows management and editing of channels

◆ DISCORD_PERM_MANAGE_GUILD

#define DISCORD_PERM_MANAGE_GUILD   1 << 5

Allows management and editing of the guild

◆ DISCORD_PERM_ADD_REACTIONS

#define DISCORD_PERM_ADD_REACTIONS   1 << 6

Allows for the addition of reactions to messages

◆ DISCORD_PERM_VIEW_AUDIT_LOG

#define DISCORD_PERM_VIEW_AUDIT_LOG   1 << 7

Allows for viewing of audit logs

◆ DISCORD_PERM_PRIORITY_SPEAKER

#define DISCORD_PERM_PRIORITY_SPEAKER   1 << 8

Allows for using priority speaker in a voice channel

◆ DISCORD_PERM_STREAM

#define DISCORD_PERM_STREAM   1 << 9

Allows the user to go live

◆ DISCORD_PERM_VIEW_CHANNEL

#define DISCORD_PERM_VIEW_CHANNEL   1 << 10

Allows guild members to view a channel, which includes reading messages in text channels and joining voice channels

◆ DISCORD_PERM_SEND_MESSAGES

#define DISCORD_PERM_SEND_MESSAGES   1 << 11

Allows for sending messages in a channel (does not allow sending messages in threads)

◆ DISCORD_PERM_SEND_TTS_MESSAGES

#define DISCORD_PERM_SEND_TTS_MESSAGES   1 << 12

Allows for sending of /tts messages

◆ DISCORD_PERM_MANAGE_MESSAGES

#define DISCORD_PERM_MANAGE_MESSAGES   1 << 13

Allows for deletion of other users messages

◆ DISCORD_PERM_EMBED_LINKS

#define DISCORD_PERM_EMBED_LINKS   1 << 14

Links sent by users with this permission will be auto-embedded

◆ DISCORD_PERM_ATTACH_FILES

#define DISCORD_PERM_ATTACH_FILES   1 << 15

Allows for uploading images and files

◆ DISCORD_PERM_READ_MESSAGE_HISTORY

#define DISCORD_PERM_READ_MESSAGE_HISTORY   1 << 16

Allows for reading of message history

◆ DISCORD_PERM_MENTION_EVERYONE

#define DISCORD_PERM_MENTION_EVERYONE   1 << 17

Allows for using the @everyone tag to notify all users in a channel, and the @here tag to notify all online users in a channel

◆ DISCORD_PERM_USE_EXTERNAL_EMOJIS

#define DISCORD_PERM_USE_EXTERNAL_EMOJIS   1 << 18

Allows the usage of custom emojis from other servers

◆ DISCORD_PERM_VIEW_GUILD_INSIGHTS

#define DISCORD_PERM_VIEW_GUILD_INSIGHTS   1 << 19

Allows for viewing guild insights

◆ DISCORD_PERM_CONNECT

#define DISCORD_PERM_CONNECT   1 << 20

Allows for joining of a voice channel

◆ DISCORD_PERM_SPEAK

#define DISCORD_PERM_SPEAK   1 << 21

Allows for speaking in a voice channel

◆ DISCORD_PERM_MUTE_MEMBERS

#define DISCORD_PERM_MUTE_MEMBERS   1 << 22

Allows for muting members in a voice channel

◆ DISCORD_PERM_DEAFEN_MEMBERS

#define DISCORD_PERM_DEAFEN_MEMBERS   1 << 23

Allows for deafening of members in a voice channel

◆ DISCORD_PERM_MOVE_MEMBERS

#define DISCORD_PERM_MOVE_MEMBERS   1 << 24

Allows for moving of members between voice channels

◆ DISCORD_PERM_USE_VAD

#define DISCORD_PERM_USE_VAD   1 << 25

Allows for using voice-activity-detection in a voice channel

◆ DISCORD_PERM_CHANGE_NICKNAME

#define DISCORD_PERM_CHANGE_NICKNAME   1 << 26

Allows for modification of own nickname

◆ DISCORD_PERM_MANAGE_NICKNAMES

#define DISCORD_PERM_MANAGE_NICKNAMES   1 << 27

Allows for modification of other users nicknames

◆ DISCORD_PERM_MANAGE_ROLES

#define DISCORD_PERM_MANAGE_ROLES   1 << 28

Allows management and editing of roles

◆ DISCORD_PERM_MANAGE_WEBHOOKS

#define DISCORD_PERM_MANAGE_WEBHOOKS   1 << 29

Allows management and editing of webhooks

◆ DISCORD_PERM_MANAGE_EMOJIS_AND_STICKERS

#define DISCORD_PERM_MANAGE_EMOJIS_AND_STICKERS   1 << 30

Allows management and editing of emojis and stickers

◆ DISCORD_PERM_USE_APPLICATION_COMMANDS

#define DISCORD_PERM_USE_APPLICATION_COMMANDS   1 << 31

Allows members to use application commands, including slash commands and context menu commands

◆ DISCORD_PERM_REQUEST_TO_SPEAK

#define DISCORD_PERM_REQUEST_TO_SPEAK   1 << 32

Allows for requesting to speak in stage channels

◆ DISCORD_PERM_MANAGE_EVENTS

#define DISCORD_PERM_MANAGE_EVENTS   1 << 33

Allows for creating, editing, and deleting scheduled events

◆ DISCORD_PERM_MANAGE_THREADS

#define DISCORD_PERM_MANAGE_THREADS   1 << 34

Allows for deleting and archiving threads, and viewing all private threads

◆ DISCORD_PERM_CREATE_PUBLIC_THREADS

#define DISCORD_PERM_CREATE_PUBLIC_THREADS   1 << 35

Allows for creating public and announcement threads

◆ DISCORD_PERM_CREATE_PRIVATE_THREADS

#define DISCORD_PERM_CREATE_PRIVATE_THREADS   1 << 36

Allows for creating private threads

◆ DISCORD_PERM_USE_EXTERNAL_STICKERS

#define DISCORD_PERM_USE_EXTERNAL_STICKERS   1 << 37

Allows the usage of custom stickers from other servers

◆ DISCORD_PERM_SEND_MESSAGES_IN_THREADS

#define DISCORD_PERM_SEND_MESSAGES_IN_THREADS   1 << 38

Allows for sending messages in threads

◆ DISCORD_PERM_START_EMBEDDED_ACTIVITIES

#define DISCORD_PERM_START_EMBEDDED_ACTIVITIES   1 << 39

Allows for launching activities (applications with the EMBEDDED flag) in a voice channel)

◆ DISCORD_PERM_MODERATE_MEMBERS

#define DISCORD_PERM_MODERATE_MEMBERS   1 << 40

Allows for timing out users to prevent them from sending or reacting to messages in chat and threads, and from speaking in voice and stage channels