From 4b2e488ed2c3dcb470ee8d03cf69a8dfd72806e3 Mon Sep 17 00:00:00 2001 From: Misha133 Date: Mon, 6 Feb 2023 16:17:08 +0300 Subject: [PATCH] move the property back to IMessage --- .../Entities/Messages/IMessage.cs | 8 ++++++++ .../Entities/Messages/IUserMessage.cs | 8 -------- .../Entities/Messages/RestMessage.cs | 15 ++++++++++++++- .../Entities/Messages/RestUserMessage.cs | 9 --------- .../Entities/Messages/SocketMessage.cs | 12 ++++++++++++ .../Entities/Messages/SocketUserMessage.cs | 11 ----------- 6 files changed, 34 insertions(+), 29 deletions(-) diff --git a/src/Discord.Net.Core/Entities/Messages/IMessage.cs b/src/Discord.Net.Core/Entities/Messages/IMessage.cs index 0437cd7d1..8d5b24c52 100644 --- a/src/Discord.Net.Core/Entities/Messages/IMessage.cs +++ b/src/Discord.Net.Core/Entities/Messages/IMessage.cs @@ -89,6 +89,14 @@ namespace Discord /// IUser Author { get; } + /// + /// Gets the thread that was started from this message. + /// + /// + /// An object if this message has thread attached; otherwise . + /// + IThreadChannel Thread { get; } + /// /// Gets all attachments included in this message. /// diff --git a/src/Discord.Net.Core/Entities/Messages/IUserMessage.cs b/src/Discord.Net.Core/Entities/Messages/IUserMessage.cs index 1b79fbbf1..c2d0e13bc 100644 --- a/src/Discord.Net.Core/Entities/Messages/IUserMessage.cs +++ b/src/Discord.Net.Core/Entities/Messages/IUserMessage.cs @@ -16,14 +16,6 @@ namespace Discord /// IUserMessage ReferencedMessage { get; } - /// - /// Gets the thread that was started from this message. - /// - /// - /// An object if this message has thread attached; otherwise . - /// - IThreadChannel Thread { get; } - /// /// Modifies this message. /// diff --git a/src/Discord.Net.Rest/Entities/Messages/RestMessage.cs b/src/Discord.Net.Rest/Entities/Messages/RestMessage.cs index 240347a63..f928e362e 100644 --- a/src/Discord.Net.Rest/Entities/Messages/RestMessage.cs +++ b/src/Discord.Net.Rest/Entities/Messages/RestMessage.cs @@ -1,9 +1,13 @@ +using Discord.API; + using Newtonsoft.Json.Linq; + using System; using System.Collections.Generic; using System.Collections.Immutable; using System.Linq; using System.Threading.Tasks; + using Model = Discord.API.Message; namespace Discord.Rest @@ -45,6 +49,12 @@ namespace Discord.Rest /// public virtual bool MentionedEveryone => false; + /// + public RestThreadChannel Thread { get; private set; } + + /// + IThreadChannel IMessage.Thread => Thread; + /// /// Gets a collection of the 's on the message. /// @@ -255,6 +265,9 @@ namespace Discord.Rest model.RoleSubscriptionData.Value.MonthsSubscribed, model.RoleSubscriptionData.Value.IsRenewal); } + + if (model.Thread.IsSpecified) + Thread = RestThreadChannel.Create(Discord, new RestGuild(Discord, model.Thread.Value.GuildId.Value), model.Thread.Value); } /// public async Task UpdateAsync(RequestOptions options = null) @@ -296,7 +309,7 @@ namespace Discord.Rest /// IReadOnlyCollection IMessage.Stickers => Stickers; - + #endregion /// diff --git a/src/Discord.Net.Rest/Entities/Messages/RestUserMessage.cs b/src/Discord.Net.Rest/Entities/Messages/RestUserMessage.cs index f3b677343..083a8e72c 100644 --- a/src/Discord.Net.Rest/Entities/Messages/RestUserMessage.cs +++ b/src/Discord.Net.Rest/Entities/Messages/RestUserMessage.cs @@ -47,12 +47,6 @@ namespace Discord.Rest /// public IUserMessage ReferencedMessage => _referencedMessage; - /// - public RestThreadChannel Thread { get; private set; } - - /// - IThreadChannel IUserMessage.Thread => Thread; - internal RestUserMessage(BaseDiscordClient discord, ulong id, IMessageChannel channel, IUser author, MessageSource source) : base(discord, id, channel, author, source) { @@ -136,9 +130,6 @@ namespace Discord.Rest else _stickers = ImmutableArray.Create(); } - - if(model.Thread.IsSpecified) - Thread = RestThreadChannel.Create(Discord, guild, model.Thread.Value); } /// diff --git a/src/Discord.Net.WebSocket/Entities/Messages/SocketMessage.cs b/src/Discord.Net.WebSocket/Entities/Messages/SocketMessage.cs index df7d91bd0..197d476f5 100644 --- a/src/Discord.Net.WebSocket/Entities/Messages/SocketMessage.cs +++ b/src/Discord.Net.WebSocket/Entities/Messages/SocketMessage.cs @@ -81,6 +81,12 @@ namespace Discord.WebSocket /// public MessageRoleSubscriptionData RoleSubscriptionData { get; private set; } + /// + public SocketThreadChannel Thread { get; private set; } + + /// + IThreadChannel IMessage.Thread => Thread; + /// /// Returns all attachments included in this message. /// @@ -283,6 +289,12 @@ namespace Discord.WebSocket model.RoleSubscriptionData.Value.MonthsSubscribed, model.RoleSubscriptionData.Value.IsRenewal); } + + if (model.Thread.IsSpecified) + { + SocketGuild guild = (Channel as SocketGuildChannel)?.Guild; + Thread = guild?.AddOrUpdateChannel(state, model.Thread.Value) as SocketThreadChannel; + } } /// diff --git a/src/Discord.Net.WebSocket/Entities/Messages/SocketUserMessage.cs b/src/Discord.Net.WebSocket/Entities/Messages/SocketUserMessage.cs index c4563e994..f5abb2c49 100644 --- a/src/Discord.Net.WebSocket/Entities/Messages/SocketUserMessage.cs +++ b/src/Discord.Net.WebSocket/Entities/Messages/SocketUserMessage.cs @@ -49,12 +49,6 @@ namespace Discord.WebSocket /// public IUserMessage ReferencedMessage => _referencedMessage; - /// - public SocketThreadChannel Thread { get; private set; } - - /// - IThreadChannel IUserMessage.Thread => Thread; - internal SocketUserMessage(DiscordSocketClient discord, ulong id, ISocketMessageChannel channel, SocketUser author, MessageSource source) : base(discord, id, channel, author, source) { @@ -178,11 +172,6 @@ namespace Discord.WebSocket else _stickers = ImmutableArray.Create(); } - - if (model.Thread.IsSpecified) - { - Thread = guild!.AddOrUpdateChannel(state, model.Thread.Value) as SocketThreadChannel; - } } ///