From 78eec753f1de54a3564b4c1a06a717f44ba34f53 Mon Sep 17 00:00:00 2001 From: benji7425 Date: Thu, 7 Dec 2017 22:48:49 +0000 Subject: [PATCH] Fix links not being properly cached with camo integration --- app/index.js | 11 +++++------ app/models/feed-data.js | 4 +--- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/app/index.js b/app/index.js index 1144d3d..acdff85 100644 --- a/app/index.js +++ b/app/index.js @@ -24,13 +24,12 @@ client.on("message", message => { client.guildDataModel.findOne({ guildID: message.guild.id }) .then(guildData => { - if (guildData) - guildData.feeds.forEach(feedData => { - if (message.channel.id === feedData.channelID) - feedData.cachedLinks.push(...GetUrls(message.content)); - }); + if (guildData) { + guildData.feeds.forEach(feedData => + message.channel.id === feedData.channelID && feedData.cache(...GetUrls(message.content))); + guildData.save(); + } }); - }); client.bootstrap(); diff --git a/app/models/feed-data.js b/app/models/feed-data.js index 2618db5..5f0fab7 100644 --- a/app/models/feed-data.js +++ b/app/models/feed-data.js @@ -41,7 +41,7 @@ module.exports = class FeedData extends Camo.EmbeddedDocument { .then(messages => { /* we want to push the links in oldest first, but discord.js returns messages newest first, so we need to reverse them * discord.js returns a map, and maps don't have .reverse methods, hence needing to spread the elements into an array first */ - [...messages.values()].reverse().forEach(m => this.cachedLinks.push(...GetUrls(m.content))); + [...messages.values()].reverse().forEach(m => this.cache(...GetUrls(m.content))); resolve(); }) .catch(reject); @@ -72,8 +72,6 @@ module.exports = class FeedData extends Camo.EmbeddedDocument { const latest = normaliseUrl(articles[0].link); if (!this.cachedLinks.includes(latest)) { - this.cachedLinks.push(latest); - const channel = guild.channels.get(this.channelID), role = guild.roles.get(this.roleID);