From 7b76892629bdfa3be6fce7d54c85755eb506e8c1 Mon Sep 17 00:00:00 2001 From: Ralph Date: Thu, 26 Dec 2019 23:55:07 -0500 Subject: [PATCH 1/5] Change LBRYian base role to LBRY-Curious --- bot/modules/rolesetter.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bot/modules/rolesetter.js b/bot/modules/rolesetter.js index 297aeb5..3991a7b 100644 --- a/bot/modules/rolesetter.js +++ b/bot/modules/rolesetter.js @@ -104,7 +104,7 @@ exports.roles = { }, { name: 'NOTE', - value: 'The above roles are case sensitive. The LBRYian role will be auto-added when you chose any of the available roles', + value: 'The above roles are case sensitive. The LBRY-Curious role will be auto-added when you chose any of the available roles', inline: false } ], From 419fb25c50284f7244e124380ca892ad9547151f Mon Sep 17 00:00:00 2001 From: Ralph Date: Thu, 26 Dec 2019 23:56:41 -0500 Subject: [PATCH 2/5] Remove note about Case-Sensitive roles --- bot/modules/rolesetter.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bot/modules/rolesetter.js b/bot/modules/rolesetter.js index 3991a7b..ce69c4d 100644 --- a/bot/modules/rolesetter.js +++ b/bot/modules/rolesetter.js @@ -104,7 +104,7 @@ exports.roles = { }, { name: 'NOTE', - value: 'The above roles are case sensitive. The LBRY-Curious role will be auto-added when you chose any of the available roles', + value: 'The LBRY-Curious role will be auto-added when you chose any of the available roles', inline: false } ], From 7f3a004af991f1074cb407ac144f6f2c5cca03de Mon Sep 17 00:00:00 2001 From: Ralph Date: Fri, 27 Dec 2019 00:02:05 -0500 Subject: [PATCH 3/5] Fix typos in messages --- bot/modules/rolesetter.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bot/modules/rolesetter.js b/bot/modules/rolesetter.js index ce69c4d..966d4a9 100644 --- a/bot/modules/rolesetter.js +++ b/bot/modules/rolesetter.js @@ -33,7 +33,7 @@ exports.addrole = { // Checks that the allowed roles and base role against the matched role's name, since this eliminates case sensitivity issues if (!rolelist.allowedroles.includes(newrole.name) && !rolelist.baserole.includes(newrole.name)) return send("That role isn't one you can add yourself to! Type " + rolecmd + ' command to find out which ones are allowed.'); // Use the matched name to check against the member's existing roles - if (msg.member.roles.find(item => item.name === newrole.name)) return send('It seems you already have the ' + newrole.name + 'role'); + if (msg.member.roles.find(item => item.name === newrole.name)) return send('It seems you already have the ' + newrole.name + ' role'); // Assuming all these factors succeed, add the role msg.member.addRole(newrole).then(send(msg.member + ' has been added to the ' + newrole.name + ' role!')); @@ -67,7 +67,7 @@ exports.delrole = { // Checks that the allowed roles against the matched role's name, since this eliminates case sensitivity issues if (!rolelist.allowedroles.includes(oldrole.name)) return send("That role isn't one you can remove yourself! If you need it removed, please ask a moderator!"); // Use the matched name to check against the member's existing roles - if (!msg.member.roles.find(item => item.name === oldrole.name)) return send("It seems you don't actually have the " + oldrole.name + 'role! Mission accomplished!'); + if (!msg.member.roles.find(item => item.name === oldrole.name)) return send("It seems you don't actually have the " + oldrole.name + ' role! Mission accomplished!'); // Assuming all these factors succeed, add the role msg.member.removeRole(oldrole).then(send(msg.member + ' has been removed from the ' + oldrole.name + ' role!')); From 288d35718b248928e0f756bdace951a4e0b80ee6 Mon Sep 17 00:00:00 2001 From: Ralph Date: Sun, 29 Dec 2019 18:54:45 -0500 Subject: [PATCH 4/5] Fixed Post and Perms Check --- bot/modules/releasenotes.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/bot/modules/releasenotes.js b/bot/modules/releasenotes.js index 9910046..4ccf471 100644 --- a/bot/modules/releasenotes.js +++ b/bot/modules/releasenotes.js @@ -12,10 +12,15 @@ exports.releasenotes = { usage: '', description: 'gets current release notes from GitHub, for either Desktop or Android', process: function(bot, msg, suffix) { + console.log("Suffix is: " + suffix); let releaseType = suffix.toLowerCase(); + console.log("Release Type is " + releaseType); let releaseTypePost = null; - if (releaseType === 'android post' || 'desktop post') { + + if (releaseType === 'android post' || releaseType === 'desktop post') { releaseTypePost = releaseType.charAt(0).toUpperCase() + releaseType.slice(1,7); + console.log('ReleaseType is ' + releaseType); + console.log('ReleaseTypePost is ' + releaseTypePost); console.log('Post message detected ' + releaseTypePost); } let releaseTypeName = releaseType.charAt(0).toUpperCase() + releaseType.slice(1); @@ -74,7 +79,7 @@ exports.releasenotes = { msg.channel.send(message); return; } - if (hasPerms(msg) && suffix === 'android post' || 'desktop post') { + if (hasPerms(msg) && suffix === 'android post' || hasPerms(msg) && suffix === 'desktop post') { bot.channels.get(ChannelID).send(message); } else { msg.channel.send(msg.author + ' Release notes sent via DM'); From 676e64a2ae616c446617ba534f734d8145a0f11f Mon Sep 17 00:00:00 2001 From: Ralph Date: Sun, 29 Dec 2019 19:00:48 -0500 Subject: [PATCH 5/5] Ran pre-commit checks --- bot/modules/claimbot.js | 10 +- bot/modules/releasenotes.js | 246 ++++++++++++++++++------------------ bot/modules/stats.js | 163 ++++++++++++------------ config/commands.json | 2 +- package-lock.json | 108 +++++++--------- package.json | 14 +- 6 files changed, 261 insertions(+), 282 deletions(-) diff --git a/bot/modules/claimbot.js b/bot/modules/claimbot.js index ee6b371..f08b47e 100644 --- a/bot/modules/claimbot.js +++ b/bot/modules/claimbot.js @@ -15,11 +15,11 @@ function init(discordBot_) { if (discordBot) { throw new Error('init was already called once'); } - discordBot = discordBot_; - console.log('Activating claimbot'); - discordBot.channels.get(channels[0]).send('activating claimbot'); - setInterval(announceClaims, 60 * 1000); - announceClaims(); + discordBot = discordBot_; + console.log('Activating claimbot'); + discordBot.channels.get(channels[0]).send('activating claimbot'); + setInterval(announceClaims, 60 * 1000); + announceClaims(); } function announceClaims() { diff --git a/bot/modules/releasenotes.js b/bot/modules/releasenotes.js index 4ccf471..240f636 100644 --- a/bot/modules/releasenotes.js +++ b/bot/modules/releasenotes.js @@ -5,132 +5,132 @@ let inPrivate = require('../helpers.js').inPrivate; let ChannelID = config.get('gitrelease').channel; exports.commands = [ - 'releasenotes' // command that is in this file, every command needs it own export as shown below + 'releasenotes' // command that is in this file, every command needs it own export as shown below ]; exports.releasenotes = { - usage: '', - description: 'gets current release notes from GitHub, for either Desktop or Android', - process: function(bot, msg, suffix) { - console.log("Suffix is: " + suffix); - let releaseType = suffix.toLowerCase(); - console.log("Release Type is " + releaseType); - let releaseTypePost = null; + usage: '', + description: 'gets current release notes from GitHub, for either Desktop or Android', + process: function(bot, msg, suffix) { + console.log('Suffix is: ' + suffix); + let releaseType = suffix.toLowerCase(); + console.log('Release Type is ' + releaseType); + let releaseTypePost = null; - if (releaseType === 'android post' || releaseType === 'desktop post') { - releaseTypePost = releaseType.charAt(0).toUpperCase() + releaseType.slice(1,7); - console.log('ReleaseType is ' + releaseType); - console.log('ReleaseTypePost is ' + releaseTypePost); - console.log('Post message detected ' + releaseTypePost); - } - let releaseTypeName = releaseType.charAt(0).toUpperCase() + releaseType.slice(1); - if (releaseType !== 'android' && releaseType !== 'desktop' && releaseType !== 'android post' && releaseType !== 'desktop post') { - msg.reply('Please specify which release notes to display: "desktop" or "android".'); - return; - } - const headers = { - 'Content-Type': 'application/json', - 'User-Agent': 'Super Agent/0.0.1' - }; - // Configure the request - let options; - if (releaseTypePost !== null) { - options = { - url: 'https://api.github.com/repos/lbryio/lbry-' + releaseTypePost + '/releases/latest', - method: 'GET', - headers: headers - }; - } else { - console.log('Release being sent: ' + releaseTypeName); - options = { - url: 'https://api.github.com/repos/lbryio/lbry-' + releaseTypeName + '/releases/latest', - method: 'GET', - headers: headers - }; - } - // Start the request - let message; - request(options, function(error, response, body) { - let json = JSON.parse(body); - let releasemessage = json.body; - console.log(releasemessage); - let releasename = json.name || json.tag_name; - let releasedate = json.published_at; - let releaseurl = json.html_url; - if (releasemessage.length < 2000) { - message = { - embed: { - title: '*Download ' + releasename + ' here!*', - description: releasemessage.replace('###', ''), - url: releaseurl, - color: 7976557, - timestamp: releasedate, - author: { - name: 'LBRY ' + releaseType + ' release notes for ' + releasename, - icon_url: 'https://spee.ch/b/Github-PNG-Image.png' - }, - footer: { - icon_url: 'https://spee.ch/2/pinkylbryheart.png', - text: 'LBRY ' + releaseType + ' updated ' - } - } - }; - if (inPrivate(msg)) { - msg.channel.send(message); - return; - } - if (hasPerms(msg) && suffix === 'android post' || hasPerms(msg) && suffix === 'desktop post') { - bot.channels.get(ChannelID).send(message); - } else { - msg.channel.send(msg.author + ' Release notes sent via DM'); - msg.author.send(message); - } - } else { - message = releasemessage - .trim() - .split('###') - .filter(function(n) { - return n !== ''; - }); - let embedmessages = []; - for (let i = 0; i < message.length; i++) { - if (message[i]) { - embedmessages.push({ - embed: { - description: message[i], - url: releaseurl, - color: 7976557, - timestamp: releasedate, - author: { - name: 'LBRY ' + releaseTypeName + ' release notes for ' + releasename, - icon_url: 'https://spee.ch/b/Github-PNG-Image.png' - }, - footer: { - icon_url: 'https://spee.ch/2/pinkylbryheart.png', - text: 'LBRY ' + releaseTypeName + ' updated ' - } - } - }); - if (i === 0) embedmessages[i].embed.title = '*Download ' + releasename + ' here!*'; - } - } - if (inPrivate(msg)) { - for (let i = 0; i < embedmessages.length; i++) { - msg.channel.send(embedmessages[i]); - } - return; - } - if (hasPerms(msg) && suffix === 'android post' || 'desktop post') { - for (let i = 0; i < embedmessages.length; i++) { - bot.channels.get(ChannelID).send(embedmessages[i]); - } - } else { - msg.channel.send(msg.author + ' Release notes sent via DM'); - for (let i = 0; i < embedmessages.length; i++) { - msg.author.send(embedmessages[i]); - } - } - } - }); + if (releaseType === 'android post' || releaseType === 'desktop post') { + releaseTypePost = releaseType.charAt(0).toUpperCase() + releaseType.slice(1, 7); + console.log('ReleaseType is ' + releaseType); + console.log('ReleaseTypePost is ' + releaseTypePost); + console.log('Post message detected ' + releaseTypePost); } + let releaseTypeName = releaseType.charAt(0).toUpperCase() + releaseType.slice(1); + if (releaseType !== 'android' && releaseType !== 'desktop' && releaseType !== 'android post' && releaseType !== 'desktop post') { + msg.reply('Please specify which release notes to display: "desktop" or "android".'); + return; + } + const headers = { + 'Content-Type': 'application/json', + 'User-Agent': 'Super Agent/0.0.1' + }; + // Configure the request + let options; + if (releaseTypePost !== null) { + options = { + url: 'https://api.github.com/repos/lbryio/lbry-' + releaseTypePost + '/releases/latest', + method: 'GET', + headers: headers + }; + } else { + console.log('Release being sent: ' + releaseTypeName); + options = { + url: 'https://api.github.com/repos/lbryio/lbry-' + releaseTypeName + '/releases/latest', + method: 'GET', + headers: headers + }; + } + // Start the request + let message; + request(options, function(error, response, body) { + let json = JSON.parse(body); + let releasemessage = json.body; + console.log(releasemessage); + let releasename = json.name || json.tag_name; + let releasedate = json.published_at; + let releaseurl = json.html_url; + if (releasemessage.length < 2000) { + message = { + embed: { + title: '*Download ' + releasename + ' here!*', + description: releasemessage.replace('###', ''), + url: releaseurl, + color: 7976557, + timestamp: releasedate, + author: { + name: 'LBRY ' + releaseType + ' release notes for ' + releasename, + icon_url: 'https://spee.ch/b/Github-PNG-Image.png' + }, + footer: { + icon_url: 'https://spee.ch/2/pinkylbryheart.png', + text: 'LBRY ' + releaseType + ' updated ' + } + } + }; + if (inPrivate(msg)) { + msg.channel.send(message); + return; + } + if ((hasPerms(msg) && suffix === 'android post') || (hasPerms(msg) && suffix === 'desktop post')) { + bot.channels.get(ChannelID).send(message); + } else { + msg.channel.send(msg.author + ' Release notes sent via DM'); + msg.author.send(message); + } + } else { + message = releasemessage + .trim() + .split('###') + .filter(function(n) { + return n !== ''; + }); + let embedmessages = []; + for (let i = 0; i < message.length; i++) { + if (message[i]) { + embedmessages.push({ + embed: { + description: message[i], + url: releaseurl, + color: 7976557, + timestamp: releasedate, + author: { + name: 'LBRY ' + releaseTypeName + ' release notes for ' + releasename, + icon_url: 'https://spee.ch/b/Github-PNG-Image.png' + }, + footer: { + icon_url: 'https://spee.ch/2/pinkylbryheart.png', + text: 'LBRY ' + releaseTypeName + ' updated ' + } + } + }); + if (i === 0) embedmessages[i].embed.title = '*Download ' + releasename + ' here!*'; + } + } + if (inPrivate(msg)) { + for (let i = 0; i < embedmessages.length; i++) { + msg.channel.send(embedmessages[i]); + } + return; + } + if ((hasPerms(msg) && suffix === 'android post') || 'desktop post') { + for (let i = 0; i < embedmessages.length; i++) { + bot.channels.get(ChannelID).send(embedmessages[i]); + } + } else { + msg.channel.send(msg.author + ' Release notes sent via DM'); + for (let i = 0; i < embedmessages.length; i++) { + msg.author.send(embedmessages[i]); + } + } + } + }); + } }; diff --git a/bot/modules/stats.js b/bot/modules/stats.js index dea6775..9663759 100644 --- a/bot/modules/stats.js +++ b/bot/modules/stats.js @@ -1,52 +1,52 @@ let needle = require('needle'); let statsurl = 'https://www.coingecko.com/en/coins/lbry-credits'; exports.commands = [ - 'stats' // command that is in this file, every command needs it own export as shown below + 'stats' // command that is in this file, every command needs it own export as shown below ]; exports.stats = { - usage: '', - description: 'Displays list of Current Market Statistics', - process: function(bot, msg) { - needle.get('https://api.coingecko.com/api/v3/coins/markets?vs_currency=btc&ids=lbry-credits&order=market_cap_desc&per_page=100&page=1&sparkline=false&price_change_percentage=24h%2C1h%2C7d', function(error, response) { - if (error || response.statusCode !== 200) { - msg.channel.send('coingecko API is not available'); - } else { - // console.log(response); - // console.log(response.body[0]); - let data = response.body[0]; - let rank = data.market_cap_rank; - let price_btc = Number(data.current_price); - let circulating_supply = Number(data.circulating_supply); - let total_supply = Number(data.total_supply); - let percent_change_1h = Number(data.price_change_percentage_1h_in_currency); - let percent_change_24h = Number(data.price_change_percentage_24h_in_currency); - let dt = new Date(); - let timestamp = dt.toUTCString(); - let hr_indicator = (percent_change_1h < 0) ? ':thumbsdown:' : ':thumbsup:'; - let day_indicator = (percent_change_24h < 0) ? ':thumbsdown:' : ':thumbsup:'; + usage: '', + description: 'Displays list of Current Market Statistics', + process: function(bot, msg) { + needle.get('https://api.coingecko.com/api/v3/coins/markets?vs_currency=btc&ids=lbry-credits&order=market_cap_desc&per_page=100&page=1&sparkline=false&price_change_percentage=24h%2C1h%2C7d', function(error, response) { + if (error || response.statusCode !== 200) { + msg.channel.send('coingecko API is not available'); + } else { + // console.log(response); + // console.log(response.body[0]); + let data = response.body[0]; + let rank = data.market_cap_rank; + let price_btc = Number(data.current_price); + let circulating_supply = Number(data.circulating_supply); + let total_supply = Number(data.total_supply); + let percent_change_1h = Number(data.price_change_percentage_1h_in_currency); + let percent_change_24h = Number(data.price_change_percentage_24h_in_currency); + let dt = new Date(); + let timestamp = dt.toUTCString(); + let hr_indicator = percent_change_1h < 0 ? ':thumbsdown:' : ':thumbsup:'; + let day_indicator = percent_change_24h < 0 ? ':thumbsdown:' : ':thumbsup:'; - needle.get('https://api.coingecko.com/api/v3/coins/markets?vs_currency=gbp&ids=lbry-credits&order=market_cap_desc&per_page=100&page=1&sparkline=false', function (error, response) { - if (error || response.statusCode !== 200) { - msg.channel.send('coingecko API is not available'); - } else { - data = response.body[0]; - let price_gbp = Number(data.current_price); - needle.get('https://api.coingecko.com/api/v3/coins/markets?vs_currency=eur&ids=lbry-credits&order=market_cap_desc&per_page=100&page=1&sparkline=false', function (error, response) { - if (error || response.statusCode !== 200) { - msg.channel.send('coingecko API is not available'); - } else { - data = response.body[0]; - let price_eur = Number(data.current_price); - needle.get('https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&ids=lbry-credits&order=market_cap_desc&per_page=100&page=1&sparkline=false', function (error, response) { - if (error || response.statusCode !== 200) { - msg.channel.send('coingecko API is not available'); - } else { - data = response.body[0]; - let price_usd = Number(data.current_price); - let market_cap_usd = Number(data.market_cap); - let volume24_usd = Number(data.total_volume); - let description = `**Rank: [${rank}](${statsurl})** + needle.get('https://api.coingecko.com/api/v3/coins/markets?vs_currency=gbp&ids=lbry-credits&order=market_cap_desc&per_page=100&page=1&sparkline=false', function(error, response) { + if (error || response.statusCode !== 200) { + msg.channel.send('coingecko API is not available'); + } else { + data = response.body[0]; + let price_gbp = Number(data.current_price); + needle.get('https://api.coingecko.com/api/v3/coins/markets?vs_currency=eur&ids=lbry-credits&order=market_cap_desc&per_page=100&page=1&sparkline=false', function(error, response) { + if (error || response.statusCode !== 200) { + msg.channel.send('coingecko API is not available'); + } else { + data = response.body[0]; + let price_eur = Number(data.current_price); + needle.get('https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&ids=lbry-credits&order=market_cap_desc&per_page=100&page=1&sparkline=false', function(error, response) { + if (error || response.statusCode !== 200) { + msg.channel.send('coingecko API is not available'); + } else { + data = response.body[0]; + let price_usd = Number(data.current_price); + let market_cap_usd = Number(data.market_cap); + let volume24_usd = Number(data.total_volume); + let description = `**Rank: [${rank}](${statsurl})** **Data** Market Cap: [$${numberWithCommas(market_cap_usd)}](${statsurl}) Total Supply: [${numberWithCommas(total_supply)} LBC](${statsurl}) @@ -63,47 +63,46 @@ exports.stats = { 1 Hour: [${percent_change_1h.toFixed(2)}%](${statsurl}) ${hr_indicator} 1 Day: [${percent_change_24h.toFixed(2)}%](${statsurl}) ${day_indicator}`; - const embed = { - description: description, - color: 7976557, - footer: { - text: 'Last Updated: ' + timestamp - }, - author: { - name: 'Coin Gecko Stats (LBC)', - url: statsurl, - icon_url: 'https://spee.ch/2/pinkylbryheart.png' - } - }; - msg.channel.send({embed}); - } - }); - } - }); - } + const embed = { + description: description, + color: 7976557, + footer: { + text: 'Last Updated: ' + timestamp + }, + author: { + name: 'Coin Gecko Stats (LBC)', + url: statsurl, + icon_url: 'https://spee.ch/2/pinkylbryheart.png' + } + }; + msg.channel.send({ embed }); + } }); + } + }); + } + }); - function parse_obj(obj) { - let array = []; - let prop; - for (prop in obj) { - if (obj.hasOwnProperty(prop)) { - let key = parseInt(prop, 10); - let value = obj[prop]; - if (typeof value == 'object') { - value = parse_obj(value); - } - array[key] = value; - } - } - return array; - } - - function numberWithCommas(x) { - return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ','); - } + function parse_obj(obj) { + let array = []; + let prop; + for (prop in obj) { + if (obj.hasOwnProperty(prop)) { + let key = parseInt(prop, 10); + let value = obj[prop]; + if (typeof value == 'object') { + value = parse_obj(value); + } + array[key] = value; } - }) - } -} + } + return array; + } + function numberWithCommas(x) { + return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ','); + } + } + }); + } +}; diff --git a/config/commands.json b/config/commands.json index 45fda66..5280224 100644 --- a/config/commands.json +++ b/config/commands.json @@ -31,7 +31,7 @@ } } }, - "!whitepaper": { + "!whitepaper": { "usage": "", "description": "LBRY White Paper", "operation": "send", diff --git a/package-lock.json b/package-lock.json index d283ad0..0cae191 100644 --- a/package-lock.json +++ b/package-lock.json @@ -292,7 +292,7 @@ }, "callsites": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "resolved": "http://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", "dev": true }, @@ -436,9 +436,9 @@ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" }, "config": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/config/-/config-3.2.3.tgz", - "integrity": "sha512-pditxQzO+SkKX/2gs99YnUGEjmBVkTj2o/hGOgC0oYEU7QgLnVVDYmcSL6HiGels/8QtFJpFzi5iKYv4D0dalg==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/config/-/config-3.2.4.tgz", + "integrity": "sha512-H1XIGfnU1EAkfjSLn9ZvYDRx9lOezDViuzLDgiJ/lMeqjYe3q6iQfpcLt2NInckJgpAeekbNhQkmnnbdEDs9rw==", "requires": { "json5": "^1.0.1" } @@ -593,7 +593,7 @@ }, "enabled": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz", + "resolved": "http://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz", "integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=", "requires": { "env-variable": "0.0.x" @@ -731,7 +731,7 @@ }, "fecha": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz", + "resolved": "http://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz", "integrity": "sha512-lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg==" }, "file-exists": { @@ -879,20 +879,20 @@ } }, "husky": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/husky/-/husky-3.0.8.tgz", - "integrity": "sha512-HFOsgcyrX3qe/rBuqyTt+P4Gxn5P0seJmr215LAZ/vnwK3jWB3r0ck7swbzGRUbufCf9w/lgHPVbF/YXQALgfQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/husky/-/husky-3.1.0.tgz", + "integrity": "sha512-FJkPoHHB+6s4a+jwPqBudBDvYZsoQW5/HBuMSehC8qDiCe50kpcxeqFoDSlow+9I6wg47YxBoT3WxaURlrDIIQ==", "dev": true, "requires": { "chalk": "^2.4.2", + "ci-info": "^2.0.0", "cosmiconfig": "^5.2.1", "execa": "^1.0.0", "get-stdin": "^7.0.0", - "is-ci": "^2.0.0", "opencollective-postinstall": "^2.0.2", "pkg-dir": "^4.2.0", "please-upgrade-node": "^3.2.0", - "read-pkg": "^5.1.1", + "read-pkg": "^5.2.0", "run-node": "^1.0.0", "slash": "^3.0.0" }, @@ -921,14 +921,6 @@ "requires": { "caller-path": "^2.0.0", "resolve-from": "^3.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - } } }, "inherits": { @@ -977,15 +969,6 @@ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "requires": { - "ci-info": "^2.0.0" - } - }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -1298,9 +1281,9 @@ "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" }, "mongodb": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.4.0.tgz", - "integrity": "sha512-W90jm/n8F0Edm47ljkVRK9l8qGW9g8T9ZSiZWRiUP58wLhsCJCeN/JxdpVnH0CUwwAw2hITUcCo9x58udpX2Uw==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.4.1.tgz", + "integrity": "sha512-juqt5/Z42J4DcE7tG7UdVaTKmUC6zinF4yioPfpeOSNBieWSK6qCY+0tfGQcHLKrauWPDdMZVROHJOa8q2pWsA==", "requires": { "bson": "^1.1.1", "require_optional": "^1.0.1", @@ -1309,13 +1292,13 @@ } }, "mongoose": { - "version": "5.8.1", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.8.1.tgz", - "integrity": "sha512-8Cffl52cMK2iBlpLipoRKW/RdrhkxvVzXsy+xVsfbKHQBCWkFiS0T0jU4smYzomTMP4gW0sReJoRA7Gu/7VVgQ==", + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.8.3.tgz", + "integrity": "sha512-WnO4WJ8eZ5Hgwp11Gl2dOxkWYJe8xV7oCqDV3ZbTA7j2q1prc0lPWAd9ZK5R6OhQlp55CleEZXqXUPrZnjSEDQ==", "requires": { "bson": "~1.1.1", "kareem": "2.3.1", - "mongodb": "3.3.5", + "mongodb": "3.4.1", "mongoose-legacy-pluralize": "1.0.2", "mpath": "0.6.0", "mquery": "3.2.2", @@ -1326,17 +1309,6 @@ "sliced": "1.0.1" }, "dependencies": { - "mongodb": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.3.5.tgz", - "integrity": "sha512-6NAv5gTFdwRyVfCz+O+KDszvjpyxmZw+VlmqmqKR2GmpkeKrKFRv/ZslgTtZba2dc9JYixIf99T5Gih7TIWv7Q==", - "requires": { - "bson": "^1.1.1", - "require_optional": "^1.0.1", - "safe-buffer": "^5.1.2", - "saslprep": "^1.0.0" - } - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -1619,9 +1591,9 @@ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" }, "prettier": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz", - "integrity": "sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", "dev": true }, "prism-media": { @@ -1766,22 +1738,22 @@ } }, "request-promise": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.4.tgz", - "integrity": "sha512-8wgMrvE546PzbR5WbYxUQogUnUDfM0S7QIFZMID+J73vdFARkFy+HElj4T+MWYhpXwlLp0EQ8Zoj8xUA0he4Vg==", + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.5.tgz", + "integrity": "sha512-ZgnepCykFdmpq86fKGwqntyTiUrHycALuGggpyCZwMvGaZWgxW6yagT0FHkgo5LzYvOaCNvxYwWYIjevSH1EDg==", "requires": { "bluebird": "^3.5.0", - "request-promise-core": "1.1.2", + "request-promise-core": "1.1.3", "stealthy-require": "^1.1.1", "tough-cookie": "^2.3.3" } }, "request-promise-core": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz", - "integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz", + "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==", "requires": { - "lodash": "^4.17.11" + "lodash": "^4.17.15" } }, "require_optional": { @@ -1791,21 +1763,29 @@ "requires": { "resolve-from": "^2.0.0", "semver": "^5.1.0" + }, + "dependencies": { + "resolve-from": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", + "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=" + } } }, "resolve": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", - "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.14.1.tgz", + "integrity": "sha512-fn5Wobh4cxbLzuHaE+nphztHy43/b++4M6SsGFC2gB8uYwf0C8LcarfCz1un7UTW8OFQg9iNjZ4xpcFVGebDPg==", "dev": true, "requires": { "path-parse": "^1.0.6" } }, "resolve-from": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", - "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true }, "resolve-url": { "version": "0.2.1", @@ -2198,7 +2178,7 @@ }, "strip-eof": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" }, "strip-json-comments": { diff --git a/package.json b/package.json index b32024f..99217fa 100644 --- a/package.json +++ b/package.json @@ -4,21 +4,21 @@ "bitcoin": "^3.0.1", "braces": "^2.3.1", "chrono-node": "^1.3.11", - "config": "^3.1.0", + "config": "^3.2.4", "discord-irc": "^2.8.0", "discord.js": "^11.5.1", "file-exists": "^5.0.1", "jsonfile": "^5.0.0", "jsonpath": "^1.0.1", "moment": "^2.24.0", - "mongoose": "^5.7.5", + "mongodb": "^3.4.1", + "mongoose": "^5.8.3", "needle": "^2.4.0", "numeral": "^2.0.6", "request": "^2.88.0", - "request-promise": "^4.2.4", + "request-promise": "^4.2.5", "sleep": "^6.1.0", - "wget": "^0.0.1", - "mongodb": "latest" + "wget": "^0.0.1" }, "scripts": { "prettier": "prettier --write \"{bot,.}/**/*.{js,json}\" --single-quote --print-width 240", @@ -26,8 +26,8 @@ "test": "prettier --write \"{bot,.}/**/*.{js,json}\" --single-quote --print-width 240 --list-different && npm audit && npm i" }, "devDependencies": { - "husky": "^3.0.7", - "prettier": "^1.18.2" + "husky": "^3.1.0", + "prettier": "^1.19.1" }, "name": "wunderbot-discord", "version": "1.0.5",