| @@ -16,6 +16,14 @@ namespace Discord | |||||
| /// </returns> | /// </returns> | ||||
| IUserMessage ReferencedMessage { get; } | IUserMessage ReferencedMessage { get; } | ||||
| /// <summary> | |||||
| /// Gets the thread that was started from this message. | |||||
| /// </summary> | |||||
| /// <returns> | |||||
| /// An <see cref="IThreadChannel"/> object if this message has thread attached; otherwise <see langword="null"/>. | |||||
| /// </returns> | |||||
| IThreadChannel Thread { get; } | |||||
| /// <summary> | /// <summary> | ||||
| /// Modifies this message. | /// Modifies this message. | ||||
| /// </summary> | /// </summary> | ||||
| @@ -80,15 +80,6 @@ namespace Discord.Rest | |||||
| /// <inheritdoc/> | /// <inheritdoc/> | ||||
| public MessageType Type { get; private set; } | public MessageType Type { get; private set; } | ||||
| /// <summary> | |||||
| /// Gets the thread that was started from this message. | |||||
| /// </summary> | |||||
| /// <returns> | |||||
| /// A <see cref="RestThreadChannel"/> object if this message has thread attached; otherwise <see langword="null"/>. | |||||
| /// </returns> | |||||
| public RestThreadChannel Thread { get; private set; } | |||||
| /// <inheritdoc /> | /// <inheritdoc /> | ||||
| public MessageRoleSubscriptionData RoleSubscriptionData { get; private set; } | public MessageRoleSubscriptionData RoleSubscriptionData { get; private set; } | ||||
| @@ -264,11 +255,6 @@ namespace Discord.Rest | |||||
| model.RoleSubscriptionData.Value.MonthsSubscribed, | model.RoleSubscriptionData.Value.MonthsSubscribed, | ||||
| model.RoleSubscriptionData.Value.IsRenewal); | model.RoleSubscriptionData.Value.IsRenewal); | ||||
| } | } | ||||
| if (model.Thread.IsSpecified) | |||||
| { | |||||
| Thread = RestThreadChannel.Create(Discord, new RestGuild(Discord, model.Thread.Value.GuildId.Value), model.Thread.Value); | |||||
| } | |||||
| } | } | ||||
| /// <inheritdoc /> | /// <inheritdoc /> | ||||
| public async Task UpdateAsync(RequestOptions options = null) | public async Task UpdateAsync(RequestOptions options = null) | ||||
| @@ -47,6 +47,12 @@ namespace Discord.Rest | |||||
| /// <inheritdoc /> | /// <inheritdoc /> | ||||
| public IUserMessage ReferencedMessage => _referencedMessage; | public IUserMessage ReferencedMessage => _referencedMessage; | ||||
| /// <inheritdoc cref="IUserMessage.Thread"/> | |||||
| public RestThreadChannel Thread { get; private set; } | |||||
| /// <inheritdoc /> | |||||
| IThreadChannel IUserMessage.Thread => Thread; | |||||
| internal RestUserMessage(BaseDiscordClient discord, ulong id, IMessageChannel channel, IUser author, MessageSource source) | internal RestUserMessage(BaseDiscordClient discord, ulong id, IMessageChannel channel, IUser author, MessageSource source) | ||||
| : base(discord, id, channel, author, source) | : base(discord, id, channel, author, source) | ||||
| { | { | ||||
| @@ -130,6 +136,9 @@ namespace Discord.Rest | |||||
| else | else | ||||
| _stickers = ImmutableArray.Create<StickerItem>(); | _stickers = ImmutableArray.Create<StickerItem>(); | ||||
| } | } | ||||
| if(model.Thread.IsSpecified) | |||||
| Thread = RestThreadChannel.Create(Discord, guild, model.Thread.Value); | |||||
| } | } | ||||
| /// <inheritdoc /> | /// <inheritdoc /> | ||||
| @@ -49,6 +49,12 @@ namespace Discord.WebSocket | |||||
| /// <inheritdoc /> | /// <inheritdoc /> | ||||
| public IUserMessage ReferencedMessage => _referencedMessage; | public IUserMessage ReferencedMessage => _referencedMessage; | ||||
| /// <inheritdoc cref="IUserMessage.Thread"/> | |||||
| public SocketThreadChannel Thread { get; private set; } | |||||
| /// <inheritdoc /> | |||||
| IThreadChannel IUserMessage.Thread => Thread; | |||||
| internal SocketUserMessage(DiscordSocketClient discord, ulong id, ISocketMessageChannel channel, SocketUser author, MessageSource source) | internal SocketUserMessage(DiscordSocketClient discord, ulong id, ISocketMessageChannel channel, SocketUser author, MessageSource source) | ||||
| : base(discord, id, channel, author, source) | : base(discord, id, channel, author, source) | ||||
| { | { | ||||
| @@ -172,6 +178,11 @@ namespace Discord.WebSocket | |||||
| else | else | ||||
| _stickers = ImmutableArray.Create<SocketSticker>(); | _stickers = ImmutableArray.Create<SocketSticker>(); | ||||
| } | } | ||||
| if (model.Thread.IsSpecified) | |||||
| { | |||||
| Thread = SocketThreadChannel.Create(guild, state, model.Thread.Value); | |||||
| } | |||||
| } | } | ||||
| /// <inheritdoc /> | /// <inheritdoc /> | ||||