| @@ -66,15 +66,17 @@ namespace Discord | |||||
| result = null; | result = null; | ||||
| if (text.Length >= 4 && text[0] == '<' && (text[1] == ':' || (text[1] == 'a' && text[2] == ':')) && text[text.Length - 1] == '>') | 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) | if (splitIndex == -1) | ||||
| return false; | return false; | ||||
| if (!ulong.TryParse(text.Substring(splitIndex + 1, text.Length - splitIndex - 2), NumberStyles.None, CultureInfo.InvariantCulture, out ulong id)) | if (!ulong.TryParse(text.Substring(splitIndex + 1, text.Length - splitIndex - 2), NumberStyles.None, CultureInfo.InvariantCulture, out ulong id)) | ||||
| return false; | 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); | result = new Emote(id, name, animated); | ||||
| return true; | return true; | ||||
| } | } | ||||