diff --git a/src/Discord.Net.Core/Utils/Comparers.cs b/src/Discord.Net.Core/Utils/Comparers.cs index 93891c2f2..d7641e897 100644 --- a/src/Discord.Net.Core/Utils/Comparers.cs +++ b/src/Discord.Net.Core/Utils/Comparers.cs @@ -10,7 +10,7 @@ namespace Discord public static IEqualityComparer GuildComparer => _guildComparer ?? (_guildComparer = new EntityEqualityComparer()); public static IEqualityComparer ChannelComparer => _channelComparer ?? (_channelComparer = new EntityEqualityComparer()); public static IEqualityComparer RoleComparer => _roleComparer ?? (_roleComparer = new EntityEqualityComparer()); - public static IEqualityComparer MessageComparer => _messageComparer ?? (_messageComparer = new MessageEqualityComparer()); + public static IEqualityComparer MessageComparer => _messageComparer ?? (_messageComparer = new EntityEqualityComparer()); private static IEqualityComparer _userComparer; private static IEqualityComparer _guildComparer; @@ -41,29 +41,5 @@ namespace Discord return obj?.Id.GetHashCode() ?? 0; } } - - // Message IDs are allegedly not guaranteed to be globally unique forever, - // so they require a specialized implementation. - private sealed class MessageEqualityComparer : EqualityComparer - { - public override bool Equals(IMessage x, IMessage y) - { - bool xNull = x == null; - bool yNull = y == null; - - if (xNull && yNull) - return true; - - if (xNull ^ yNull) - return false; - - return x.Channel.Id.Equals(y.Channel.Id) && x.Id.Equals(y.Id); - } - - public override int GetHashCode(IMessage obj) - { - return obj?.Id.GetHashCode() ?? 0; - } - } } }