diff --git a/src/Discord.Net.Core/Entities/Permissions/GuildPermissions.cs~RF343bc3.TMP b/src/Discord.Net.Core/Entities/Permissions/GuildPermissions.cs~RF343bc3.TMP
deleted file mode 100644
index a5cede525..000000000
--- a/src/Discord.Net.Core/Entities/Permissions/GuildPermissions.cs~RF343bc3.TMP
+++ /dev/null
@@ -1,261 +0,0 @@
-using System.Collections.Generic;
-using System.Diagnostics;
-
-namespace Discord
-{
- [DebuggerDisplay(@"{DebuggerDisplay,nq}")]
- public struct GuildPermissions
- {
- /// Gets a blank GuildPermissions that grants no permissions.
- public static readonly GuildPermissions None = new GuildPermissions();
- /// 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_1111111110011_111111);
-
- /// Gets a packed value representing all the permissions in this GuildPermissions.
- public ulong RawValue { get; }
-
- /// If True, a user may create invites.
- public bool CreateInstantInvite => Permissions.GetValue(RawValue, GuildPermission.CreateInstantInvite);
- /// If True, a user may ban users from the guild.
- public bool BanMembers => Permissions.GetValue(RawValue, GuildPermission.BanMembers);
- /// If True, a user may kick users from the guild.
- public bool KickMembers => Permissions.GetValue(RawValue, GuildPermission.KickMembers);
- /// If True, a user is granted all permissions, and cannot have them revoked via channel permissions.
- public bool Administrator => Permissions.GetValue(RawValue, GuildPermission.Administrator);
- /// If True, a user may create, delete and modify channels.
- 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 add reactions.
- public bool AddReactions => Permissions.GetValue(RawValue, GuildPermission.AddReactions);
- /// If true, a user may view the audit log.
- public bool ViewAuditLog => Permissions.GetValue(RawValue, GuildPermission.ViewAuditLog);
-
- /// If True, a user may join channels.
- public bool ReadMessages => Permissions.GetValue(RawValue, GuildPermission.ReadMessages);
- /// If True, a user may send messages.
- public bool SendMessages => Permissions.GetValue(RawValue, GuildPermission.SendMessages);
- /// If True, a user may send text-to-speech messages.
- public bool SendTTSMessages => Permissions.GetValue(RawValue, GuildPermission.SendTTSMessages);
- /// If True, a user may delete messages.
- public bool ManageMessages => Permissions.GetValue(RawValue, GuildPermission.ManageMessages);
- /// If True, Discord will auto-embed links sent by this user.
- public bool EmbedLinks => Permissions.GetValue(RawValue, GuildPermission.EmbedLinks);
- /// If True, a user may send files.
- public bool AttachFiles => Permissions.GetValue(RawValue, GuildPermission.AttachFiles);
- /// If True, a user may read previous messages.
- public bool ReadMessageHistory => Permissions.GetValue(RawValue, GuildPermission.ReadMessageHistory);
- /// If True, a user may mention @everyone.
- public bool MentionEveryone => Permissions.GetValue(RawValue, GuildPermission.MentionEveryone);
- /// If True, a user may use custom emoji from other guilds.
- public bool UseExternalEmojis => Permissions.GetValue(RawValue, GuildPermission.UseExternalEmojis);
-
- /// If True, a user may connect to a voice channel.
- public bool Connect => Permissions.GetValue(RawValue, GuildPermission.Connect);
- /// If True, a user may speak in a voice channel.
- public bool Speak => Permissions.GetValue(RawValue, GuildPermission.Speak);
- /// If True, a user may mute users.
- public bool MuteMembers => Permissions.GetValue(RawValue, GuildPermission.MuteMembers);
- /// If True, a user may deafen users.
- public bool DeafenMembers => Permissions.GetValue(RawValue, GuildPermission.DeafenMembers);
- /// If True, a user may move other users between voice channels.
- public bool MoveMembers => Permissions.GetValue(RawValue, GuildPermission.MoveMembers);
- /// If True, a user may use voice-activity-detection rather than push-to-talk.
- public bool UseVAD => Permissions.GetValue(RawValue, GuildPermission.UseVAD);
-
- /// If True, a user may change their own nickname.
- public bool ChangeNickname => Permissions.GetValue(RawValue, GuildPermission.ChangeNickname);
- /// If True, a user may change the nickname of other users.
- public bool ManageNicknames => Permissions.GetValue(RawValue, GuildPermission.ManageNicknames);
- /// If True, a user may adjust roles.
- public bool ManageRoles => Permissions.GetValue(RawValue, GuildPermission.ManageRoles);
- /// If True, a user may edit the webhooks for this guild.
- public bool ManageWebhooks => Permissions.GetValue(RawValue, GuildPermission.ManageWebhooks);
- /// If True, a user may edit the emojis for this guild.
- public bool ManageEmojis => Permissions.GetValue(RawValue, GuildPermission.ManageEmojis);
-
- /// 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? manageChannels = null,
- bool? manageGuild = null,
- bool? addReactions = null,
- bool? viewAuditLog = 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)
- {
- ulong value = initialValue;
-
- Permissions.SetValue(ref value, createInstantInvite, GuildPermission.CreateInstantInvite);
- 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, manageChannels, GuildPermission.ManageChannels);
- Permissions.SetValue(ref value, manageGuild, GuildPermission.ManageGuild);
- Permissions.SetValue(ref value, addReactions, GuildPermission.AddReactions);
- Permissions.SetValue(ref value, viewAuditLog, GuildPermission.ViewAuditLog);
- Permissions.SetValue(ref value, readMessages, GuildPermission.ReadMessages);
- Permissions.SetValue(ref value, sendMessages, GuildPermission.SendMessages);
- Permissions.SetValue(ref value, sendTTSMessages, GuildPermission.SendTTSMessages);
- Permissions.SetValue(ref value, manageMessages, GuildPermission.ManageMessages);
- Permissions.SetValue(ref value, embedLinks, GuildPermission.EmbedLinks);
- 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, useExternalEmojis, GuildPermission.UseExternalEmojis);
- Permissions.SetValue(ref value, connect, GuildPermission.Connect);
- Permissions.SetValue(ref value, speak, GuildPermission.Speak);
- Permissions.SetValue(ref value, muteMembers, GuildPermission.MuteMembers);
- Permissions.SetValue(ref value, deafenMembers, GuildPermission.DeafenMembers);
- Permissions.SetValue(ref value, moveMembers, GuildPermission.MoveMembers);
- Permissions.SetValue(ref value, useVoiceActivation, GuildPermission.UseVAD);
- Permissions.SetValue(ref value, changeNickname, GuildPermission.ChangeNickname);
- Permissions.SetValue(ref value, manageNicknames, GuildPermission.ManageNicknames);
- Permissions.SetValue(ref value, manageRoles, GuildPermission.ManageRoles);
- Permissions.SetValue(ref value, manageWebhooks, GuildPermission.ManageWebhooks);
- Permissions.SetValue(ref value, manageEmojis, GuildPermission.ManageEmojis);
-
- RawValue = value;
- }
-
- /// Creates a new GuildPermissions with the provided permissions.
- public GuildPermissions(
- bool createInstantInvite = false,
- bool kickMembers = false,
- bool banMembers = false,
- bool administrator = false,
- bool manageChannels = false,
- bool manageGuild = false,
- bool addReactions = false,
- bool viewAuditLog = 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: createInstantInvite,
- manageRoles: manageRoles,
- kickMembers: kickMembers,
- banMembers: banMembers,
- administrator: administrator,
- manageChannels: manageChannels,
- manageGuild: manageGuild,
- addReactions: addReactions,
- viewAuditLog: viewAuditLog,
- 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,
- manageWebhooks: manageWebhooks,
- manageEmojis: manageEmojis)
- { }
-
- /// Creates a new GuildPermissions from this one, changing the provided non-null permissions.
- 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? viewAuditLog = 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, kickMembers, banMembers,
- administrator, manageChannels, manageGuild, addReactions, viewAuditLog, readMessages, sendMessages, sendTTSMessages, manageMessages, embedLinks, attachFiles,
readMessageHistory, mentionEveryone, useExternalEmojis, connect, speak, muteMembers, deafenMembers, moveMembers,
useVoiceActivation, changeNickname, manageNicknames, manageRoles, manageWebhooks, manageEmojis);
-
- public bool Has(GuildPermission permission) => Permissions.GetValue(RawValue, permission);
-
- public List ToList()
- {
- var perms = new List();
-
- // bitwise operations on raw value
- // each of the GuildPermissions increments by 2^i from 0 to MaxBits
- for (byte i = 0; i < Permissions.MaxBits; i++)
- {
- ulong flag = ((ulong)1 << i);
- if ((RawValue & flag) != 0)
- perms.Add((GuildPermission)flag);
- }
- return perms;
- }
-
- public override string ToString() => RawValue.ToString();
- private string DebuggerDisplay => $"{string.Join(", ", ToList())}";
- }
-}