diff --git a/src/structures/Message.js b/src/structures/Message.js
index 84e03957416a..640187d2b6bc 100644
--- a/src/structures/Message.js
+++ b/src/structures/Message.js
@@ -304,7 +304,7 @@ class Message extends Base {
}
if (data.referenced_message) {
- this.channel?.messages._add(data.referenced_message);
+ this.channel?.messages._add({ guild_id: data.message_reference?.guild_id, ...data.referenced_message });
}
/**
diff --git a/src/structures/MessageMentions.js b/src/structures/MessageMentions.js
index 67aef97e1145..eb98dcfe3b47 100644
--- a/src/structures/MessageMentions.js
+++ b/src/structures/MessageMentions.js
@@ -59,17 +59,17 @@ class MessageMentions {
this.users = new Collection();
}
- if (roles) {
- if (roles instanceof Collection) {
- /**
- * Any roles that were mentioned
- * Order as received from the API, not as they appear in the message content
- * @type {Collection}
- */
- this.roles = new Collection(roles);
- } else {
- this.roles = new Collection();
- const guild = message.guild;
+ if (roles instanceof Collection) {
+ /**
+ * Any roles that were mentioned
+ * Order as received from the API, not as they appear in the message content
+ * @type {Collection}
+ */
+ this.roles = new Collection(roles);
+ } else if (roles) {
+ this.roles = new Collection();
+ const guild = message.guild;
+ if (guild) {
for (const mention of roles) {
const role = guild.roles.cache.get(mention);
if (role) this.roles.set(role.id, role);