From 5f06b8084bc60e45e66d7b34d92b33c01c2ea018 Mon Sep 17 00:00:00 2001 From: RogueException Date: Sun, 25 Oct 2015 23:03:42 -0300 Subject: [PATCH] Fixed Mention.GetUserIds, dont mention the same user multiple times. --- src/Discord.Net/DiscordClient.Messages.cs | 2 +- src/Discord.Net/Helpers/Mention.cs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Discord.Net/DiscordClient.Messages.cs b/src/Discord.Net/DiscordClient.Messages.cs index 0d4ce4b52..670164f4f 100644 --- a/src/Discord.Net/DiscordClient.Messages.cs +++ b/src/Discord.Net/DiscordClient.Messages.cs @@ -119,7 +119,7 @@ namespace Discord private async Task SendMessage(Channel channel, string text, bool isTextToSpeech) { Message msg; - var userIds = !channel.IsPrivate ? Mention.GetUserIds(text) : new string[0]; + var userIds = !channel.IsPrivate ? Mention.GetUserIds(text).Distinct() : new string[0]; if (Config.UseMessageQueue) { var nonce = GenerateNonce(); diff --git a/src/Discord.Net/Helpers/Mention.cs b/src/Discord.Net/Helpers/Mention.cs index 6df38ffbe..3c91a917c 100644 --- a/src/Discord.Net/Helpers/Mention.cs +++ b/src/Discord.Net/Helpers/Mention.cs @@ -6,8 +6,8 @@ namespace Discord { public static class Mention { - private static readonly Regex _userRegex = new Regex(@"<@(?:[0-9]+?)>", RegexOptions.Compiled); - private static readonly Regex _channelRegex = new Regex(@"<#(?:[0-9]+?)>", RegexOptions.Compiled); + private static readonly Regex _userRegex = new Regex(@"<@([0-9]+?)>", RegexOptions.Compiled); + private static readonly Regex _channelRegex = new Regex(@"<#([0-9]+?)>", RegexOptions.Compiled); /// Returns the string used to create a user mention. public static string User(User user)