diff --git a/src/Discord.Net.Core/Entities/Emotes/Emote.cs b/src/Discord.Net.Core/Entities/Emotes/Emote.cs index a07673e4e..e3a228c83 100644 --- a/src/Discord.Net.Core/Entities/Emotes/Emote.cs +++ b/src/Discord.Net.Core/Entities/Emotes/Emote.cs @@ -66,15 +66,17 @@ namespace Discord result = null; if (text.Length >= 4 && text[0] == '<' && (text[1] == ':' || (text[1] == 'a' && text[2] == ':')) && text[text.Length - 1] == '>') { - int splitIndex = text.IndexOf(':', 2); + bool animated = text[1] == 'a'; + int startIndex = animated ? 3 : 2; + + int splitIndex = text.IndexOf(':', startIndex); if (splitIndex == -1) return false; if (!ulong.TryParse(text.Substring(splitIndex + 1, text.Length - splitIndex - 2), NumberStyles.None, CultureInfo.InvariantCulture, out ulong id)) return false; - string name = text.Substring(2, splitIndex - 2); - bool animated = text[1] == 'a'; + string name = text.Substring(startIndex, splitIndex - startIndex); result = new Emote(id, name, animated); return true; }