Switch from 'feed-read' module to 'rss-parser'

This commit is contained in:
benji7425 2018-01-14 20:08:05 +00:00
parent 7b7645cb5e
commit 25f67948b2
4 changed files with 61 additions and 370 deletions

View File

@ -1,10 +1,13 @@
const Core = require("../../discord-bot-core");
const GetUrls = require("get-urls");
const FeedRead = require("feed-read");
const FeedData = require("../models/feed-data.js");
const { promisify } = require("util");
const Config = require("../config.json");
const Core = require("../../discord-bot-core");
const FeedData = require("../models/feed-data.js");
const GetUrls = require("get-urls");
const ShortID = require("shortid");
// @ts-ignore
const readFeed = url => promisify(require("rss-parser").parseURL)(url);
module.exports = new Core.Command({
name: "add-feed",
description: "Add an RSS feed to be posted in a channel, with an optional role to tag",
@ -30,20 +33,19 @@ function invoke({ message, params, guildData, client }) {
});
return new Promise((resolve, reject) => {
FeedRead(feedUrl, err => {
if (err)
return reject(`Unable to add the feed due to the following error:\n${err.message}`);
Core.util.ask(client, message.channel, message.member, "Are you happy with this (yes/no)?\n" + feedData.toString())
.then(responseMessage => {
if (responseMessage.content.toLowerCase() === "yes") {
guildData.feeds.push(feedData);
guildData.cachePastPostedLinks(message.guild)
.then(() => resolve("Your new feed has been saved!"));
}
else
reject("Your feed has not been saved, please add it again with the correct details");
});
});
readFeed(feedUrl)
.then(() => {
Core.util.ask(client, message.channel, message.member, "Are you happy with this (yes/no)?\n" + feedData.toString())
.then(responseMessage => {
if (responseMessage.content.toLowerCase() === "yes") {
guildData.feeds.push(feedData);
guildData.cachePastPostedLinks(message.guild)
.then(() => resolve("Your new feed has been saved!"));
}
else
reject("Your feed has not been saved, please add it again with the correct details");
});
})
.catch(err => reject(`Unable to add the feed due to the following error:\n${err.message}`));
});
}

View File

@ -9,7 +9,7 @@ const GetUrls = require("get-urls");
const Url = require("url");
// @ts-ignore
const readFeed = url => promisify(require("feed-read"))(url);
const readFeed = url => promisify(require("rss-parser").parseURL)(url);
const resolveDns = promisify(require("dns").resolve);
module.exports = class FeedData extends Core.BaseEmbeddedData {
@ -82,26 +82,26 @@ module.exports = class FeedData extends Core.BaseEmbeddedData {
}
_doFetchRSS(guild) {
const feedPromise = readFeed(this.url).then(articles => this._processLatestArticle(guild, articles));
const feedPromise = readFeed(this.url).then(parsed => this._processLatestArticle(guild, parsed.feed.entries));
feedPromise.catch(err => DiscordUtil.dateDebugError([`Error reading feed ${this.url}`, err]));
return feedPromise;
}
_processLatestArticle(guild, articles) {
if (articles.length === 0 || !articles[0].link)
_processLatestArticle(guild, entries) {
if (entries.length === 0 || !entries[0].link)
return false;
if (this._isCached(articles[0].link))
if (this._isCached(entries[0].link))
return false;
this.cache(articles[0].link);
this.cache(entries[0].link);
const channel = guild.channels.get(this.channelID),
role = guild.roles.get(this.roleID);
channel.send((role || "") + formatPost(articles[0]))
channel.send((role || "") + formatPost(entries[0]))
.catch(err => DiscordUtil.dateDebugError(`Error posting in ${channel.id}: ${err.message || err}`));
return true;

375
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "discord-bot-rss-feed",
"version": "3.1.3",
"version": "3.2.2",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@ -10,30 +10,12 @@
"integrity": "sha1-yM4n3grMdtiW0rH6099YjZ6C8BQ=",
"optional": true
},
"ajv": {
"version": "https://registry.npmjs.org/ajv/-/ajv-5.2.2.tgz",
"integrity": "sha1-R8aNaehvXZUxA7AHSpQw3GPaXjk=",
"requires": {
"co": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
"fast-deep-equal": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz",
"json-schema-traverse": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
"json-stable-stringify": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz"
}
},
"amdefine": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
"optional": true
},
"asn1": {
"version": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
"integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y="
},
"assert-plus": {
"version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
},
"ast-types": {
"version": "0.8.15",
"resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.8.15.tgz",
@ -50,39 +32,12 @@
"version": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
"integrity": "sha1-ePrtjD0HSrgfIrTphdeehzj3IPg="
},
"asynckit": {
"version": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
},
"aws-sign2": {
"version": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
},
"aws4": {
"version": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
"integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4="
},
"base62": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/base62/-/base62-0.1.1.tgz",
"integrity": "sha1-e0F0wvlESXU7EcJlHAg9qEGnsIQ=",
"optional": true
},
"bcrypt-pbkdf": {
"version": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
"integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
"optional": true,
"requires": {
"tweetnacl": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"
},
"dependencies": {
"tweetnacl": {
"version": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
"optional": true
}
}
},
"binary-search-tree": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/binary-search-tree/-/binary-search-tree-0.2.5.tgz",
@ -100,13 +55,6 @@
}
}
},
"boom": {
"version": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz",
"integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=",
"requires": {
"hoek": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz"
}
},
"bson": {
"version": "0.4.23",
"resolved": "https://registry.npmjs.org/bson/-/bson-0.4.23.tgz",
@ -122,52 +70,10 @@
"nedb": "1.8.0"
}
},
"caseless": {
"version": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
},
"co": {
"version": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
"integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
},
"combined-stream": {
"version": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
"integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
"requires": {
"delayed-stream": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
}
},
"core-util-is": {
"version": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
"cryptiles": {
"version": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz",
"integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=",
"requires": {
"boom": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz"
},
"dependencies": {
"boom": {
"version": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz",
"integrity": "sha1-XdnabuOl8wIHdDYpDLcX0/SlTgI=",
"requires": {
"hoek": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz"
}
}
}
},
"dashdash": {
"version": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
"requires": {
"assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
}
},
"delayed-stream": {
"version": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
},
"depd": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz",
@ -184,13 +90,10 @@
"ws": "https://registry.npmjs.org/ws/-/ws-3.2.0.tgz"
}
},
"ecc-jsbn": {
"version": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
"integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
"optional": true,
"requires": {
"jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz"
}
"entities": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz",
"integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA="
},
"es3ify": {
"version": "0.1.4",
@ -220,14 +123,6 @@
"resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz",
"integrity": "sha1-t303q8046gt3Qmu4vCkizmtCZBE="
},
"extend": {
"version": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
"integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ="
},
"extsprintf": {
"version": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
},
"falafel": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/falafel/-/falafel-1.2.0.tgz",
@ -240,38 +135,12 @@
"object-keys": "1.0.11"
}
},
"fast-deep-equal": {
"version": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz",
"integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8="
},
"feed-read": {
"version": "https://registry.npmjs.org/feed-read/-/feed-read-0.0.1.tgz",
"integrity": "sha1-LaOTTX8Vu9vldNysVAOCHkFhY4s=",
"requires": {
"request": "https://registry.npmjs.org/request/-/request-2.82.0.tgz",
"sax": "https://registry.npmjs.org/sax/-/sax-0.3.5.tgz",
"underscore": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz"
}
},
"foreach": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
"integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
"optional": true
},
"forever-agent": {
"version": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
},
"form-data": {
"version": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz",
"integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=",
"requires": {
"asynckit": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
"mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz"
}
},
"get-urls": {
"version": "https://registry.npmjs.org/get-urls/-/get-urls-7.0.0.tgz",
"integrity": "sha1-xICtx9TGzFy7ZLUxgj3GO5nsHlo=",
@ -280,53 +149,11 @@
"url-regex": "https://registry.npmjs.org/url-regex/-/url-regex-4.1.1.tgz"
}
},
"getpass": {
"version": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
"requires": {
"assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
}
},
"graceful-fs": {
"version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
"integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
"optional": true
},
"har-schema": {
"version": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
},
"har-validator": {
"version": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz",
"integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=",
"requires": {
"ajv": "https://registry.npmjs.org/ajv/-/ajv-5.2.2.tgz",
"har-schema": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz"
}
},
"hawk": {
"version": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz",
"integrity": "sha1-r02RTrBl+bXOTZ0RwcshJu7MMDg=",
"requires": {
"boom": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz",
"cryptiles": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz",
"hoek": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz",
"sntp": "https://registry.npmjs.org/sntp/-/sntp-2.0.2.tgz"
}
},
"hoek": {
"version": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz",
"integrity": "sha1-ctnQdU9/4lyi0BrY+PmpRJqJUm0="
},
"http-signature": {
"version": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
"requires": {
"assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"jsprim": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
"sshpk": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz"
}
},
"immediate": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
@ -356,43 +183,11 @@
"version": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
"integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4="
},
"is-typedarray": {
"version": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
},
"isarray": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
},
"isstream": {
"version": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
},
"jsbn": {
"version": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
"optional": true
},
"json-schema": {
"version": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
},
"json-schema-traverse": {
"version": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
"integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A="
},
"json-stable-stringify": {
"version": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
"integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
"requires": {
"jsonify": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz"
}
},
"json-stringify-safe": {
"version": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
},
"jsonfile": {
"version": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz",
"integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=",
@ -400,20 +195,6 @@
"graceful-fs": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz"
}
},
"jsonify": {
"version": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
"integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM="
},
"jsprim": {
"version": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
"requires": {
"assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"extsprintf": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
"json-schema": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
"verror": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz"
}
},
"jstransform": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/jstransform/-/jstransform-3.0.0.tgz",
@ -464,17 +245,6 @@
"version": "https://registry.npmjs.org/long/-/long-3.2.0.tgz",
"integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s="
},
"mime-db": {
"version": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz",
"integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE="
},
"mime-types": {
"version": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz",
"integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=",
"requires": {
"mime-db": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz"
}
},
"minimist": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
@ -548,10 +318,6 @@
"sort-keys": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz"
}
},
"oauth-sign": {
"version": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
"integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM="
},
"object-assign": {
"version": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
@ -562,10 +328,6 @@
"integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=",
"optional": true
},
"performance-now": {
"version": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
},
"prepend-http": {
"version": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
"integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw="
@ -580,14 +342,6 @@
"integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
"optional": true
},
"punycode": {
"version": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
},
"qs": {
"version": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
"integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg="
},
"query-string": {
"version": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
"integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
@ -634,42 +388,19 @@
}
}
},
"request": {
"version": "https://registry.npmjs.org/request/-/request-2.82.0.tgz",
"integrity": "sha1-K6ipLNesRWYOorEKU65nzSR1Fuo=",
"rss-parser": {
"version": "2.12.0",
"resolved": "https://registry.npmjs.org/rss-parser/-/rss-parser-2.12.0.tgz",
"integrity": "sha1-2M0XOu+cHw1mRnRlCSvW+ZqOwjI=",
"requires": {
"aws-sign2": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
"aws4": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
"caseless": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
"combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
"extend": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
"forever-agent": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
"form-data": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz",
"har-validator": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz",
"hawk": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz",
"http-signature": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
"is-typedarray": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
"isstream": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
"json-stringify-safe": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"mime-types": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz",
"oauth-sign": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
"performance-now": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
"qs": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
"safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
"stringstream": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
"tough-cookie": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz",
"tunnel-agent": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"uuid": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz"
"entities": "1.1.1",
"xml2js": "0.4.19"
}
},
"safe-buffer": {
"version": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
"integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM="
},
"sax": {
"version": "https://registry.npmjs.org/sax/-/sax-0.3.5.tgz",
"integrity": "sha1-iPz8H3PAyLvVt8d2ttPzUB7tBz0="
},
"shortid": {
"version": "https://registry.npmjs.org/shortid/-/shortid-2.2.8.tgz",
"integrity": "sha1-AzsRfWoul1gE9vCWnb59PQs1UTE="
@ -678,13 +409,6 @@
"version": "https://registry.npmjs.org/snekfetch/-/snekfetch-3.3.0.tgz",
"integrity": "sha1-l6oNedWSDxjCbUyKf92+kSBa0Po="
},
"sntp": {
"version": "https://registry.npmjs.org/sntp/-/sntp-2.0.2.tgz",
"integrity": "sha1-UGQRDwr4X3z9t9a2ekACjOUrSys=",
"requires": {
"hoek": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz"
}
},
"sort-keys": {
"version": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
"integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
@ -701,27 +425,6 @@
"amdefine": "1.0.1"
}
},
"sshpk": {
"version": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz",
"integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=",
"requires": {
"asn1": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
"assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"bcrypt-pbkdf": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
"dashdash": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
"ecc-jsbn": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
"getpass": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
"jsbn": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
"tweetnacl": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"
},
"dependencies": {
"tweetnacl": {
"version": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
"optional": true
}
}
},
"strict-uri-encode": {
"version": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
"integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM="
@ -731,10 +434,6 @@
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
},
"stringstream": {
"version": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
"integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg="
},
"through": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
@ -767,20 +466,6 @@
"version": "https://registry.npmjs.org/tlds/-/tlds-1.196.0.tgz",
"integrity": "sha1-SddN29H53zAjizv+9N+Chitbu0g="
},
"tough-cookie": {
"version": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz",
"integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=",
"requires": {
"punycode": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz"
}
},
"tunnel-agent": {
"version": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
"requires": {
"safe-buffer": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz"
}
},
"tweetnacl": {
"version": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.0.tgz",
"integrity": "sha1-cT2LgY2kIGh0C/aDhtBHnmb8ins="
@ -789,10 +474,6 @@
"version": "https://registry.npmjs.org/ultron/-/ultron-1.1.0.tgz",
"integrity": "sha1-sHoualQagV/Go0zNRTO67DB8qGQ="
},
"underscore": {
"version": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz",
"integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI="
},
"unreachable-branch-transform": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/unreachable-branch-transform/-/unreachable-branch-transform-0.3.0.tgz",
@ -812,19 +493,6 @@
"tlds": "https://registry.npmjs.org/tlds/-/tlds-1.196.0.tgz"
}
},
"uuid": {
"version": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz",
"integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ="
},
"verror": {
"version": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
"requires": {
"assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"extsprintf": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz"
}
},
"ws": {
"version": "https://registry.npmjs.org/ws/-/ws-3.2.0.tgz",
"integrity": "sha1-1dPWsRr/cec/gI9AzGnVK7bUoYU=",
@ -834,6 +502,27 @@
"ultron": "https://registry.npmjs.org/ultron/-/ultron-1.1.0.tgz"
}
},
"xml2js": {
"version": "0.4.19",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz",
"integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==",
"requires": {
"sax": "1.2.4",
"xmlbuilder": "9.0.4"
},
"dependencies": {
"sax": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
}
}
},
"xmlbuilder": {
"version": "9.0.4",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.4.tgz",
"integrity": "sha1-UZy0ymhtAFqEINNJbz8MruzKWA8="
},
"xtend": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",

View File

@ -8,9 +8,9 @@
"dependencies": {
"camo": "git+https://github.com/scottwrobinson/camo.git",
"discord.js": "11.2.0",
"feed-read": "0.0.1",
"get-urls": "7.0.0",
"jsonfile": "3.0.1",
"rss-parser": "2.12.0",
"shortid": "2.2.8"
},
"name": "discord-bot-rss-feed",