diff --git a/src/Discord.Net.Core/Entities/Guilds/GuildEmbedProperties.cs b/src/Discord.Net.Core/Entities/Guilds/GuildEmbedProperties.cs
deleted file mode 100644
index 34473e93c..000000000
--- a/src/Discord.Net.Core/Entities/Guilds/GuildEmbedProperties.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-namespace Discord
-{
- ///
- /// Provides properties that are used to modify the widget of an with the specified changes.
- ///
- public class GuildEmbedProperties
- {
- ///
- /// Sets whether the widget should be enabled.
- ///
- public Optional Enabled { get; set; }
- ///
- /// Sets the channel that the invite should place its users in, if not null.
- ///
- public Optional Channel { get; set; }
- ///
- /// Sets the channel the invite should place its users in, if not null.
- ///
- public Optional ChannelId { get; set; }
- }
-}
diff --git a/src/Discord.Net.Core/Entities/Guilds/IGuild.cs b/src/Discord.Net.Core/Entities/Guilds/IGuild.cs
index 0bbd64786..b8fd858df 100644
--- a/src/Discord.Net.Core/Entities/Guilds/IGuild.cs
+++ b/src/Discord.Net.Core/Entities/Guilds/IGuild.cs
@@ -125,21 +125,6 @@ namespace Discord
///
ulong? AFKChannelId { get; }
///
- /// Gets the ID of the default channel for this guild.
- ///
- ///
- /// This property retrieves the snowflake identifier of the first viewable text channel for this guild.
- ///
- /// This channel does not guarantee the user can send message to it, as it only looks for the first viewable
- /// text channel.
- ///
- ///
- ///
- /// A representing the snowflake identifier of the default text channel; 0 if
- /// none can be found.
- ///
- ulong DefaultChannelId { get; }
- ///
/// Gets the ID of the channel assigned to the widget of this guild.
///
///
diff --git a/src/Discord.Net.Core/Entities/Invites/IInviteMetadata.cs b/src/Discord.Net.Core/Entities/Invites/IInviteMetadata.cs
index c64b3205b..c2580c853 100644
--- a/src/Discord.Net.Core/Entities/Invites/IInviteMetadata.cs
+++ b/src/Discord.Net.Core/Entities/Invites/IInviteMetadata.cs
@@ -16,14 +16,6 @@ namespace Discord
///
bool IsTemporary { get; }
///
- /// Gets a value that indicates whether the invite has been revoked.
- ///
- ///
- /// true if this invite was revoked; otherwise false.
- ///
- [Obsolete("This property doesn't exist anymore and shouldn't be used.")]
- bool IsRevoked { get; }
- ///
/// Gets the time (in seconds) until the invite expires.
///
///
diff --git a/src/Discord.Net.Core/Entities/Permissions/ChannelPermission.cs b/src/Discord.Net.Core/Entities/Permissions/ChannelPermission.cs
index e1f78373e..bf08887bd 100644
--- a/src/Discord.Net.Core/Entities/Permissions/ChannelPermission.cs
+++ b/src/Discord.Net.Core/Entities/Permissions/ChannelPermission.cs
@@ -22,11 +22,6 @@ namespace Discord
///
AddReactions = 0x00_00_00_40,
///
- /// Allows for reading of messages. This flag is obsolete, use instead.
- ///
- [Obsolete("Use ViewChannel instead.")]
- ReadMessages = ViewChannel,
- ///
/// Allows guild members to view a channel, which includes reading messages in text channels.
///
ViewChannel = 0x00_00_04_00,
diff --git a/src/Discord.Net.Core/Entities/Permissions/ChannelPermissions.cs b/src/Discord.Net.Core/Entities/Permissions/ChannelPermissions.cs
index ed675b5f3..d774cc51d 100644
--- a/src/Discord.Net.Core/Entities/Permissions/ChannelPermissions.cs
+++ b/src/Discord.Net.Core/Entities/Permissions/ChannelPermissions.cs
@@ -45,9 +45,6 @@ namespace Discord
/// If true, a user may add reactions.
public bool AddReactions => Permissions.GetValue(RawValue, ChannelPermission.AddReactions);
- /// If true, a user may join channels.
- [Obsolete("Use ViewChannel instead.")]
- public bool ReadMessages => ViewChannel;
/// If true, a user may view channels.
public bool ViewChannel => Permissions.GetValue(RawValue, ChannelPermission.ViewChannel);
diff --git a/src/Discord.Net.Core/Entities/Permissions/GuildPermission.cs b/src/Discord.Net.Core/Entities/Permissions/GuildPermission.cs
index 645b67489..31bd6164a 100644
--- a/src/Discord.Net.Core/Entities/Permissions/GuildPermission.cs
+++ b/src/Discord.Net.Core/Entities/Permissions/GuildPermission.cs
@@ -65,8 +65,6 @@ namespace Discord
/// Allows for viewing of audit logs.
///
ViewAuditLog = 0x00_00_00_80,
- [Obsolete("Use ViewChannel instead.")]
- ReadMessages = ViewChannel,
ViewChannel = 0x00_00_04_00,
SendMessages = 0x00_00_08_00,
///
diff --git a/src/Discord.Net.Core/Entities/Permissions/GuildPermissions.cs b/src/Discord.Net.Core/Entities/Permissions/GuildPermissions.cs
index ef4e40a11..b03c0e1a8 100644
--- a/src/Discord.Net.Core/Entities/Permissions/GuildPermissions.cs
+++ b/src/Discord.Net.Core/Entities/Permissions/GuildPermissions.cs
@@ -37,9 +37,6 @@ namespace Discord
/// If true, a user may view the guild insights.
public bool ViewGuildInsights => Permissions.GetValue(RawValue, GuildPermission.ViewGuildInsights);
- /// If True, a user may join channels.
- [Obsolete("Use ViewChannel instead.")]
- public bool ReadMessages => ViewChannel;
/// If True, a user may view channels.
public bool ViewChannel => Permissions.GetValue(RawValue, GuildPermission.ViewChannel);
/// If True, a user may send messages.
diff --git a/src/Discord.Net.Core/Entities/Permissions/OverwritePermissions.cs b/src/Discord.Net.Core/Entities/Permissions/OverwritePermissions.cs
index 6ee79b427..4f144c74b 100644
--- a/src/Discord.Net.Core/Entities/Permissions/OverwritePermissions.cs
+++ b/src/Discord.Net.Core/Entities/Permissions/OverwritePermissions.cs
@@ -43,9 +43,6 @@ namespace Discord
/// If Allowed, a user may add reactions.
public PermValue AddReactions => Permissions.GetValue(AllowValue, DenyValue, ChannelPermission.AddReactions);
/// If Allowed, a user may join channels.
- [Obsolete("Use ViewChannel instead.")]
- public PermValue ReadMessages => ViewChannel;
- /// If Allowed, a user may join channels.
public PermValue ViewChannel => Permissions.GetValue(AllowValue, DenyValue, ChannelPermission.ViewChannel);
/// If Allowed, a user may send messages.
public PermValue SendMessages => Permissions.GetValue(AllowValue, DenyValue, ChannelPermission.SendMessages);
diff --git a/src/Discord.Net.Core/Entities/Users/UserProperties.cs b/src/Discord.Net.Core/Entities/Users/UserProperties.cs
index 21c453dce..68232b254 100644
--- a/src/Discord.Net.Core/Entities/Users/UserProperties.cs
+++ b/src/Discord.Net.Core/Entities/Users/UserProperties.cs
@@ -22,12 +22,6 @@ namespace Discord
///
HypeSquadEvents = 1 << 2,
///
- /// Flag given to users who have participated in the bug report program.
- /// This flag is obsolete, use instead.
- ///
- [Obsolete("Use BugHunterLevel1 instead.")]
- BugHunter = 1 << 3,
- ///
/// Flag given to users who have participated in the bug report program and are level 1.
///
BugHunterLevel1 = 1 << 3,
diff --git a/src/Discord.Net.Core/TokenType.cs b/src/Discord.Net.Core/TokenType.cs
index 8ca3f031c..03b840830 100644
--- a/src/Discord.Net.Core/TokenType.cs
+++ b/src/Discord.Net.Core/TokenType.cs
@@ -5,8 +5,6 @@ namespace Discord
/// Specifies the type of token to use with the client.
public enum TokenType
{
- [Obsolete("User logins are deprecated and may result in a ToS strike against your account - please see https://github.com/RogueException/Discord.Net/issues/827", error: true)]
- User,
///
/// An OAuth2 token type.
///
diff --git a/src/Discord.Net.Rest/DiscordRestApiClient.cs b/src/Discord.Net.Rest/DiscordRestApiClient.cs
index 002472e5a..d7978db5c 100644
--- a/src/Discord.Net.Rest/DiscordRestApiClient.cs
+++ b/src/Discord.Net.Rest/DiscordRestApiClient.cs
@@ -79,7 +79,6 @@ namespace Discord.API
{
return tokenType switch
{
- default(TokenType) => token,
TokenType.Bot => $"Bot {token}",
TokenType.Bearer => $"Bearer {token}",
_ => throw new ArgumentException(message: "Unknown OAuth token type.", paramName: nameof(tokenType)),
diff --git a/src/Discord.Net.Rest/Entities/Guilds/RestGuild.cs b/src/Discord.Net.Rest/Entities/Guilds/RestGuild.cs
index 980b0c5fb..ea703a26a 100644
--- a/src/Discord.Net.Rest/Entities/Guilds/RestGuild.cs
+++ b/src/Discord.Net.Rest/Entities/Guilds/RestGuild.cs
@@ -90,8 +90,6 @@ namespace Discord.Rest
///
public DateTimeOffset CreatedAt => SnowflakeUtils.FromSnowflake(Id);
- [Obsolete("DefaultChannelId is deprecated, use GetDefaultChannelAsync")]
- public ulong DefaultChannelId => Id;
///
public string IconUrl => CDN.GetGuildIconUrl(Id, IconId);
///
diff --git a/src/Discord.Net.Rest/Entities/Invites/RestInviteMetadata.cs b/src/Discord.Net.Rest/Entities/Invites/RestInviteMetadata.cs
index 07ee5851c..a0ed9ec81 100644
--- a/src/Discord.Net.Rest/Entities/Invites/RestInviteMetadata.cs
+++ b/src/Discord.Net.Rest/Entities/Invites/RestInviteMetadata.cs
@@ -8,9 +8,6 @@ namespace Discord.Rest
{
private long _createdAtTicks;
- ///
- [Obsolete("This property doesn't exist anymore and shouldn't be used.")]
- public bool IsRevoked { get; private set; }
///
public bool IsTemporary { get; private set; }
///
diff --git a/src/Discord.Net.WebSocket/Entities/Guilds/SocketGuild.cs b/src/Discord.Net.WebSocket/Entities/Guilds/SocketGuild.cs
index ed8a6c532..59f1c5956 100644
--- a/src/Discord.Net.WebSocket/Entities/Guilds/SocketGuild.cs
+++ b/src/Discord.Net.WebSocket/Entities/Guilds/SocketGuild.cs
@@ -1205,8 +1205,6 @@ namespace Discord.WebSocket
///
bool IGuild.Available => true;
///
- ulong IGuild.DefaultChannelId => DefaultChannel?.Id ?? 0;
- ///
ulong? IGuild.WidgetChannelId => WidgetChannelId;
///
ulong? IGuild.SystemChannelId => SystemChannelId;
diff --git a/src/Discord.Net.WebSocket/Entities/Invites/SocketInvite.cs b/src/Discord.Net.WebSocket/Entities/Invites/SocketInvite.cs
index 5dc53a833..845b48b8b 100644
--- a/src/Discord.Net.WebSocket/Entities/Invites/SocketInvite.cs
+++ b/src/Discord.Net.WebSocket/Entities/Invites/SocketInvite.cs
@@ -49,9 +49,6 @@ namespace Discord.WebSocket
///
int? IInvite.MemberCount => throw new NotImplementedException();
///
- [Obsolete("This property doesn't exist anymore and shouldn't be used.")]
- bool IInviteMetadata.IsRevoked => throw new NotImplementedException();
- ///
public bool IsTemporary { get; private set; }
///
int? IInviteMetadata.MaxAge { get => MaxAge; }
diff --git a/test/Discord.Net.Tests.Unit/TokenUtilsTests.cs b/test/Discord.Net.Tests.Unit/TokenUtilsTests.cs
index e9526b761..4306fa9e2 100644
--- a/test/Discord.Net.Tests.Unit/TokenUtilsTests.cs
+++ b/test/Discord.Net.Tests.Unit/TokenUtilsTests.cs
@@ -127,8 +127,6 @@ namespace Discord
/// The type is treated as an invalid .
///
[Theory]
- // TokenType.User
- [InlineData(0)]
// out of range TokenType
[InlineData(-1)]
[InlineData(4)]