@@ -34,7 +34,7 @@ | |||
//ChangeNickname = 26, | |||
//ManageNicknames = 27, | |||
ManagePermissions = 28, | |||
//ManageWebhooks = 29, | |||
ManageWebhooks = 29, | |||
//ManageEmojis = 30 | |||
} | |||
} |
@@ -71,6 +71,8 @@ namespace Discord | |||
/// <summary> If True, a user may adjust permissions. This also implictly grants all other permissions. </summary> | |||
public bool ManagePermissions => Permissions.GetValue(RawValue, ChannelPermission.ManagePermissions); | |||
/// <summary> If True, a user may edit the webhooks for this channel. </summary> | |||
public bool ManageWebhooks => Permissions.GetValue(RawValue, ChannelPermission.ManageWebhooks); | |||
/// <summary> Creates a new ChannelPermissions with the provided packed value. </summary> | |||
public ChannelPermissions(ulong rawValue) { RawValue = rawValue; } | |||
@@ -80,7 +82,7 @@ namespace Discord | |||
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? managePermissions = null) | |||
bool? moveMembers = null, bool? useVoiceActivation = null, bool? managePermissions = null, bool? manageWebhooks = null) | |||
{ | |||
ulong value = initialValue; | |||
@@ -103,6 +105,7 @@ namespace Discord | |||
Permissions.SetValue(ref value, moveMembers, ChannelPermission.MoveMembers); | |||
Permissions.SetValue(ref value, useVoiceActivation, ChannelPermission.UseVAD); | |||
Permissions.SetValue(ref value, managePermissions, ChannelPermission.ManagePermissions); | |||
Permissions.SetValue(ref value, manageWebhooks, ChannelPermission.ManageWebhooks); | |||
RawValue = value; | |||
} | |||
@@ -113,10 +116,10 @@ namespace Discord | |||
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 managePermissions = false) | |||
bool moveMembers = false, bool useVoiceActivation = false, bool managePermissions = false, bool manageWebhooks = false) | |||
: this(0, createInstantInvite, manageChannel, addReactions, readMessages, sendMessages, sendTTSMessages, manageMessages, | |||
embedLinks, attachFiles, readMessageHistory, mentionEveryone, useExternalEmojis, connect, | |||
speak, muteMembers, deafenMembers, moveMembers, useVoiceActivation, managePermissions) { } | |||
speak, muteMembers, deafenMembers, moveMembers, useVoiceActivation, managePermissions, manageWebhooks) { } | |||
/// <summary> Creates a new ChannelPermissions from this one, changing the provided non-null permissions. </summary> | |||
public ChannelPermissions Modify(bool? createInstantInvite = null, bool? manageChannel = null, | |||
@@ -124,10 +127,10 @@ namespace Discord | |||
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 = false, bool? connect = null, bool? speak = null, bool? muteMembers = null, bool? deafenMembers = null, | |||
bool? moveMembers = null, bool? useVoiceActivation = null, bool? managePermissions = null) | |||
bool? moveMembers = null, bool? useVoiceActivation = null, bool? managePermissions = null, bool? manageWebhooks = null) | |||
=> new ChannelPermissions(RawValue, createInstantInvite, manageChannel, addReactions, readMessages, sendMessages, sendTTSMessages, manageMessages, | |||
embedLinks, attachFiles, readMessageHistory, mentionEveryone, useExternalEmojis, connect, | |||
speak, muteMembers, deafenMembers, moveMembers, useVoiceActivation, managePermissions); | |||
speak, muteMembers, deafenMembers, moveMembers, useVoiceActivation, managePermissions, manageWebhooks); | |||
public bool Has(ChannelPermission permission) => Permissions.GetValue(RawValue, permission); | |||
@@ -69,7 +69,7 @@ namespace Discord | |||
public bool ManageNicknames => Permissions.GetValue(RawValue, GuildPermission.ManageNicknames); | |||
/// <summary> If True, a user may adjust roles. </summary> | |||
public bool ManageRoles => Permissions.GetValue(RawValue, GuildPermission.ManageRoles); | |||
/// <summary> If True, a user may edit the emojis for this guild. </summary> | |||
/// <summary> If True, a user may edit the webhooks for this guild. </summary> | |||
public bool ManageWebhooks => Permissions.GetValue(RawValue, GuildPermission.ManageWebhooks); | |||
/// <summary> If True, a user may edit the emojis for this guild. </summary> | |||
public bool ManageEmojis => Permissions.GetValue(RawValue, GuildPermission.ManageEmojis); | |||
@@ -60,6 +60,8 @@ namespace Discord | |||
/// <summary> If Allowed, a user may adjust permissions. This also implictly grants all other permissions. </summary> | |||
public PermValue ManagePermissions => Permissions.GetValue(AllowValue, DenyValue, ChannelPermission.ManagePermissions); | |||
/// <summary> If True, a user may edit the webhooks for this channel. </summary> | |||
public PermValue ManageWebhooks => Permissions.GetValue(AllowValue, DenyValue, ChannelPermission.ManageWebhooks); | |||
/// <summary> Creates a new OverwritePermissions with the provided allow and deny packed values. </summary> | |||
public OverwritePermissions(ulong allowValue, ulong denyValue) | |||
@@ -73,7 +75,8 @@ namespace Discord | |||
PermValue? readMessages = null, PermValue? sendMessages = null, PermValue? sendTTSMessages = null, PermValue? manageMessages = null, | |||
PermValue? embedLinks = null, PermValue? attachFiles = null, PermValue? readMessageHistory = null, PermValue? mentionEveryone = null, | |||
PermValue? useExternalEmojis = null, PermValue? connect = null, PermValue? speak = null, PermValue? muteMembers = null, | |||
PermValue? deafenMembers = null, PermValue? moveMembers = null, PermValue? useVoiceActivation = null, PermValue? managePermissions = null) | |||
PermValue? deafenMembers = null, PermValue? moveMembers = null, PermValue? useVoiceActivation = null, PermValue? managePermissions = null, | |||
PermValue? manageWebhooks = null) | |||
{ | |||
Permissions.SetValue(ref allowValue, ref denyValue, createInstantInvite, ChannelPermission.CreateInstantInvite); | |||
Permissions.SetValue(ref allowValue, ref denyValue, manageChannel, ChannelPermission.ManageChannel); | |||
@@ -94,6 +97,7 @@ namespace Discord | |||
Permissions.SetValue(ref allowValue, ref denyValue, moveMembers, ChannelPermission.MoveMembers); | |||
Permissions.SetValue(ref allowValue, ref denyValue, useVoiceActivation, ChannelPermission.UseVAD); | |||
Permissions.SetValue(ref allowValue, ref denyValue, managePermissions, ChannelPermission.ManagePermissions); | |||
Permissions.SetValue(ref allowValue, ref denyValue, manageWebhooks, ChannelPermission.ManageWebhooks); | |||
AllowValue = allowValue; | |||
DenyValue = denyValue; | |||
@@ -105,10 +109,10 @@ namespace Discord | |||
PermValue readMessages = PermValue.Inherit, PermValue sendMessages = PermValue.Inherit, PermValue sendTTSMessages = PermValue.Inherit, PermValue manageMessages = PermValue.Inherit, | |||
PermValue embedLinks = PermValue.Inherit, PermValue attachFiles = PermValue.Inherit, PermValue readMessageHistory = PermValue.Inherit, PermValue mentionEveryone = PermValue.Inherit, | |||
PermValue useExternalEmojis = PermValue.Inherit, PermValue connect = PermValue.Inherit, PermValue speak = PermValue.Inherit, PermValue muteMembers = PermValue.Inherit, PermValue deafenMembers = PermValue.Inherit, | |||
PermValue moveMembers = PermValue.Inherit, PermValue useVoiceActivation = PermValue.Inherit, PermValue managePermissions = PermValue.Inherit) | |||
PermValue moveMembers = PermValue.Inherit, PermValue useVoiceActivation = PermValue.Inherit, PermValue managePermissions = PermValue.Inherit, PermValue manageWebhooks = PermValue.Inherit) | |||
: this(0, 0, createInstantInvite, manageChannel, addReactions, readMessages, sendMessages, sendTTSMessages, manageMessages, | |||
embedLinks, attachFiles, readMessageHistory, mentionEveryone, useExternalEmojis, connect, speak, muteMembers, deafenMembers, | |||
moveMembers, useVoiceActivation, managePermissions) { } | |||
moveMembers, useVoiceActivation, managePermissions, manageWebhooks) { } | |||
/// <summary> Creates a new OverwritePermissions from this one, changing the provided non-null permissions. </summary> | |||
public OverwritePermissions Modify(PermValue? createInstantInvite = null, PermValue? manageChannel = null, | |||
@@ -116,10 +120,10 @@ namespace Discord | |||
PermValue? readMessages = null, PermValue? sendMessages = null, PermValue? sendTTSMessages = null, PermValue? manageMessages = null, | |||
PermValue? embedLinks = null, PermValue? attachFiles = null, PermValue? readMessageHistory = null, PermValue? mentionEveryone = null, | |||
PermValue? useExternalEmojis = null, PermValue? connect = null, PermValue? speak = null, PermValue? muteMembers = null, PermValue? deafenMembers = null, | |||
PermValue? moveMembers = null, PermValue? useVoiceActivation = null, PermValue? managePermissions = null) | |||
PermValue? moveMembers = null, PermValue? useVoiceActivation = null, PermValue? managePermissions = null, PermValue? manageWebhooks = null) | |||
=> new OverwritePermissions(AllowValue, DenyValue, createInstantInvite, manageChannel, addReactions, readMessages, sendMessages, sendTTSMessages, manageMessages, | |||
embedLinks, attachFiles, readMessageHistory, mentionEveryone, useExternalEmojis, connect, speak, muteMembers, deafenMembers, | |||
moveMembers, useVoiceActivation, managePermissions); | |||
moveMembers, useVoiceActivation, managePermissions, manageWebhooks); | |||
public List<ChannelPermission> ToAllowList() | |||
{ | |||