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