@@ -19,6 +19,7 @@ | |||||
AttachFiles = 15, | AttachFiles = 15, | ||||
ReadMessageHistory = 16, | ReadMessageHistory = 16, | ||||
MentionEveryone = 17, | MentionEveryone = 17, | ||||
UseExternalEmojis = 18, | |||||
//Voice | //Voice | ||||
Connect = 20, | Connect = 20, | ||||
@@ -8,10 +8,10 @@ namespace Discord | |||||
public struct ChannelPermissions | public struct ChannelPermissions | ||||
{ | { | ||||
//TODO: C#7 Candidate for binary literals | //TODO: C#7 Candidate for binary literals | ||||
private static ChannelPermissions _allDM { get; } = new ChannelPermissions(Convert.ToUInt64( "00000000000000011100110000000000", 2)); | |||||
private static ChannelPermissions _allDM { get; } = new ChannelPermissions(Convert.ToUInt64("00000000000001011100110000000000", 2)); | |||||
private static ChannelPermissions _allVoice { get; } = new ChannelPermissions(Convert.ToUInt64("00010011111100000000000000010001", 2)); | private static ChannelPermissions _allVoice { get; } = new ChannelPermissions(Convert.ToUInt64("00010011111100000000000000010001", 2)); | ||||
private static ChannelPermissions _allText { get; } = new ChannelPermissions(Convert.ToUInt64( "00010000000000111111110000010001", 2)); | |||||
private static ChannelPermissions _allGroup { get; } = new ChannelPermissions(Convert.ToUInt64("00000000000000111110110000000000", 2)); | |||||
private static ChannelPermissions _allText { get; } = new ChannelPermissions(Convert.ToUInt64("00010000000001111111110000010001", 2)); | |||||
private static ChannelPermissions _allGroup { get; } = new ChannelPermissions(Convert.ToUInt64("00000000000001111110110000000000", 2)); | |||||
/// <summary> Gets a blank ChannelPermissions that grants no permissions. </summary> | /// <summary> Gets a blank ChannelPermissions that grants no permissions. </summary> | ||||
public static ChannelPermissions None { get; } = new ChannelPermissions(); | public static ChannelPermissions None { get; } = new ChannelPermissions(); | ||||
@@ -51,6 +51,8 @@ namespace Discord | |||||
public bool ReadMessageHistory => Permissions.GetValue(RawValue, ChannelPermission.ReadMessageHistory); | public bool ReadMessageHistory => Permissions.GetValue(RawValue, ChannelPermission.ReadMessageHistory); | ||||
/// <summary> If True, a user may mention @everyone. </summary> | /// <summary> If True, a user may mention @everyone. </summary> | ||||
public bool MentionEveryone => Permissions.GetValue(RawValue, ChannelPermission.MentionEveryone); | public bool MentionEveryone => Permissions.GetValue(RawValue, ChannelPermission.MentionEveryone); | ||||
/// <summary> If True, a user may use custom emoji from other guilds. </summary> | |||||
public bool UseExternalEmojis => Permissions.GetValue(RawValue, ChannelPermission.UseExternalEmojis); | |||||
/// <summary> If True, a user may connect to a voice channel. </summary> | /// <summary> If True, a user may connect to a voice channel. </summary> | ||||
public bool Connect => Permissions.GetValue(RawValue, ChannelPermission.Connect); | public bool Connect => Permissions.GetValue(RawValue, ChannelPermission.Connect); | ||||
@@ -74,7 +76,7 @@ namespace Discord | |||||
private ChannelPermissions(ulong initialValue, bool? createInstantInvite = null, bool? manageChannel = null, | private ChannelPermissions(ulong initialValue, bool? createInstantInvite = null, bool? manageChannel = null, | ||||
bool? readMessages = null, bool? sendMessages = null, bool? sendTTSMessages = null, bool? manageMessages = 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? embedLinks = null, bool? attachFiles = null, bool? readMessageHistory = null, bool? mentionEveryone = null, | ||||
bool? connect = null, bool? speak = null, bool? muteMembers = null, bool? deafenMembers = 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) | ||||
{ | { | ||||
ulong value = initialValue; | ulong value = initialValue; | ||||
@@ -89,6 +91,7 @@ namespace Discord | |||||
Permissions.SetValue(ref value, attachFiles, ChannelPermission.AttachFiles); | Permissions.SetValue(ref value, attachFiles, ChannelPermission.AttachFiles); | ||||
Permissions.SetValue(ref value, readMessageHistory, ChannelPermission.ReadMessageHistory); | Permissions.SetValue(ref value, readMessageHistory, ChannelPermission.ReadMessageHistory); | ||||
Permissions.SetValue(ref value, mentionEveryone, ChannelPermission.MentionEveryone); | Permissions.SetValue(ref value, mentionEveryone, ChannelPermission.MentionEveryone); | ||||
Permissions.SetValue(ref value, useExternalEmojis, ChannelPermission.UseExternalEmojis); | |||||
Permissions.SetValue(ref value, connect, ChannelPermission.Connect); | Permissions.SetValue(ref value, connect, ChannelPermission.Connect); | ||||
Permissions.SetValue(ref value, speak, ChannelPermission.Speak); | Permissions.SetValue(ref value, speak, ChannelPermission.Speak); | ||||
Permissions.SetValue(ref value, muteMembers, ChannelPermission.MuteMembers); | Permissions.SetValue(ref value, muteMembers, ChannelPermission.MuteMembers); | ||||
@@ -104,21 +107,22 @@ namespace Discord | |||||
public ChannelPermissions(bool createInstantInvite = false, bool manageChannel = false, | public ChannelPermissions(bool createInstantInvite = false, bool manageChannel = false, | ||||
bool readMessages = false, bool sendMessages = false, bool sendTTSMessages = false, bool manageMessages = 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 embedLinks = false, bool attachFiles = false, bool readMessageHistory = false, bool mentionEveryone = false, | ||||
bool connect = false, bool speak = false, bool muteMembers = false, bool deafenMembers = 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) | ||||
: this(0, createInstantInvite, manageChannel, readMessages, sendMessages, sendTTSMessages, manageMessages, | : this(0, createInstantInvite, manageChannel, readMessages, sendMessages, sendTTSMessages, manageMessages, | ||||
embedLinks, attachFiles, readMessageHistory, mentionEveryone, connect, speak, muteMembers, deafenMembers, | |||||
moveMembers, useVoiceActivation, managePermissions) { } | |||||
embedLinks, attachFiles, readMessageHistory, mentionEveryone, useExternalEmojis, connect, | |||||
speak, muteMembers, deafenMembers, moveMembers, useVoiceActivation, managePermissions) | |||||
{ } | |||||
/// <summary> Creates a new ChannelPermissions from this one, changing the provided non-null permissions. </summary> | /// <summary> Creates a new ChannelPermissions from this one, changing the provided non-null permissions. </summary> | ||||
public ChannelPermissions Modify(bool? createInstantInvite = null, bool? manageChannel = null, | public ChannelPermissions Modify(bool? createInstantInvite = null, bool? manageChannel = null, | ||||
bool? readMessages = null, bool? sendMessages = null, bool? sendTTSMessages = null, bool? manageMessages = 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? embedLinks = null, bool? attachFiles = null, bool? readMessageHistory = null, bool? mentionEveryone = null, | ||||
bool? connect = null, bool? speak = null, bool? muteMembers = null, bool? deafenMembers = 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) | ||||
=> new ChannelPermissions(RawValue, createInstantInvite, manageChannel, readMessages, sendMessages, sendTTSMessages, manageMessages, | => new ChannelPermissions(RawValue, createInstantInvite, manageChannel, readMessages, sendMessages, sendTTSMessages, manageMessages, | ||||
embedLinks, attachFiles, readMessageHistory, mentionEveryone, connect, speak, muteMembers, deafenMembers, | |||||
moveMembers, useVoiceActivation, managePermissions); | |||||
embedLinks, attachFiles, readMessageHistory, mentionEveryone, useExternalEmojis, connect, | |||||
speak, muteMembers, deafenMembers, moveMembers, useVoiceActivation, managePermissions); | |||||
public bool Has(ChannelPermission permission) => Permissions.GetValue(RawValue, permission); | public bool Has(ChannelPermission permission) => Permissions.GetValue(RawValue, permission); | ||||
@@ -137,4 +141,4 @@ namespace Discord | |||||
public override string ToString() => RawValue.ToString(); | public override string ToString() => RawValue.ToString(); | ||||
private string DebuggerDisplay => $"{string.Join(", ", ToList())}"; | private string DebuggerDisplay => $"{string.Join(", ", ToList())}"; | ||||
} | } | ||||
} | |||||
} |
@@ -19,6 +19,7 @@ | |||||
AttachFiles = 15, | AttachFiles = 15, | ||||
ReadMessageHistory = 16, | ReadMessageHistory = 16, | ||||
MentionEveryone = 17, | MentionEveryone = 17, | ||||
UseExternalEmojis = 18, | |||||
//Voice | //Voice | ||||
Connect = 20, | Connect = 20, | ||||
@@ -45,6 +45,8 @@ namespace Discord | |||||
public bool ReadMessageHistory => Permissions.GetValue(RawValue, GuildPermission.ReadMessageHistory); | public bool ReadMessageHistory => Permissions.GetValue(RawValue, GuildPermission.ReadMessageHistory); | ||||
/// <summary> If True, a user may mention @everyone. </summary> | /// <summary> If True, a user may mention @everyone. </summary> | ||||
public bool MentionEveryone => Permissions.GetValue(RawValue, GuildPermission.MentionEveryone); | public bool MentionEveryone => Permissions.GetValue(RawValue, GuildPermission.MentionEveryone); | ||||
/// <summary> If True, a user may use custom emoji from other guilds. </summary> | |||||
public bool UseExternalEmojis => Permissions.GetValue(RawValue, GuildPermission.UseExternalEmojis); | |||||
/// <summary> If True, a user may connect to a voice channel. </summary> | /// <summary> If True, a user may connect to a voice channel. </summary> | ||||
public bool Connect => Permissions.GetValue(RawValue, GuildPermission.Connect); | public bool Connect => Permissions.GetValue(RawValue, GuildPermission.Connect); | ||||
@@ -73,7 +75,7 @@ namespace Discord | |||||
bool? banMembers = null, bool? administrator = null, bool? manageChannel = null, bool? manageGuild = null, | bool? banMembers = null, bool? administrator = null, bool? manageChannel = null, bool? manageGuild = null, | ||||
bool? readMessages = null, bool? sendMessages = null, bool? sendTTSMessages = null, bool? manageMessages = 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? embedLinks = null, bool? attachFiles = null, bool? readMessageHistory = null, bool? mentionEveryone = null, | ||||
bool? connect = null, bool? speak = null, bool? muteMembers = null, bool? deafenMembers = 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? moveMembers = null, bool? useVoiceActivation = null, bool? changeNickname = null, bool? manageNicknames = null, | ||||
bool? manageRoles = null) | bool? manageRoles = null) | ||||
{ | { | ||||
@@ -93,6 +95,7 @@ namespace Discord | |||||
Permissions.SetValue(ref value, attachFiles, GuildPermission.AttachFiles); | Permissions.SetValue(ref value, attachFiles, GuildPermission.AttachFiles); | ||||
Permissions.SetValue(ref value, readMessageHistory, GuildPermission.ReadMessageHistory); | Permissions.SetValue(ref value, readMessageHistory, GuildPermission.ReadMessageHistory); | ||||
Permissions.SetValue(ref value, mentionEveryone, GuildPermission.MentionEveryone); | Permissions.SetValue(ref value, mentionEveryone, GuildPermission.MentionEveryone); | ||||
Permissions.SetValue(ref value, userExternalEmojis, GuildPermission.UseExternalEmojis); | |||||
Permissions.SetValue(ref value, connect, GuildPermission.Connect); | Permissions.SetValue(ref value, connect, GuildPermission.Connect); | ||||
Permissions.SetValue(ref value, speak, GuildPermission.Speak); | Permissions.SetValue(ref value, speak, GuildPermission.Speak); | ||||
Permissions.SetValue(ref value, muteMembers, GuildPermission.MuteMembers); | Permissions.SetValue(ref value, muteMembers, GuildPermission.MuteMembers); | ||||
@@ -111,24 +114,24 @@ namespace Discord | |||||
bool banMembers = false, bool administrator = false, bool manageChannels = false, bool manageGuild = false, | bool banMembers = false, bool administrator = false, bool manageChannels = false, bool manageGuild = false, | ||||
bool readMessages = false, bool sendMessages = false, bool sendTTSMessages = false, bool manageMessages = 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 embedLinks = false, bool attachFiles = false, bool readMessageHistory = false, bool mentionEveryone = false, | ||||
bool connect = false, bool speak = false, bool muteMembers = false, bool deafenMembers = 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 moveMembers = false, bool useVoiceActivation = false, bool? changeNickname = false, bool? manageNicknames = false, | ||||
bool manageRoles = false) | bool manageRoles = false) | ||||
: this(0, createInstantInvite, manageRoles, kickMembers, banMembers, manageChannels, manageGuild, readMessages, | : this(0, createInstantInvite, manageRoles, kickMembers, banMembers, manageChannels, manageGuild, readMessages, | ||||
sendMessages, sendTTSMessages, manageMessages, embedLinks, attachFiles, mentionEveryone, connect, speak, muteMembers, deafenMembers, | |||||
moveMembers, useVoiceActivation, changeNickname, manageNicknames, manageRoles) { } | |||||
sendMessages, sendTTSMessages, manageMessages, embedLinks, attachFiles, mentionEveryone, useExternalEmojis, connect, | |||||
speak, muteMembers, deafenMembers, moveMembers, useVoiceActivation, changeNickname, manageNicknames, manageRoles) { } | |||||
/// <summary> Creates a new GuildPermissions from this one, changing the provided non-null permissions. </summary> | /// <summary> Creates a new GuildPermissions from this one, changing the provided non-null permissions. </summary> | ||||
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? banMembers = null, bool? administrator = null, bool? manageChannels = null, bool? manageGuild = null, | ||||
bool? readMessages = null, bool? sendMessages = null, bool? sendTTSMessages = null, bool? manageMessages = 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? embedLinks = null, bool? attachFiles = null, bool? readMessageHistory = null, bool? mentionEveryone = null, | ||||
bool? connect = null, bool? speak = null, bool? muteMembers = null, bool? deafenMembers = 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? moveMembers = null, bool? useVoiceActivation = null, bool? changeNickname = null, bool? manageNicknames = null, | ||||
bool? manageRoles = null) | bool? manageRoles = null) | ||||
=> new GuildPermissions(RawValue, createInstantInvite, manageRoles, kickMembers, banMembers, manageChannels, manageGuild, readMessages, | => new GuildPermissions(RawValue, createInstantInvite, manageRoles, kickMembers, banMembers, manageChannels, manageGuild, readMessages, | ||||
sendMessages, sendTTSMessages, manageMessages, embedLinks, attachFiles, mentionEveryone, connect, speak, muteMembers, deafenMembers, | |||||
moveMembers, useVoiceActivation, changeNickname, manageNicknames, manageRoles); | |||||
sendMessages, sendTTSMessages, manageMessages, embedLinks, attachFiles, mentionEveryone, useExternalEmojis, connect, | |||||
speak, muteMembers, deafenMembers, moveMembers, useVoiceActivation, changeNickname, manageNicknames, manageRoles); | |||||
public bool Has(GuildPermission permission) => Permissions.GetValue(RawValue, permission); | public bool Has(GuildPermission permission) => Permissions.GetValue(RawValue, permission); | ||||
@@ -1,5 +1,4 @@ | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Collections.Generic; | |||||
using System.Diagnostics; | using System.Diagnostics; | ||||
namespace Discord | namespace Discord | ||||
@@ -41,6 +40,8 @@ namespace Discord | |||||
public PermValue ReadMessageHistory => Permissions.GetValue(AllowValue, DenyValue, ChannelPermission.ReadMessageHistory); | public PermValue ReadMessageHistory => Permissions.GetValue(AllowValue, DenyValue, ChannelPermission.ReadMessageHistory); | ||||
/// <summary> If True, a user may mention @everyone. </summary> | /// <summary> If True, a user may mention @everyone. </summary> | ||||
public PermValue MentionEveryone => Permissions.GetValue(AllowValue, DenyValue, ChannelPermission.MentionEveryone); | public PermValue MentionEveryone => Permissions.GetValue(AllowValue, DenyValue, ChannelPermission.MentionEveryone); | ||||
/// <summary> If True, a user may use custom emoji from other guilds. </summary> | |||||
public PermValue UseExternalEmojis => Permissions.GetValue(AllowValue, DenyValue, ChannelPermission.UseExternalEmojis); | |||||
/// <summary> If True, a user may connect to a voice channel. </summary> | /// <summary> If True, a user may connect to a voice channel. </summary> | ||||
public PermValue Connect => Permissions.GetValue(AllowValue, DenyValue, ChannelPermission.Connect); | public PermValue Connect => Permissions.GetValue(AllowValue, DenyValue, ChannelPermission.Connect); | ||||
@@ -68,8 +69,8 @@ namespace Discord | |||||
private OverwritePermissions(ulong allowValue, ulong denyValue, PermValue? createInstantInvite = null, PermValue? manageChannel = null, | private OverwritePermissions(ulong allowValue, ulong denyValue, PermValue? createInstantInvite = null, PermValue? manageChannel = null, | ||||
PermValue? readMessages = null, PermValue? sendMessages = null, PermValue? sendTTSMessages = null, PermValue? manageMessages = null, | 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? embedLinks = null, PermValue? attachFiles = null, PermValue? readMessageHistory = null, PermValue? mentionEveryone = null, | ||||
PermValue? connect = null, PermValue? speak = null, PermValue? muteMembers = null, PermValue? deafenMembers = null, | |||||
PermValue? moveMembers = null, PermValue? useVoiceActivation = null, PermValue? managePermissions = 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) | |||||
{ | { | ||||
Permissions.SetValue(ref allowValue, ref denyValue, createInstantInvite, ChannelPermission.CreateInstantInvite); | Permissions.SetValue(ref allowValue, ref denyValue, createInstantInvite, ChannelPermission.CreateInstantInvite); | ||||
Permissions.SetValue(ref allowValue, ref denyValue, manageChannel, ChannelPermission.ManageChannel); | Permissions.SetValue(ref allowValue, ref denyValue, manageChannel, ChannelPermission.ManageChannel); | ||||
@@ -81,6 +82,7 @@ namespace Discord | |||||
Permissions.SetValue(ref allowValue, ref denyValue, attachFiles, ChannelPermission.AttachFiles); | Permissions.SetValue(ref allowValue, ref denyValue, attachFiles, ChannelPermission.AttachFiles); | ||||
Permissions.SetValue(ref allowValue, ref denyValue, readMessageHistory, ChannelPermission.ReadMessageHistory); | Permissions.SetValue(ref allowValue, ref denyValue, readMessageHistory, ChannelPermission.ReadMessageHistory); | ||||
Permissions.SetValue(ref allowValue, ref denyValue, mentionEveryone, ChannelPermission.MentionEveryone); | Permissions.SetValue(ref allowValue, ref denyValue, mentionEveryone, ChannelPermission.MentionEveryone); | ||||
Permissions.SetValue(ref allowValue, ref denyValue, useExternalEmojis, ChannelPermission.UseExternalEmojis); | |||||
Permissions.SetValue(ref allowValue, ref denyValue, connect, ChannelPermission.Connect); | Permissions.SetValue(ref allowValue, ref denyValue, connect, ChannelPermission.Connect); | ||||
Permissions.SetValue(ref allowValue, ref denyValue, speak, ChannelPermission.Speak); | Permissions.SetValue(ref allowValue, ref denyValue, speak, ChannelPermission.Speak); | ||||
Permissions.SetValue(ref allowValue, ref denyValue, muteMembers, ChannelPermission.MuteMembers); | Permissions.SetValue(ref allowValue, ref denyValue, muteMembers, ChannelPermission.MuteMembers); | ||||
@@ -96,21 +98,21 @@ namespace Discord | |||||
/// <summary> Creates a new ChannelPermissions with the provided permissions. </summary> | /// <summary> Creates a new ChannelPermissions with the provided permissions. </summary> | ||||
public OverwritePermissions(PermValue createInstantInvite = PermValue.Inherit, PermValue manageChannel = PermValue.Inherit, | public OverwritePermissions(PermValue createInstantInvite = PermValue.Inherit, PermValue manageChannel = PermValue.Inherit, | ||||
PermValue readMessages = PermValue.Inherit, PermValue sendMessages = PermValue.Inherit, PermValue sendTTSMessages = PermValue.Inherit, PermValue manageMessages = PermValue.Inherit, | 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 connect = PermValue.Inherit, PermValue speak = PermValue.Inherit, PermValue muteMembers = PermValue.Inherit, PermValue deafenMembers = 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) | ||||
: this(0, 0, createInstantInvite, manageChannel, readMessages, sendMessages, sendTTSMessages, manageMessages, | : this(0, 0, createInstantInvite, manageChannel, readMessages, sendMessages, sendTTSMessages, manageMessages, | ||||
embedLinks, attachFiles, readMessageHistory, mentionEveryone, connect, speak, muteMembers, deafenMembers, | |||||
embedLinks, attachFiles, readMessageHistory, mentionEveryone, useExternalEmojis, connect, speak, muteMembers, deafenMembers, | |||||
moveMembers, useVoiceActivation, managePermissions) { } | moveMembers, useVoiceActivation, managePermissions) { } | ||||
/// <summary> Creates a new OverwritePermissions from this one, changing the provided non-null permissions. </summary> | /// <summary> Creates a new OverwritePermissions from this one, changing the provided non-null permissions. </summary> | ||||
public OverwritePermissions Modify(PermValue? createInstantInvite = null, PermValue? manageChannel = null, | public OverwritePermissions Modify(PermValue? createInstantInvite = null, PermValue? manageChannel = null, | ||||
PermValue? readMessages = null, PermValue? sendMessages = null, PermValue? sendTTSMessages = null, PermValue? manageMessages = null, | 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? embedLinks = null, PermValue? attachFiles = null, PermValue? readMessageHistory = null, PermValue? mentionEveryone = null, | ||||
PermValue? connect = null, PermValue? speak = null, PermValue? muteMembers = null, PermValue? deafenMembers = 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) | ||||
=> new OverwritePermissions(AllowValue, DenyValue, createInstantInvite, manageChannel, readMessages, sendMessages, sendTTSMessages, manageMessages, | => new OverwritePermissions(AllowValue, DenyValue, createInstantInvite, manageChannel, readMessages, sendMessages, sendTTSMessages, manageMessages, | ||||
embedLinks, attachFiles, readMessageHistory, mentionEveryone, connect, speak, muteMembers, deafenMembers, | |||||
embedLinks, attachFiles, readMessageHistory, mentionEveryone, useExternalEmojis, connect, speak, muteMembers, deafenMembers, | |||||
moveMembers, useVoiceActivation, managePermissions); | moveMembers, useVoiceActivation, managePermissions); | ||||
public List<ChannelPermission> ToAllowList() | public List<ChannelPermission> ToAllowList() | ||||