using System; namespace Maki { /// /// Discord Permission Flags /// [Flags] public enum DiscordPermission { /// /// Allows creation of instant invites /// CreateInstantInvite = 1, /// /// Allows kicking members /// KickMembers = 1 << 1, /// /// Allows banning members /// BanMembers = 1 << 2, /// /// Allows all permissions and bypasses channel permission overwrites /// Administrator = 1 << 3, /// /// Allows management and editing of channels /// ManageChannels = 1 << 4, /// /// Allows management and editing of the guild /// ManageGuild = 1 << 5, /// /// Allows for the addition of reactions to messages /// AddReactions = 1 << 6, /// /// Allows viewing the audit log /// ViewAuditLog = 1 << 7, /// /// Allows reading messages in a channel. The channel will not appear for users without this permission /// ReadMessages = 1 << 10, /// /// Allows for sending messages in a channel. /// SendMessages = 1 << 11, /// /// Allows for sending of /tts messages /// SendTTSMessages = 1 << 12, /// /// Allows for deletion of other users messages /// ManageMessages = 1 << 13, /// /// Links sent by this user will be auto-embedded /// EmbedLinks = 1 << 14, /// /// Allows for uploading images and files /// AttachFiles = 1 << 15, /// /// Allows for reading of message history /// ReadMessageHistory = 1 << 16, /// /// 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 /// MentionEveryone = 1 << 17, /// /// Allows the usage of custom emojis from other servers /// ExternalEmojis = 1 << 18, /// /// Allows for joining of a voice channel /// VoiceConnect = 1 << 20, /// /// Allows for speaking in a voice channel /// VoiceSpeak = 1 << 21, /// /// Allows for muting members in a voice channel /// VoiceMuteMembers = 1 << 22, /// /// Allows for deafening of members in a voice channel /// VoiceDeafenMembers = 1 << 23, /// /// Allows for moving of members between voice channels /// VoiceMoveMembers = 1 << 24, /// /// Allows for using voice-activity-detection in a voice channel /// VoiceUseVAD = 1 << 25, /// /// Allows for modification of own nickname /// ChangeNickname = 1 << 26, /// /// Allows for modification of other users nicknames /// ManageNicknames = 1 << 27, /// /// Allows management and editing of roles /// ManageRoles = 1 << 28, /// /// Allows management and editing of webhooks /// ManageWebhooks = 1 << 29, /// /// Allows management and editing of emojis /// ManageEmojis = 1 << 30, /// /// Blank permissions /// None = 0, /// /// All Guild related permissions /// AllGuild = CreateInstantInvite | KickMembers | BanMembers | Administrator | ManageChannels | ManageGuild | AddReactions | ViewAuditLog | ChangeNickname | ManageNicknames | ManageRoles | ManageWebhooks | ManageEmojis, /// /// All text channel permissions /// AllText = CreateInstantInvite | ManageChannels | ViewAuditLog | ReadMessages | SendMessages | SendTTSMessages | ManageMessages | EmbedLinks | AttachFiles | ReadMessageHistory | MentionEveryone | ExternalEmojis | ManageRoles | ManageWebhooks | ManageEmojis, /// /// All voice channel permissions /// AllVoice = CreateInstantInvite | ManageChannels | ViewAuditLog | VoiceConnect | VoiceSpeak | VoiceMuteMembers | VoiceDeafenMembers | VoiceMoveMembers | VoiceUseVAD | ManageRoles, /// /// All permissions /// All = CreateInstantInvite | KickMembers | BanMembers | Administrator | ManageChannels | ManageGuild | AddReactions | ViewAuditLog | ReadMessages | SendMessages | SendTTSMessages | ManageMessages | EmbedLinks | AttachFiles | ReadMessageHistory | MentionEveryone | ExternalEmojis | VoiceConnect | VoiceSpeak | VoiceMuteMembers | VoiceDeafenMembers | VoiceMoveMembers | VoiceUseVAD | ChangeNickname | ManageNicknames | ManageRoles | ManageWebhooks | ManageEmojis, } }