From a2b88b51bfe2bca883599dab1f7ef353f6214445 Mon Sep 17 00:00:00 2001 From: JustNrik <35231903+JustNrik@users.noreply.github.com> Date: Wed, 22 Aug 2018 13:23:38 -0400 Subject: [PATCH] Update MessageExtensions.cs --- .../Extensions/MessageExtensions.cs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/Discord.Net.Commands/Extensions/MessageExtensions.cs b/src/Discord.Net.Commands/Extensions/MessageExtensions.cs index a27c5f322..49bcccbd8 100644 --- a/src/Discord.Net.Commands/Extensions/MessageExtensions.cs +++ b/src/Discord.Net.Commands/Extensions/MessageExtensions.cs @@ -42,5 +42,22 @@ namespace Discord.Commands } return false; } + public static bool HasCharSuffix(this IUserMessage msg, char c) + => msg.Content.Length > 0 && msg.Content[msg.Content.Length - 1] == c; + public static bool HasStringSuffix(this IUserMessage msg, string str, StringComparison comparisonType = StringComparison.Ordinal) + => msg.Content.EndsWith(str, comparisonType); + + public static bool HasMentionSuffix(this IUserMessage msg, IUser user) + { + var text = msg.Content; + if (text.Length <= 3 || text[text.Length - 1] != '>') return false; + + int iniPos = text.IndexOf('<'); + if (iniPos == -1) return false; + if (!MentionUtils.TryParseUser(text.Substring(iniPos, text.Length - iniPos), out ulong userId)) return false; + if (user.Id == userId) return true; + + return false; + } } }