Browse Source

Only add everyone to mentionedroles if the user has permissions

tags/docs-0.9
RogueException 9 years ago
parent
commit
0eb0e14bba
2 changed files with 6 additions and 4 deletions
  1. +3
    -2
      src/Discord.Net/Helpers/Mention.cs
  2. +3
    -2
      src/Discord.Net/Models/Message.cs

+ 3
- 2
src/Discord.Net/Helpers/Mention.cs View File

@@ -52,11 +52,12 @@ namespace Discord
return '#' + e.Value;
}));
}
internal static string CleanRoleMentions(DiscordClient client, Server server, string text, List<Role> roles = null)
internal static string CleanRoleMentions(DiscordClient client, User user, Channel channel, string text, List<Role> 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;
}));
}


+ 3
- 2
src/Discord.Net/Models/Message.cs View File

@@ -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;



Loading…
Cancel
Save