|
@@ -12,7 +12,7 @@ namespace Discord |
|
|
/// <summary> Gets a <see cref="GuildPermissions"/> that grants all guild permissions for webhook users. </summary> |
|
|
/// <summary> Gets a <see cref="GuildPermissions"/> that grants all guild permissions for webhook users. </summary> |
|
|
public static readonly GuildPermissions Webhook = new GuildPermissions(0b00000_0000000_0001101100000_000000); |
|
|
public static readonly GuildPermissions Webhook = new GuildPermissions(0b00000_0000000_0001101100000_000000); |
|
|
/// <summary> Gets a <see cref="GuildPermissions"/> that grants all guild permissions. </summary> |
|
|
/// <summary> Gets a <see cref="GuildPermissions"/> that grants all guild permissions. </summary> |
|
|
public static readonly GuildPermissions All = new GuildPermissions(0b11111111_11111_1111111_1111111111111_11111); |
|
|
|
|
|
|
|
|
public static readonly GuildPermissions All = new GuildPermissions(0b1111111111_11111_1111111_1111111111111_11111); |
|
|
|
|
|
|
|
|
/// <summary> Gets a packed value representing all the permissions in this <see cref="GuildPermissions"/>. </summary> |
|
|
/// <summary> Gets a packed value representing all the permissions in this <see cref="GuildPermissions"/>. </summary> |
|
|
public ulong RawValue { get; } |
|
|
public ulong RawValue { get; } |
|
@@ -90,11 +90,15 @@ namespace Discord |
|
|
/// <summary> If <c>true</c>, a user may manage threads in this guild. </summary> |
|
|
/// <summary> If <c>true</c>, a user may manage threads in this guild. </summary> |
|
|
public bool ManageThreads => Permissions.GetValue(RawValue, GuildPermission.ManageThreads); |
|
|
public bool ManageThreads => Permissions.GetValue(RawValue, GuildPermission.ManageThreads); |
|
|
/// <summary> If <c>true</c>, a user may create public threads in this guild. </summary> |
|
|
/// <summary> If <c>true</c>, a user may create public threads in this guild. </summary> |
|
|
public bool UsePublicThreads => Permissions.GetValue(RawValue, GuildPermission.UsePublicThreads); |
|
|
|
|
|
|
|
|
public bool CreatePublicThreads => Permissions.GetValue(RawValue, GuildPermission.CreatePublicThreads); |
|
|
/// <summary> If <c>true</c>, a user may create private threads in this guild. </summary> |
|
|
/// <summary> If <c>true</c>, a user may create private threads in this guild. </summary> |
|
|
public bool UsePrivateThreads => Permissions.GetValue(RawValue, GuildPermission.UsePrivateThreads); |
|
|
|
|
|
|
|
|
public bool CreatePrivateThreads => Permissions.GetValue(RawValue, GuildPermission.CreatePrivateThreads); |
|
|
/// <summary> If <c>true</c>, a user may use external stickers in this guild. </summary> |
|
|
/// <summary> If <c>true</c>, a user may use external stickers in this guild. </summary> |
|
|
public bool UseExternalStickers => Permissions.GetValue(RawValue, GuildPermission.UseExternalStickers); |
|
|
public bool UseExternalStickers => Permissions.GetValue(RawValue, GuildPermission.UseExternalStickers); |
|
|
|
|
|
/// <summary> If <c>true</c>, a user may send messages in threads in this guild. </summary> |
|
|
|
|
|
public bool SendMessagesInThreads => Permissions.GetValue(RawValue, GuildPermission.SendMessagesInThreads); |
|
|
|
|
|
/// <summary> If <c>true</c>, a user launch application activites in voice channels in this guild. </summary> |
|
|
|
|
|
public bool StartEmbeddedActivities => Permissions.GetValue(RawValue, GuildPermission.StartEmbeddedActivities); |
|
|
|
|
|
|
|
|
/// <summary> Creates a new <see cref="GuildPermissions"/> with the provided packed value. </summary> |
|
|
/// <summary> Creates a new <see cref="GuildPermissions"/> with the provided packed value. </summary> |
|
|
public GuildPermissions(ulong rawValue) { RawValue = rawValue; } |
|
|
public GuildPermissions(ulong rawValue) { RawValue = rawValue; } |
|
@@ -137,9 +141,11 @@ namespace Discord |
|
|
bool? useSlashCommands = null, |
|
|
bool? useSlashCommands = null, |
|
|
bool? requestToSpeak = null, |
|
|
bool? requestToSpeak = null, |
|
|
bool? manageThreads = null, |
|
|
bool? manageThreads = null, |
|
|
bool? usePublicThreads = null, |
|
|
|
|
|
bool? usePrivateThreads = null, |
|
|
|
|
|
bool? useExternalStickers = null) |
|
|
|
|
|
|
|
|
bool? createPublicThreads = null, |
|
|
|
|
|
bool? createPrivateThreads = null, |
|
|
|
|
|
bool? useExternalStickers = null, |
|
|
|
|
|
bool? sendMessagesInThreads = null, |
|
|
|
|
|
bool? startEmbeddedActivities = null) |
|
|
{ |
|
|
{ |
|
|
ulong value = initialValue; |
|
|
ulong value = initialValue; |
|
|
|
|
|
|
|
@@ -177,9 +183,11 @@ namespace Discord |
|
|
Permissions.SetValue(ref value, useSlashCommands, GuildPermission.UseSlashCommands); |
|
|
Permissions.SetValue(ref value, useSlashCommands, GuildPermission.UseSlashCommands); |
|
|
Permissions.SetValue(ref value, requestToSpeak, GuildPermission.RequestToSpeak); |
|
|
Permissions.SetValue(ref value, requestToSpeak, GuildPermission.RequestToSpeak); |
|
|
Permissions.SetValue(ref value, manageThreads, GuildPermission.ManageThreads); |
|
|
Permissions.SetValue(ref value, manageThreads, GuildPermission.ManageThreads); |
|
|
Permissions.SetValue(ref value, usePublicThreads, GuildPermission.UsePublicThreads); |
|
|
|
|
|
Permissions.SetValue(ref value, usePrivateThreads, GuildPermission.UseExternalStickers); |
|
|
|
|
|
|
|
|
Permissions.SetValue(ref value, createPublicThreads, GuildPermission.CreatePublicThreads); |
|
|
|
|
|
Permissions.SetValue(ref value, createPrivateThreads, GuildPermission.CreatePrivateThreads); |
|
|
Permissions.SetValue(ref value, useExternalStickers, GuildPermission.UseExternalStickers); |
|
|
Permissions.SetValue(ref value, useExternalStickers, GuildPermission.UseExternalStickers); |
|
|
|
|
|
Permissions.SetValue(ref value, sendMessagesInThreads, GuildPermission.SendMessagesInThreads); |
|
|
|
|
|
Permissions.SetValue(ref value, startEmbeddedActivities, GuildPermission.StartEmbeddedActivities); |
|
|
|
|
|
|
|
|
RawValue = value; |
|
|
RawValue = value; |
|
|
} |
|
|
} |
|
@@ -220,9 +228,11 @@ namespace Discord |
|
|
bool useSlashCommands = false, |
|
|
bool useSlashCommands = false, |
|
|
bool requestToSpeak = false, |
|
|
bool requestToSpeak = false, |
|
|
bool manageThreads = false, |
|
|
bool manageThreads = false, |
|
|
bool usePublicThreads = false, |
|
|
|
|
|
bool usePrivateThreads = false, |
|
|
|
|
|
bool useExternalStickers = false) |
|
|
|
|
|
|
|
|
bool createPublicThreads = false, |
|
|
|
|
|
bool createPrivateThreads = false, |
|
|
|
|
|
bool useExternalStickers = false, |
|
|
|
|
|
bool sendMessagesInThreads = false, |
|
|
|
|
|
bool startEmbeddedActivities = false) |
|
|
: this(0, |
|
|
: this(0, |
|
|
createInstantInvite: createInstantInvite, |
|
|
createInstantInvite: createInstantInvite, |
|
|
manageRoles: manageRoles, |
|
|
manageRoles: manageRoles, |
|
@@ -258,9 +268,11 @@ namespace Discord |
|
|
useSlashCommands: useSlashCommands, |
|
|
useSlashCommands: useSlashCommands, |
|
|
requestToSpeak: requestToSpeak, |
|
|
requestToSpeak: requestToSpeak, |
|
|
manageThreads: manageThreads, |
|
|
manageThreads: manageThreads, |
|
|
usePublicThreads: usePublicThreads, |
|
|
|
|
|
usePrivateThreads: usePrivateThreads, |
|
|
|
|
|
useExternalStickers: useExternalStickers) |
|
|
|
|
|
|
|
|
createPublicThreads: createPublicThreads, |
|
|
|
|
|
createPrivateThreads: createPrivateThreads, |
|
|
|
|
|
useExternalStickers: useExternalStickers, |
|
|
|
|
|
sendMessagesInThreads: sendMessagesInThreads, |
|
|
|
|
|
startEmbeddedActivities: startEmbeddedActivities) |
|
|
{ } |
|
|
{ } |
|
|
|
|
|
|
|
|
/// <summary> Creates a new <see cref="GuildPermissions"/> from this one, changing the provided non-null permissions. </summary> |
|
|
/// <summary> Creates a new <see cref="GuildPermissions"/> from this one, changing the provided non-null permissions. </summary> |
|
@@ -299,14 +311,17 @@ namespace Discord |
|
|
bool? useSlashCommands = null, |
|
|
bool? useSlashCommands = null, |
|
|
bool? requestToSpeak = null, |
|
|
bool? requestToSpeak = null, |
|
|
bool? manageThreads = null, |
|
|
bool? manageThreads = null, |
|
|
bool? usePublicThreads = null, |
|
|
|
|
|
bool? usePrivateThreads = null, |
|
|
|
|
|
bool? useExternalStickers = null) |
|
|
|
|
|
|
|
|
bool? createPublicThreads = null, |
|
|
|
|
|
bool? createPrivateThreads = null, |
|
|
|
|
|
bool? useExternalStickers = null, |
|
|
|
|
|
bool? sendMessagesInThreads = null, |
|
|
|
|
|
bool? startEmbeddedActivities = null) |
|
|
=> new GuildPermissions(RawValue, createInstantInvite, kickMembers, banMembers, administrator, manageChannels, manageGuild, addReactions, |
|
|
=> new GuildPermissions(RawValue, createInstantInvite, kickMembers, banMembers, administrator, manageChannels, manageGuild, addReactions, |
|
|
viewAuditLog, viewGuildInsights, viewChannel, sendMessages, sendTTSMessages, manageMessages, embedLinks, attachFiles, |
|
|
viewAuditLog, viewGuildInsights, viewChannel, sendMessages, sendTTSMessages, manageMessages, embedLinks, attachFiles, |
|
|
readMessageHistory, mentionEveryone, useExternalEmojis, connect, speak, muteMembers, deafenMembers, moveMembers, |
|
|
readMessageHistory, mentionEveryone, useExternalEmojis, connect, speak, muteMembers, deafenMembers, moveMembers, |
|
|
useVoiceActivation, prioritySpeaker, stream, changeNickname, manageNicknames, manageRoles, manageWebhooks, manageEmojisAndStickers, |
|
|
useVoiceActivation, prioritySpeaker, stream, changeNickname, manageNicknames, manageRoles, manageWebhooks, manageEmojisAndStickers, |
|
|
useSlashCommands, requestToSpeak, manageThreads, usePublicThreads, usePrivateThreads, useExternalStickers); |
|
|
|
|
|
|
|
|
useSlashCommands, requestToSpeak, manageThreads, createPublicThreads, createPrivateThreads, useExternalStickers, sendMessagesInThreads, |
|
|
|
|
|
startEmbeddedActivities); |
|
|
|
|
|
|
|
|
/// <summary> |
|
|
/// <summary> |
|
|
/// Returns a value that indicates if a specific <see cref="GuildPermission"/> is enabled |
|
|
/// Returns a value that indicates if a specific <see cref="GuildPermission"/> is enabled |
|
|