diff --git a/src/Discord.Net.Core/Entities/Messages/IUserMessage.cs b/src/Discord.Net.Core/Entities/Messages/IUserMessage.cs index 9430e9af2..e2fb25aae 100644 --- a/src/Discord.Net.Core/Entities/Messages/IUserMessage.cs +++ b/src/Discord.Net.Core/Entities/Messages/IUserMessage.cs @@ -58,14 +58,17 @@ namespace Discord Task UnpinAsync(RequestOptions options = null); /// - /// Publish (crosspost) this message. + /// Publishes (crossposts) this message. /// /// The options to be used when sending the request. /// /// A task that represents the asynchronous operation for publishing this message. /// /// - /// Publishing (crossposting) is only available in news channels. + /// + /// This call will throw an if attempted in a non-news channel. + /// + /// This method will publish (crosspost) the message. Please note, publishing (crossposting), is only available in news channels. /// Task CrosspostAsync(RequestOptions options = null); diff --git a/src/Discord.Net.Rest/Entities/Messages/RestUserMessage.cs b/src/Discord.Net.Rest/Entities/Messages/RestUserMessage.cs index d116ae341..c55724f66 100644 --- a/src/Discord.Net.Rest/Entities/Messages/RestUserMessage.cs +++ b/src/Discord.Net.Rest/Entities/Messages/RestUserMessage.cs @@ -149,8 +149,10 @@ namespace Discord.Rest => MentionUtils.Resolve(this, 0, userHandling, channelHandling, roleHandling, everyoneHandling, emojiHandling); /// + /// This operation may only be called on a channel. public async Task CrosspostAsync(RequestOptions options = null) { + // Validate that the channel is of type RestNewsChannel if (!(Channel is RestNewsChannel)) { throw new InvalidOperationException("Publishing (crossposting) is only valid in news channels."); diff --git a/src/Discord.Net.WebSocket/Entities/Messages/SocketUserMessage.cs b/src/Discord.Net.WebSocket/Entities/Messages/SocketUserMessage.cs index 56f0f593e..2d08356c7 100644 --- a/src/Discord.Net.WebSocket/Entities/Messages/SocketUserMessage.cs +++ b/src/Discord.Net.WebSocket/Entities/Messages/SocketUserMessage.cs @@ -149,8 +149,10 @@ namespace Discord.WebSocket => MentionUtils.Resolve(this, 0, userHandling, channelHandling, roleHandling, everyoneHandling, emojiHandling); /// + /// This operation may only be called on a channel. public async Task CrosspostAsync(RequestOptions options = null) { + // Validate that the channel is of type SocketNewsChannel if (!(Channel is SocketNewsChannel)) { throw new InvalidOperationException("Publishing (crossposting) is only valid in news channels.");