summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--api/src/util/handlers/Message.ts6
1 files changed, 4 insertions, 2 deletions
diff --git a/api/src/util/handlers/Message.ts b/api/src/util/handlers/Message.ts
index a3055aed..dae6f7e8 100644
--- a/api/src/util/handlers/Message.ts
+++ b/api/src/util/handlers/Message.ts
@@ -81,8 +81,10 @@ export async function handleMessage(opts: MessageOptions): Promise<Message> {
 	if (opts.message_reference) {
 		permission.hasThrow("READ_MESSAGE_HISTORY");
 		// code below has to be redone when we add custom message routing and cross-channel replies
-		if (opts.message_reference.guild_id !== channel.guild_id) throw new HTTPError("You can only reference messages from this guild");
-		if (opts.message_reference.channel_id !== opts.channel_id) throw new HTTPError("You can only reference messages from this channel");
+		if (!guild.features.includes("CROSS_CHANNEL_REPLIES")) {
+			if (opts.message_reference.guild_id !== channel.guild_id) throw new HTTPError("You can only reference messages from this guild");
+			if (opts.message_reference.channel_id !== opts.channel_id) throw new HTTPError("You can only reference messages from this channel");
+		}
 		// TODO: should be checked if the referenced message exists?
 		// @ts-ignore
 		message.type = MessageType.REPLY;