diff --git a/src/client/actions/MessageCreate.js b/src/client/actions/MessageCreate.js index 542d5459d..532f80cec 100644 --- a/src/client/actions/MessageCreate.js +++ b/src/client/actions/MessageCreate.js @@ -16,7 +16,6 @@ class MessageCreateAction extends Action { } const lastMessage = messages[messages.length - 1]; channel.lastMessageID = lastMessage.id; - channel.lastMessage = lastMessage; if (user) { user.lastMessageID = lastMessage.id; user.lastMessage = lastMessage; @@ -31,7 +30,6 @@ class MessageCreateAction extends Action { } else { const message = channel._cacheMessage(new Message(channel, data, client)); channel.lastMessageID = data.id; - channel.lastMessage = message; if (user) { user.lastMessageID = data.id; user.lastMessage = message; diff --git a/src/structures/interfaces/TextBasedChannel.js b/src/structures/interfaces/TextBasedChannel.js index d86df27ae..33a22f502 100644 --- a/src/structures/interfaces/TextBasedChannel.js +++ b/src/structures/interfaces/TextBasedChannel.js @@ -395,6 +395,15 @@ class TextBasedChannel { return 0; } + /** + * The Message object of the last message in the channel, if one was sent + * @type {?Message} + * @readonly + */ + get lastMessage() { + return this.messages.get(this.lastMessageID) || null; + } + /** * The date when the last pinned message was pinned, if there was one * @type {?Date} @@ -599,6 +608,7 @@ exports.applyToClass = (structure, full = false, ignore = []) => { 'fetchMessages', 'fetchMessage', 'search', + 'lastMessage', 'lastPinAt', 'bulkDelete', 'startTyping',