From 0eb0e14bbaf38fee4d131a792d14f8fa1b1e37a0 Mon Sep 17 00:00:00 2001 From: RogueException Date: Tue, 3 Nov 2015 17:29:59 -0400 Subject: [PATCH] Only add everyone to mentionedroles if the user has permissions --- src/Discord.Net/Helpers/Mention.cs | 5 +++-- src/Discord.Net/Models/Message.cs | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Discord.Net/Helpers/Mention.cs b/src/Discord.Net/Helpers/Mention.cs index 69553fbd7..b3c6ac649 100644 --- a/src/Discord.Net/Helpers/Mention.cs +++ b/src/Discord.Net/Helpers/Mention.cs @@ -52,11 +52,12 @@ namespace Discord return '#' + e.Value; })); } - internal static string CleanRoleMentions(DiscordClient client, Server server, string text, List roles = null) + internal static string CleanRoleMentions(DiscordClient client, User user, Channel channel, string text, List roles = null) { return _roleRegex.Replace(text, new MatchEvaluator(e => { - roles.Add(server.EveryoneRole); + if (roles != null && user.GetPermissions(channel).MentionEveryone) + roles.Add(channel.Server.EveryoneRole); return e.Value; })); } diff --git a/src/Discord.Net/Models/Message.cs b/src/Discord.Net/Models/Message.cs index 57efc1e64..a9d045414 100644 --- a/src/Discord.Net/Models/Message.cs +++ b/src/Discord.Net/Models/Message.cs @@ -177,7 +177,8 @@ namespace Discord internal void Update(MessageInfo model) { - var server = Server; + var channel = Channel; + var server = channel.Server; if (model.Attachments != null) { Attachments = model.Attachments @@ -226,7 +227,7 @@ namespace Discord if (server != null) { text = Mention.CleanChannelMentions(_client, server, text, mentionedChannels); - text = Mention.CleanRoleMentions(_client, server, text, mentionedRoles); + text = Mention.CleanRoleMentions(_client, User, channel, text, mentionedRoles); } Text = text;