@@ -23,17 +23,17 @@ namespace Discord | |||||
/// <summary> Gets the author of this message. </summary> | /// <summary> Gets the author of this message. </summary> | ||||
IUser Author { get; } | IUser Author { get; } | ||||
/// <summary> Returns a collection of all attachments included in this message. </summary> | |||||
/// <summary> Returns all attachments included in this message. </summary> | |||||
IReadOnlyCollection<IAttachment> Attachments { get; } | IReadOnlyCollection<IAttachment> Attachments { get; } | ||||
/// <summary> Returns a collection of all embeds included in this message. </summary> | |||||
/// <summary> Returns all embeds included in this message. </summary> | |||||
IReadOnlyCollection<IEmbed> Embeds { get; } | IReadOnlyCollection<IEmbed> Embeds { get; } | ||||
/// <summary> Returns a collection of all tags included in this message's content. </summary> | |||||
/// <summary> Returns all tags included in this message's content. </summary> | |||||
IReadOnlyCollection<ITag> Tags { get; } | IReadOnlyCollection<ITag> Tags { get; } | ||||
/// <summary> Returns a collection of channel ids mentioned in this message. </summary> | |||||
/// <summary> Returns the ids of channels mentioned in this message. </summary> | |||||
IReadOnlyCollection<ulong> MentionedChannelIds { get; } | IReadOnlyCollection<ulong> MentionedChannelIds { get; } | ||||
/// <summary> Returns a collection of roles mentioned in this message. </summary> | |||||
IReadOnlyCollection<IRole> MentionedRoles { get; } | |||||
/// <summary> Returns a collection of users mentioned in this message. </summary> | |||||
IReadOnlyCollection<IUser> MentionedUsers { get; } | |||||
/// <summary> Returns the ids of roles mentioned in this message. </summary> | |||||
IReadOnlyCollection<ulong> MentionedRoleIds { get; } | |||||
/// <summary> Returns the ids of users mentioned in this message. </summary> | |||||
IReadOnlyCollection<ulong> MentionedUserIds { get; } | |||||
} | } | ||||
} | } |
@@ -1,6 +1,7 @@ | |||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Collections.Immutable; | using System.Collections.Immutable; | ||||
using System.Linq; | |||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
using Model = Discord.API.Message; | using Model = Discord.API.Message; | ||||
@@ -23,7 +24,7 @@ namespace Discord.Rest | |||||
public virtual IReadOnlyCollection<Attachment> Attachments => ImmutableArray.Create<Attachment>(); | public virtual IReadOnlyCollection<Attachment> Attachments => ImmutableArray.Create<Attachment>(); | ||||
public virtual IReadOnlyCollection<Embed> Embeds => ImmutableArray.Create<Embed>(); | public virtual IReadOnlyCollection<Embed> Embeds => ImmutableArray.Create<Embed>(); | ||||
public virtual IReadOnlyCollection<ulong> MentionedChannelIds => ImmutableArray.Create<ulong>(); | public virtual IReadOnlyCollection<ulong> MentionedChannelIds => ImmutableArray.Create<ulong>(); | ||||
public virtual IReadOnlyCollection<RestRole> MentionedRoles => ImmutableArray.Create<RestRole>(); | |||||
public virtual IReadOnlyCollection<ulong> MentionedRoleIds => ImmutableArray.Create<ulong>(); | |||||
public virtual IReadOnlyCollection<RestUser> MentionedUsers => ImmutableArray.Create<RestUser>(); | public virtual IReadOnlyCollection<RestUser> MentionedUsers => ImmutableArray.Create<RestUser>(); | ||||
public virtual IReadOnlyCollection<ITag> Tags => ImmutableArray.Create<ITag>(); | public virtual IReadOnlyCollection<ITag> Tags => ImmutableArray.Create<ITag>(); | ||||
@@ -64,7 +65,6 @@ namespace Discord.Rest | |||||
IUser IMessage.Author => Author; | IUser IMessage.Author => Author; | ||||
IReadOnlyCollection<IAttachment> IMessage.Attachments => Attachments; | IReadOnlyCollection<IAttachment> IMessage.Attachments => Attachments; | ||||
IReadOnlyCollection<IEmbed> IMessage.Embeds => Embeds; | IReadOnlyCollection<IEmbed> IMessage.Embeds => Embeds; | ||||
IReadOnlyCollection<IRole> IMessage.MentionedRoles => MentionedRoles; | |||||
IReadOnlyCollection<IUser> IMessage.MentionedUsers => MentionedUsers; | |||||
IReadOnlyCollection<ulong> IMessage.MentionedUserIds => MentionedUsers.Select(x => x.Id).ToImmutableArray(); | |||||
} | } | ||||
} | } |
@@ -27,7 +27,7 @@ namespace Discord.Rest | |||||
public override IReadOnlyCollection<Attachment> Attachments => _attachments; | public override IReadOnlyCollection<Attachment> Attachments => _attachments; | ||||
public override IReadOnlyCollection<Embed> Embeds => _embeds; | public override IReadOnlyCollection<Embed> Embeds => _embeds; | ||||
public override IReadOnlyCollection<ulong> MentionedChannelIds => MessageHelper.FilterTagsByKey(TagType.ChannelMention, _tags); | public override IReadOnlyCollection<ulong> MentionedChannelIds => MessageHelper.FilterTagsByKey(TagType.ChannelMention, _tags); | ||||
public override IReadOnlyCollection<RestRole> MentionedRoles => MessageHelper.FilterTagsByValue<RestRole>(TagType.RoleMention, _tags); | |||||
public override IReadOnlyCollection<ulong> MentionedRoleIds => MessageHelper.FilterTagsByKey(TagType.RoleMention, _tags); | |||||
public override IReadOnlyCollection<RestUser> MentionedUsers => MessageHelper.FilterTagsByValue<RestUser>(TagType.UserMention, _tags); | public override IReadOnlyCollection<RestUser> MentionedUsers => MessageHelper.FilterTagsByValue<RestUser>(TagType.UserMention, _tags); | ||||
public override IReadOnlyCollection<ITag> Tags => _tags; | public override IReadOnlyCollection<ITag> Tags => _tags; | ||||
@@ -60,8 +60,8 @@ namespace Discord.WebSocket | |||||
IReadOnlyCollection<IAttachment> IMessage.Attachments => Attachments; | IReadOnlyCollection<IAttachment> IMessage.Attachments => Attachments; | ||||
IReadOnlyCollection<IEmbed> IMessage.Embeds => Embeds; | IReadOnlyCollection<IEmbed> IMessage.Embeds => Embeds; | ||||
IReadOnlyCollection<ulong> IMessage.MentionedChannelIds => MentionedChannels.Select(x => x.Id).ToImmutableArray(); | IReadOnlyCollection<ulong> IMessage.MentionedChannelIds => MentionedChannels.Select(x => x.Id).ToImmutableArray(); | ||||
IReadOnlyCollection<IRole> IMessage.MentionedRoles => MentionedRoles; | |||||
IReadOnlyCollection<IUser> IMessage.MentionedUsers => MentionedUsers; | |||||
IReadOnlyCollection<ulong> IMessage.MentionedRoleIds => MentionedRoles.Select(x => x.Id).ToImmutableArray(); | |||||
IReadOnlyCollection<ulong> IMessage.MentionedUserIds => MentionedUsers.Select(x => x.Id).ToImmutableArray(); | |||||
ulong IMessage.ChannelId => Channel.Id; | ulong IMessage.ChannelId => Channel.Id; | ||||
} | } | ||||
} | } |