diff --git a/src/Discord.Net/Models/Message.cs b/src/Discord.Net/Models/Message.cs
index 803a22993..43f5cb9d8 100644
--- a/src/Discord.Net/Models/Message.cs
+++ b/src/Discord.Net/Models/Message.cs
@@ -172,8 +172,6 @@ namespace Discord
/// Returns the channel this message was sent to.
public Channel Channel { get; }
- /// Returns true if the logged-in user was mentioned.
- public bool IsMentioningMe { get; private set; }
/// Returns true if the message was sent as text-to-speech by someone with permissions to do so.
public bool IsTTS { get; private set; }
/// Returns the state of this message. Only useful if UseMessageQueue is true.
@@ -197,7 +195,7 @@ namespace Discord
public IEnumerable MentionedChannels { get; internal set; }
/// Returns a collection of all roles mentioned in this message.
public IEnumerable MentionedRoles { get; internal set; }
-
+
/// Returns the server containing the channel this message was sent to.
public Server Server => Channel.Server;
/// Returns the author of this message.
@@ -299,18 +297,6 @@ namespace Discord
MentionedChannels = mentionedChannels;
//MentionedRoles = mentionedRoles;
}
-
- if (server != null)
- {
- var me = server.CurrentUser;
- IsMentioningMe = (MentionedUsers?.Contains(me) ?? false) ||
- (MentionedRoles?.Any(x => me.HasRole(x)) ?? false);
- }
- else
- {
- var me = Channel.Client.PrivateUser;
- IsMentioningMe = MentionedUsers?.Contains(me) ?? false;
- }
}
public async Task Edit(string text)
@@ -333,7 +319,6 @@ namespace Discord
await Client.ClientAPI.Send(request).ConfigureAwait(false);
}
}
-
public async Task Delete()
{
var request = new DeleteMessageRequest(Channel.Id, Id);
@@ -349,6 +334,19 @@ namespace Discord
return TaskHelper.CompletedTask;
}
+ /// Returns true if the logged-in user was mentioned.
+ public bool IsMentioningMe(bool includeRoles = false)
+ {
+ User me = Server != null ? Server.CurrentUser : Channel.Client.PrivateUser;
+ if (includeRoles)
+ {
+ return (MentionedUsers?.Contains(me) ?? false) ||
+ (MentionedRoles?.Any(x => me.HasRole(x)) ?? false);
+ }
+ else
+ return MentionedUsers?.Contains(me) ?? false;
+ }
+
/// Resolves all mentions in a provided string to those users, channels or roles' names.
public string Resolve(string text)
{