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) {
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() {

View file

@ -5,127 +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: '<desktop/android>',
description: 'gets current release notes from GitHub, for either Desktop or Android',
process: function(bot, msg, suffix) {
let releaseType = suffix.toLowerCase();
let releaseTypePost = null;
if (releaseType === 'android post' || 'desktop post') {
releaseTypePost = releaseType.charAt(0).toUpperCase() + releaseType.slice(1,7);
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' || '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]);
}
}
}
});
usage: '<desktop/android>',
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]);
}
}
}
});
}
};

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
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!'));
@ -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 LBRY-Curious role will be auto-added when you chose any of the available roles',
inline: false
}
],

View file

@ -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, ',');
}
}
});
}
};

View file

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

108
package-lock.json generated
View file

@ -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": {

View file

@ -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",