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