Merge pull request #287 from lbryio/Coolguy3289-changes

Changes and Fixes
This commit is contained in:
Ralph 2019-12-29 19:02:09 -05:00 committed by GitHub
commit 6a38806813
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 265 additions and 281 deletions

View file

@ -15,11 +15,11 @@ function init(discordBot_) {
if (discordBot) { if (discordBot) {
throw new Error('init was already called once'); throw new Error('init was already called once');
} }
discordBot = discordBot_; discordBot = discordBot_;
console.log('Activating claimbot'); console.log('Activating claimbot');
discordBot.channels.get(channels[0]).send('activating claimbot'); discordBot.channels.get(channels[0]).send('activating claimbot');
setInterval(announceClaims, 60 * 1000); setInterval(announceClaims, 60 * 1000);
announceClaims(); announceClaims();
} }
function announceClaims() { function announceClaims() {

View file

@ -5,127 +5,132 @@ let inPrivate = require('../helpers.js').inPrivate;
let ChannelID = config.get('gitrelease').channel; let ChannelID = config.get('gitrelease').channel;
exports.commands = [ 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 = { exports.releasenotes = {
usage: '<desktop/android>', usage: '<desktop/android>',
description: 'gets current release notes from GitHub, for either Desktop or Android', description: 'gets current release notes from GitHub, for either Desktop or Android',
process: function(bot, msg, suffix) { process: function(bot, msg, suffix) {
let releaseType = suffix.toLowerCase(); console.log('Suffix is: ' + suffix);
let releaseTypePost = null; let releaseType = suffix.toLowerCase();
if (releaseType === 'android post' || 'desktop post') { console.log('Release Type is ' + releaseType);
releaseTypePost = releaseType.charAt(0).toUpperCase() + releaseType.slice(1,7); let releaseTypePost = null;
console.log('Post message detected ' + releaseTypePost);
} if (releaseType === 'android post' || releaseType === 'desktop post') {
let releaseTypeName = releaseType.charAt(0).toUpperCase() + releaseType.slice(1); releaseTypePost = releaseType.charAt(0).toUpperCase() + releaseType.slice(1, 7);
if (releaseType !== 'android' && releaseType !== 'desktop' && releaseType !== 'android post' && releaseType !== 'desktop post') { console.log('ReleaseType is ' + releaseType);
msg.reply('Please specify which release notes to display: "desktop" or "android".'); console.log('ReleaseTypePost is ' + releaseTypePost);
return; console.log('Post message detected ' + releaseTypePost);
}
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' || '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]);
}
}
}
});
} }
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]);
}
}
}
});
}
}; };

View file

@ -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 // 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.'); 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 // 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 // Assuming all these factors succeed, add the role
msg.member.addRole(newrole).then(send(msg.member + ' has been added to the ' + newrole.name + ' 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 // 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!"); 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 // 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 // Assuming all these factors succeed, add the role
msg.member.removeRole(oldrole).then(send(msg.member + ' has been removed from the ' + oldrole.name + ' role!')); msg.member.removeRole(oldrole).then(send(msg.member + ' has been removed from the ' + oldrole.name + ' role!'));
@ -104,7 +104,7 @@ exports.roles = {
}, },
{ {
name: 'NOTE', 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 LBRY-Curious role will be auto-added when you chose any of the available roles',
inline: false inline: false
} }
], ],

View file

@ -1,52 +1,52 @@
let needle = require('needle'); let needle = require('needle');
let statsurl = 'https://www.coingecko.com/en/coins/lbry-credits'; let statsurl = 'https://www.coingecko.com/en/coins/lbry-credits';
exports.commands = [ 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 = { exports.stats = {
usage: '', usage: '',
description: 'Displays list of Current Market Statistics', description: 'Displays list of Current Market Statistics',
process: function(bot, msg) { 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) { 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) { if (error || response.statusCode !== 200) {
msg.channel.send('coingecko API is not available'); msg.channel.send('coingecko API is not available');
} else { } else {
// console.log(response); // console.log(response);
// console.log(response.body[0]); // console.log(response.body[0]);
let data = response.body[0]; let data = response.body[0];
let rank = data.market_cap_rank; let rank = data.market_cap_rank;
let price_btc = Number(data.current_price); let price_btc = Number(data.current_price);
let circulating_supply = Number(data.circulating_supply); let circulating_supply = Number(data.circulating_supply);
let total_supply = Number(data.total_supply); let total_supply = Number(data.total_supply);
let percent_change_1h = Number(data.price_change_percentage_1h_in_currency); 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 percent_change_24h = Number(data.price_change_percentage_24h_in_currency);
let dt = new Date(); let dt = new Date();
let timestamp = dt.toUTCString(); let timestamp = dt.toUTCString();
let hr_indicator = (percent_change_1h < 0) ? ':thumbsdown:' : ':thumbsup:'; let hr_indicator = percent_change_1h < 0 ? ':thumbsdown:' : ':thumbsup:';
let day_indicator = (percent_change_24h < 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) { 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) { if (error || response.statusCode !== 200) {
msg.channel.send('coingecko API is not available'); msg.channel.send('coingecko API is not available');
} else { } else {
data = response.body[0]; data = response.body[0];
let price_gbp = Number(data.current_price); 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) { 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) { if (error || response.statusCode !== 200) {
msg.channel.send('coingecko API is not available'); msg.channel.send('coingecko API is not available');
} else { } else {
data = response.body[0]; data = response.body[0];
let price_eur = Number(data.current_price); 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) { 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) { if (error || response.statusCode !== 200) {
msg.channel.send('coingecko API is not available'); msg.channel.send('coingecko API is not available');
} else { } else {
data = response.body[0]; data = response.body[0];
let price_usd = Number(data.current_price); let price_usd = Number(data.current_price);
let market_cap_usd = Number(data.market_cap); let market_cap_usd = Number(data.market_cap);
let volume24_usd = Number(data.total_volume); let volume24_usd = Number(data.total_volume);
let description = `**Rank: [${rank}](${statsurl})** let description = `**Rank: [${rank}](${statsurl})**
**Data** **Data**
Market Cap: [$${numberWithCommas(market_cap_usd)}](${statsurl}) Market Cap: [$${numberWithCommas(market_cap_usd)}](${statsurl})
Total Supply: [${numberWithCommas(total_supply)} LBC](${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 Hour: [${percent_change_1h.toFixed(2)}%](${statsurl}) ${hr_indicator}
1 Day: [${percent_change_24h.toFixed(2)}%](${statsurl}) ${day_indicator}`; 1 Day: [${percent_change_24h.toFixed(2)}%](${statsurl}) ${day_indicator}`;
const embed = { const embed = {
description: description, description: description,
color: 7976557, color: 7976557,
footer: { footer: {
text: 'Last Updated: ' + timestamp text: 'Last Updated: ' + timestamp
}, },
author: { author: {
name: 'Coin Gecko Stats (LBC)', name: 'Coin Gecko Stats (LBC)',
url: statsurl, url: statsurl,
icon_url: 'https://spee.ch/2/pinkylbryheart.png' icon_url: 'https://spee.ch/2/pinkylbryheart.png'
} }
}; };
msg.channel.send({embed}); msg.channel.send({ embed });
} }
});
}
});
}
}); });
}
});
}
});
function parse_obj(obj) { function parse_obj(obj) {
let array = []; let array = [];
let prop; let prop;
for (prop in obj) { for (prop in obj) {
if (obj.hasOwnProperty(prop)) { if (obj.hasOwnProperty(prop)) {
let key = parseInt(prop, 10); let key = parseInt(prop, 10);
let value = obj[prop]; let value = obj[prop];
if (typeof value == 'object') { if (typeof value == 'object') {
value = parse_obj(value); value = parse_obj(value);
} }
array[key] = value; array[key] = value;
}
}
return array;
}
function numberWithCommas(x) {
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
}
} }
}) }
} return array;
} }
function numberWithCommas(x) {
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
}
}
});
}
};

View file

@ -31,7 +31,7 @@
} }
} }
}, },
"!whitepaper": { "!whitepaper": {
"usage": "", "usage": "",
"description": "LBRY White Paper", "description": "LBRY White Paper",
"operation": "send", "operation": "send",

108
package-lock.json generated
View file

@ -292,7 +292,7 @@
}, },
"callsites": { "callsites": {
"version": "2.0.0", "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=", "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
"dev": true "dev": true
}, },
@ -436,9 +436,9 @@
"integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
}, },
"config": { "config": {
"version": "3.2.3", "version": "3.2.4",
"resolved": "https://registry.npmjs.org/config/-/config-3.2.3.tgz", "resolved": "https://registry.npmjs.org/config/-/config-3.2.4.tgz",
"integrity": "sha512-pditxQzO+SkKX/2gs99YnUGEjmBVkTj2o/hGOgC0oYEU7QgLnVVDYmcSL6HiGels/8QtFJpFzi5iKYv4D0dalg==", "integrity": "sha512-H1XIGfnU1EAkfjSLn9ZvYDRx9lOezDViuzLDgiJ/lMeqjYe3q6iQfpcLt2NInckJgpAeekbNhQkmnnbdEDs9rw==",
"requires": { "requires": {
"json5": "^1.0.1" "json5": "^1.0.1"
} }
@ -593,7 +593,7 @@
}, },
"enabled": { "enabled": {
"version": "1.0.2", "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=", "integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=",
"requires": { "requires": {
"env-variable": "0.0.x" "env-variable": "0.0.x"
@ -731,7 +731,7 @@
}, },
"fecha": { "fecha": {
"version": "2.3.3", "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==" "integrity": "sha512-lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg=="
}, },
"file-exists": { "file-exists": {
@ -879,20 +879,20 @@
} }
}, },
"husky": { "husky": {
"version": "3.0.8", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/husky/-/husky-3.0.8.tgz", "resolved": "https://registry.npmjs.org/husky/-/husky-3.1.0.tgz",
"integrity": "sha512-HFOsgcyrX3qe/rBuqyTt+P4Gxn5P0seJmr215LAZ/vnwK3jWB3r0ck7swbzGRUbufCf9w/lgHPVbF/YXQALgfQ==", "integrity": "sha512-FJkPoHHB+6s4a+jwPqBudBDvYZsoQW5/HBuMSehC8qDiCe50kpcxeqFoDSlow+9I6wg47YxBoT3WxaURlrDIIQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"chalk": "^2.4.2", "chalk": "^2.4.2",
"ci-info": "^2.0.0",
"cosmiconfig": "^5.2.1", "cosmiconfig": "^5.2.1",
"execa": "^1.0.0", "execa": "^1.0.0",
"get-stdin": "^7.0.0", "get-stdin": "^7.0.0",
"is-ci": "^2.0.0",
"opencollective-postinstall": "^2.0.2", "opencollective-postinstall": "^2.0.2",
"pkg-dir": "^4.2.0", "pkg-dir": "^4.2.0",
"please-upgrade-node": "^3.2.0", "please-upgrade-node": "^3.2.0",
"read-pkg": "^5.1.1", "read-pkg": "^5.2.0",
"run-node": "^1.0.0", "run-node": "^1.0.0",
"slash": "^3.0.0" "slash": "^3.0.0"
}, },
@ -921,14 +921,6 @@
"requires": { "requires": {
"caller-path": "^2.0.0", "caller-path": "^2.0.0",
"resolve-from": "^3.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": { "inherits": {
@ -977,15 +969,6 @@
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" "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": { "is-data-descriptor": {
"version": "0.1.4", "version": "0.1.4",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "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==" "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg=="
}, },
"mongodb": { "mongodb": {
"version": "3.4.0", "version": "3.4.1",
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.4.0.tgz", "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.4.1.tgz",
"integrity": "sha512-W90jm/n8F0Edm47ljkVRK9l8qGW9g8T9ZSiZWRiUP58wLhsCJCeN/JxdpVnH0CUwwAw2hITUcCo9x58udpX2Uw==", "integrity": "sha512-juqt5/Z42J4DcE7tG7UdVaTKmUC6zinF4yioPfpeOSNBieWSK6qCY+0tfGQcHLKrauWPDdMZVROHJOa8q2pWsA==",
"requires": { "requires": {
"bson": "^1.1.1", "bson": "^1.1.1",
"require_optional": "^1.0.1", "require_optional": "^1.0.1",
@ -1309,13 +1292,13 @@
} }
}, },
"mongoose": { "mongoose": {
"version": "5.8.1", "version": "5.8.3",
"resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.8.1.tgz", "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.8.3.tgz",
"integrity": "sha512-8Cffl52cMK2iBlpLipoRKW/RdrhkxvVzXsy+xVsfbKHQBCWkFiS0T0jU4smYzomTMP4gW0sReJoRA7Gu/7VVgQ==", "integrity": "sha512-WnO4WJ8eZ5Hgwp11Gl2dOxkWYJe8xV7oCqDV3ZbTA7j2q1prc0lPWAd9ZK5R6OhQlp55CleEZXqXUPrZnjSEDQ==",
"requires": { "requires": {
"bson": "~1.1.1", "bson": "~1.1.1",
"kareem": "2.3.1", "kareem": "2.3.1",
"mongodb": "3.3.5", "mongodb": "3.4.1",
"mongoose-legacy-pluralize": "1.0.2", "mongoose-legacy-pluralize": "1.0.2",
"mpath": "0.6.0", "mpath": "0.6.0",
"mquery": "3.2.2", "mquery": "3.2.2",
@ -1326,17 +1309,6 @@
"sliced": "1.0.1" "sliced": "1.0.1"
}, },
"dependencies": { "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": { "ms": {
"version": "2.1.2", "version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@ -1619,9 +1591,9 @@
"integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ="
}, },
"prettier": { "prettier": {
"version": "1.18.2", "version": "1.19.1",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz", "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz",
"integrity": "sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw==", "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==",
"dev": true "dev": true
}, },
"prism-media": { "prism-media": {
@ -1766,22 +1738,22 @@
} }
}, },
"request-promise": { "request-promise": {
"version": "4.2.4", "version": "4.2.5",
"resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.4.tgz", "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.5.tgz",
"integrity": "sha512-8wgMrvE546PzbR5WbYxUQogUnUDfM0S7QIFZMID+J73vdFARkFy+HElj4T+MWYhpXwlLp0EQ8Zoj8xUA0he4Vg==", "integrity": "sha512-ZgnepCykFdmpq86fKGwqntyTiUrHycALuGggpyCZwMvGaZWgxW6yagT0FHkgo5LzYvOaCNvxYwWYIjevSH1EDg==",
"requires": { "requires": {
"bluebird": "^3.5.0", "bluebird": "^3.5.0",
"request-promise-core": "1.1.2", "request-promise-core": "1.1.3",
"stealthy-require": "^1.1.1", "stealthy-require": "^1.1.1",
"tough-cookie": "^2.3.3" "tough-cookie": "^2.3.3"
} }
}, },
"request-promise-core": { "request-promise-core": {
"version": "1.1.2", "version": "1.1.3",
"resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz", "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz",
"integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==", "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==",
"requires": { "requires": {
"lodash": "^4.17.11" "lodash": "^4.17.15"
} }
}, },
"require_optional": { "require_optional": {
@ -1791,21 +1763,29 @@
"requires": { "requires": {
"resolve-from": "^2.0.0", "resolve-from": "^2.0.0",
"semver": "^5.1.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": { "resolve": {
"version": "1.12.0", "version": "1.14.1",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.14.1.tgz",
"integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", "integrity": "sha512-fn5Wobh4cxbLzuHaE+nphztHy43/b++4M6SsGFC2gB8uYwf0C8LcarfCz1un7UTW8OFQg9iNjZ4xpcFVGebDPg==",
"dev": true, "dev": true,
"requires": { "requires": {
"path-parse": "^1.0.6" "path-parse": "^1.0.6"
} }
}, },
"resolve-from": { "resolve-from": {
"version": "2.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
"integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=" "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
"dev": true
}, },
"resolve-url": { "resolve-url": {
"version": "0.2.1", "version": "0.2.1",
@ -2198,7 +2178,7 @@
}, },
"strip-eof": { "strip-eof": {
"version": "1.0.0", "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=" "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8="
}, },
"strip-json-comments": { "strip-json-comments": {

View file

@ -4,21 +4,21 @@
"bitcoin": "^3.0.1", "bitcoin": "^3.0.1",
"braces": "^2.3.1", "braces": "^2.3.1",
"chrono-node": "^1.3.11", "chrono-node": "^1.3.11",
"config": "^3.1.0", "config": "^3.2.4",
"discord-irc": "^2.8.0", "discord-irc": "^2.8.0",
"discord.js": "^11.5.1", "discord.js": "^11.5.1",
"file-exists": "^5.0.1", "file-exists": "^5.0.1",
"jsonfile": "^5.0.0", "jsonfile": "^5.0.0",
"jsonpath": "^1.0.1", "jsonpath": "^1.0.1",
"moment": "^2.24.0", "moment": "^2.24.0",
"mongoose": "^5.7.5", "mongodb": "^3.4.1",
"mongoose": "^5.8.3",
"needle": "^2.4.0", "needle": "^2.4.0",
"numeral": "^2.0.6", "numeral": "^2.0.6",
"request": "^2.88.0", "request": "^2.88.0",
"request-promise": "^4.2.4", "request-promise": "^4.2.5",
"sleep": "^6.1.0", "sleep": "^6.1.0",
"wget": "^0.0.1", "wget": "^0.0.1"
"mongodb": "latest"
}, },
"scripts": { "scripts": {
"prettier": "prettier --write \"{bot,.}/**/*.{js,json}\" --single-quote --print-width 240", "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" "test": "prettier --write \"{bot,.}/**/*.{js,json}\" --single-quote --print-width 240 --list-different && npm audit && npm i"
}, },
"devDependencies": { "devDependencies": {
"husky": "^3.0.7", "husky": "^3.1.0",
"prettier": "^1.18.2" "prettier": "^1.19.1"
}, },
"name": "wunderbot-discord", "name": "wunderbot-discord",
"version": "1.0.5", "version": "1.0.5",