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.");