diff --git a/src/Discord.Net.Core/Entities/Permissions/GuildPermission.cs b/src/Discord.Net.Core/Entities/Permissions/GuildPermission.cs
index 3975c1b8b..2ae481074 100644
--- a/src/Discord.Net.Core/Entities/Permissions/GuildPermission.cs
+++ b/src/Discord.Net.Core/Entities/Permissions/GuildPermission.cs
@@ -9,6 +9,7 @@
Administrator = 3,
ManageChannels = 4,
ManageGuild = 5,
+ ViewAuditLog = 7,
//Text
AddReactions = 6,
diff --git a/src/Discord.Net.Core/Entities/Permissions/GuildPermissions.cs b/src/Discord.Net.Core/Entities/Permissions/GuildPermissions.cs
index c5f1efab0..bbf31ef34 100644
--- a/src/Discord.Net.Core/Entities/Permissions/GuildPermissions.cs
+++ b/src/Discord.Net.Core/Entities/Permissions/GuildPermissions.cs
@@ -11,7 +11,7 @@ namespace Discord
/// Gets a GuildPermissions that grants all guild permissions for webhook users.
public static readonly GuildPermissions Webhook = new GuildPermissions(0b00000_0000000_0001101100000_000000);
/// Gets a GuildPermissions that grants all guild permissions.
- public static readonly GuildPermissions All = new GuildPermissions(0b11111_1111110_0111111110001_111111);
+ public static readonly GuildPermissions All = new GuildPermissions(0b11111_1111110_0111111110011_111111);
/// Gets a packed value representing all the permissions in this GuildPermissions.
public ulong RawValue { get; }
@@ -28,7 +28,9 @@ namespace Discord
public bool ManageChannels => Permissions.GetValue(RawValue, GuildPermission.ManageChannels);
/// If True, a user may adjust guild properties.
public bool ManageGuild => Permissions.GetValue(RawValue, GuildPermission.ManageGuild);
-
+ /// If True, a user may view guild audit logs.
+ public bool ViewAuditLog => Permissions.GetValue(RawValue, GuildPermission.ViewAuditLog);
+
/// If true, a user may add reactions.
public bool AddReactions => Permissions.GetValue(RawValue, GuildPermission.AddReactions);
/// If True, a user may join channels.
@@ -77,14 +79,14 @@ namespace Discord
/// Creates a new GuildPermissions with the provided packed value.
public GuildPermissions(ulong rawValue) { RawValue = rawValue; }
- private GuildPermissions(ulong initialValue, bool? createInstantInvite = null, bool? kickMembers = null,
- bool? banMembers = null, bool? administrator = null, bool? manageChannel = null, bool? manageGuild = null,
+ private GuildPermissions(ulong initialValue, bool? createInstantInvite = null, bool? kickMembers = null,
+ bool? banMembers = null, bool? administrator = null, bool? manageChannels = null, bool? manageGuild = null,
bool? addReactions = null,
- bool? readMessages = null, bool? sendMessages = null, bool? sendTTSMessages = null, bool? manageMessages = null,
- bool? embedLinks = null, bool? attachFiles = null, bool? readMessageHistory = null, bool? mentionEveryone = null,
- bool? userExternalEmojis = null, bool? connect = null, bool? speak = null, bool? muteMembers = null, bool? deafenMembers = null,
- bool? moveMembers = null, bool? useVoiceActivation = null, bool? changeNickname = null, bool? manageNicknames = null,
- bool? manageRoles = null, bool? manageWebhooks = null, bool? manageEmojis = null)
+ bool? readMessages = null, bool? sendMessages = null, bool? sendTTSMessages = null, bool? manageMessages = null,
+ bool? embedLinks = null, bool? attachFiles = null, bool? readMessageHistory = null, bool? mentionEveryone = null,
+ bool? useExternalEmojis = null, bool? connect = null, bool? speak = null, bool? muteMembers = null, bool? deafenMembers = null,
+ bool? moveMembers = null, bool? useVoiceActivation = null, bool? changeNickname = null, bool? manageNicknames = null,
+ bool? manageRoles = null, bool? manageWebhooks = null, bool? manageEmojis = null, bool? viewAuditLog = null)
{
ulong value = initialValue;
@@ -92,7 +94,7 @@ namespace Discord
Permissions.SetValue(ref value, banMembers, GuildPermission.BanMembers);
Permissions.SetValue(ref value, kickMembers, GuildPermission.KickMembers);
Permissions.SetValue(ref value, administrator, GuildPermission.Administrator);
- Permissions.SetValue(ref value, manageChannel, GuildPermission.ManageChannels);
+ Permissions.SetValue(ref value, manageChannels, GuildPermission.ManageChannels);
Permissions.SetValue(ref value, manageGuild, GuildPermission.ManageGuild);
Permissions.SetValue(ref value, addReactions, GuildPermission.AddReactions);
Permissions.SetValue(ref value, readMessages, GuildPermission.ReadMessages);
@@ -103,7 +105,7 @@ namespace Discord
Permissions.SetValue(ref value, attachFiles, GuildPermission.AttachFiles);
Permissions.SetValue(ref value, readMessageHistory, GuildPermission.ReadMessageHistory);
Permissions.SetValue(ref value, mentionEveryone, GuildPermission.MentionEveryone);
- Permissions.SetValue(ref value, userExternalEmojis, GuildPermission.UseExternalEmojis);
+ Permissions.SetValue(ref value, useExternalEmojis, GuildPermission.UseExternalEmojis);
Permissions.SetValue(ref value, connect, GuildPermission.Connect);
Permissions.SetValue(ref value, speak, GuildPermission.Speak);
Permissions.SetValue(ref value, muteMembers, GuildPermission.MuteMembers);
@@ -115,36 +117,47 @@ namespace Discord
Permissions.SetValue(ref value, manageRoles, GuildPermission.ManageRoles);
Permissions.SetValue(ref value, manageWebhooks, GuildPermission.ManageWebhooks);
Permissions.SetValue(ref value, manageEmojis, GuildPermission.ManageEmojis);
+ Permissions.SetValue(ref value, viewAuditLog, GuildPermission.ViewAuditLog);
RawValue = value;
}
/// Creates a new GuildPermissions with the provided permissions.
- public GuildPermissions(bool createInstantInvite = false, bool kickMembers = false,
+ public GuildPermissions(bool createInstantInvite = false, bool kickMembers = false,
bool banMembers = false, bool administrator = false, bool manageChannels = false, bool manageGuild = false,
bool addReactions = false,
bool readMessages = false, bool sendMessages = false, bool sendTTSMessages = false, bool manageMessages = false,
bool embedLinks = false, bool attachFiles = false, bool readMessageHistory = false, bool mentionEveryone = false,
bool useExternalEmojis = false, bool connect = false, bool speak = false, bool muteMembers = false, bool deafenMembers = false,
- bool moveMembers = false, bool useVoiceActivation = false, bool? changeNickname = false, bool? manageNicknames = false,
- bool manageRoles = false, bool manageWebhooks = false, bool manageEmojis = false)
- : this(0, createInstantInvite, manageRoles, kickMembers, banMembers, manageChannels, manageGuild, addReactions,
- readMessages, sendMessages, sendTTSMessages, manageMessages, embedLinks, attachFiles, mentionEveryone, useExternalEmojis, connect,
- manageWebhooks, manageEmojis) { }
+ bool moveMembers = false, bool useVoiceActivation = false, bool? changeNickname = false, bool? manageNicknames = false,
+ bool manageRoles = false, bool manageWebhooks = false, bool manageEmojis = false,
+ bool viewAuditLog = false)
+ : this( initialValue: 0, createInstantInvite: createInstantInvite, kickMembers: kickMembers, banMembers: banMembers,
+ administrator: administrator, manageChannels: manageChannels, manageGuild: manageGuild, addReactions: addReactions,
+ readMessages: readMessages, sendMessages: sendMessages, sendTTSMessages: sendTTSMessages, manageMessages: manageMessages,
+ embedLinks: embedLinks, attachFiles: attachFiles, readMessageHistory: readMessageHistory, mentionEveryone: mentionEveryone,
+ useExternalEmojis: useExternalEmojis, connect: connect, speak: speak, muteMembers: muteMembers, deafenMembers: deafenMembers,
+ moveMembers: moveMembers, useVoiceActivation: useVoiceActivation, changeNickname: changeNickname, manageNicknames: manageNicknames,
+ manageRoles: manageRoles, manageWebhooks: manageWebhooks, manageEmojis: manageEmojis, viewAuditLog: viewAuditLog)
+
+ { }
/// Creates a new GuildPermissions from this one, changing the provided non-null permissions.
- public GuildPermissions Modify(bool? createInstantInvite = null, bool? kickMembers = null,
+ public GuildPermissions Modify(bool? createInstantInvite = null, bool? kickMembers = null,
bool? banMembers = null, bool? administrator = null, bool? manageChannels = null, bool? manageGuild = null,
bool? addReactions = null,
bool? readMessages = null, bool? sendMessages = null, bool? sendTTSMessages = null, bool? manageMessages = null,
bool? embedLinks = null, bool? attachFiles = null, bool? readMessageHistory = null, bool? mentionEveryone = null,
bool? useExternalEmojis = null, bool? connect = null, bool? speak = null, bool? muteMembers = null, bool? deafenMembers = null,
- bool? moveMembers = null, bool? useVoiceActivation = null, bool? changeNickname = null, bool? manageNicknames = null,
- bool? manageRoles = null, bool? manageWebhooks = null, bool? manageEmojis = null)
- => new GuildPermissions(RawValue, createInstantInvite, manageRoles, kickMembers, banMembers, manageChannels, manageGuild, addReactions,
- readMessages, sendMessages, sendTTSMessages, manageMessages, embedLinks, attachFiles, mentionEveryone, useExternalEmojis, connect,
- speak, muteMembers, deafenMembers, moveMembers, useVoiceActivation, changeNickname, manageNicknames, manageRoles,
- manageWebhooks, manageEmojis);
+ bool? moveMembers = null, bool? useVoiceActivation = null, bool? changeNickname = null, bool? manageNicknames = null,
+ bool? manageRoles = null, bool? manageWebhooks = null, bool? manageEmojis = null, bool? viewAuditLog = null)
+ => new GuildPermissions(RawValue, createInstantInvite: createInstantInvite, kickMembers: kickMembers, banMembers: banMembers,
+ administrator: administrator, manageChannels: manageChannels, manageGuild: manageGuild, addReactions: addReactions,
+ readMessages: readMessages, sendMessages: sendMessages, sendTTSMessages: sendTTSMessages, manageMessages: manageMessages,
+ embedLinks: embedLinks, attachFiles: attachFiles, readMessageHistory: readMessageHistory, mentionEveryone: mentionEveryone,
+ useExternalEmojis: useExternalEmojis, connect: connect, speak: speak, muteMembers: muteMembers, deafenMembers: deafenMembers,
+ moveMembers: moveMembers, useVoiceActivation: useVoiceActivation, changeNickname: changeNickname, manageNicknames: manageNicknames,
+ manageRoles: manageRoles, manageWebhooks: manageWebhooks, manageEmojis: manageEmojis, viewAuditLog: viewAuditLog);
public bool Has(GuildPermission permission) => Permissions.GetValue(RawValue, permission);