w0bm IRC Bot changes

This commit is contained in:
noxy 2019-04-04 13:30:14 +02:00
parent fa3246b5da
commit 56a5bf8ba3
3 changed files with 57 additions and 252 deletions

View File

@ -64,7 +64,7 @@ p.run = function (o) {
client.say(o.to, o.args + " has " + (fuckyoujs * 100).toFixed(2) + "% adhs"); client.say(o.to, o.args + " has " + (fuckyoujs * 100).toFixed(2) + "% adhs");
return true; return true;
case ".level": case ".level":
client.say(o.to, o.from + " dein level: " + userLevelNames[level]); client.say(o.to, o.from + " your level: " + userLevelNames[level]);
return true; return true;
case ".reboot": case ".reboot":
if (level < getLevel("admin") || o.args != "yourself") { if (level < getLevel("admin") || o.args != "yourself") {
@ -76,16 +76,16 @@ p.run = function (o) {
return true; return true;
case ".reg": case ".reg":
if (level < getLevel("admin")) { if (level < getLevel("admin")) {
client.say(o.to, o.from + ": dein level: " + userLevelNames[level] + ", benötigtes level: admin"); client.say(o.to, o.from + ": your level: " + userLevelNames[level] + ", needed level: admin");
return true; return true;
} }
if (!~["open", "close"].indexOf(o.args)) { if (!~["open", "close"].indexOf(o.args)) {
client.say(o.to, "momentane befehle: open und close"); client.say(o.to, "momentane befehle: open und close");
return true; return true;
} }
client.say(o.to, "kleinen moment bitte"); client.say(o.to, "Your word is my command");
exec("/bin/bash /var/www/w0bm.com/resources/views/"+o.args+".sh", (err, sout, serr)=>{ exec("/bin/bash /home/sirx/web/w0bm.com/resources/views/"+o.args+".sh", (err, sout, serr)=>{
client.say(o.to, "registrierung erfolgreich " + (o.args == "open" ? "geöffnet" : "geschlossen")); client.say(o.to, "Registration successfully " + (o.args == "open" ? "opened you can now register your account at https://w0bm.com/register" : "closed"));
}); });
break; break;
case ".status": case ".status":

View File

@ -6,7 +6,7 @@ Raven.config(config.sentry).install();
const Irc = require("irc"); const Irc = require("irc");
const Mysql = require("mysql"); const Mysql = require("mysql");
require('dotenv').config({path: '/var/www/w0bm.com/.env'}); require('dotenv').config({path: '/home/sirx/web/w0bm.com/.env'});
let db = Mysql.createPool({ let db = Mysql.createPool({
host: process.env.DB_HOST, host: process.env.DB_HOST,
@ -46,7 +46,7 @@ irc.client = new Irc.Client(config.servers.n0xy.host, config.servers.n0xy.nick,
userName: config.servers.n0xy.userName, userName: config.servers.n0xy.userName,
realName: config.servers.n0xy.realName, realName: config.servers.n0xy.realName,
debug: false, debug: false,
selfSigned: false, selfSigned: true,
debugRaw: false, debugRaw: false,
autoConnect: false, autoConnect: false,
password: config.servers.n0xy.srvPassword password: config.servers.n0xy.srvPassword
@ -84,8 +84,9 @@ process.nextTick(()=>irc.client.connect());
const handleChatCommands = require("./chatCommands")(irc, db); const handleChatCommands = require("./chatCommands")(irc, db);
const shiftRegex = /^(\.?\w+:?)\s+(.+)/; const shiftRegex = /^(\.?\w+:?)\s+(.+)/;
const w0bmregex = /(?:[^\/]|^|\/\/)w0bm\.com\/(?:\w+\/){0,3}([^ '\/@`´]+\.(webm)|\d+)/i; //const w0bmregex = /(?:[^\/]|^|\/\/)w0bm\.com\/(?:\w+\/){0,3}([^ '\/@`´]+\.(webm)|\d+)/i;
//const w0bmregex = /(?:[^\/]|^|\/\/)(?:b\.)?w0bm\.com\/(?:\w+\/){0,3}([^ '\/@`´]+\.(webm)|\d+)/i;
const w0bmregex = /(?:\b(\w+)\.)?\bw0bm\.com\/(?:\w+\/){0,3}([^ '\/@`´]+\.(webm)|\d+)/i;
const capsmsg = [ const capsmsg = [
"Captain capslock did not approve this!", "Captain capslock did not approve this!",
"CAPS", "CAPS",
@ -148,25 +149,25 @@ irc.client.addListener("message", (from, to, message, raw) => {
return; return;
}*/ }*/
if (/pr0gramm\.com/.test(message) && to == "#w0bm") { /*if (/pr0gramm\.com/.test(message) && to == "#w0bm") {
client.say(to, pr0text[Math.random()*pr0text.length|0]); client.say(to, pr0text[Math.random()*pr0text.length|0]);
return; return;
} }*/
/* if (message.toUpperCase() == message && message.trim().split("").filter(c=>/[A-Z]/.test(c)).length > 5) { /* if (message.toUpperCase() == message && message.trim().split("").filter(c=>/[A-Z]/.test(c)).length > 5) {
client.say(to, capsmsg[Math.random()*capsmsg.length|0]); client.say(to, capsmsg[Math.random()*capsmsg.length|0]);
} }
*/ */
if (w0bmregex.test(message)) { if (w0bmregex.test(message)) {
var link = message.match(w0bmregex); var link = message.match(w0bmregex);
if (link) { if (link) {
var id = link[1]; var id = link[2];
if (id.length > 20) { if (id.length > 20) {
client.say(to, "fuck you"); client.say(to, "fuck you");
return; return;
} }
var webm = link[2]; var webm = link[3];
db.getConnection((err, con) => { db.getConnection((err, con) => {
if (err) { if (err) {
client.say(to, "sorry.. there seems to be a database problem right now D:"); client.say(to, "sorry.. there seems to be a database problem right now D:");
@ -174,7 +175,7 @@ irc.client.addListener("message", (from, to, message, raw) => {
return; return;
} }
con.query( con.query(
"select v.id, v.deleted_at, u.username, c.name as category, v.interpret, v.songtitle, v.imgsource,"+ "select v.id, v.deleted_at, u.username, c.name as category, v.videotitle, v.interpret, v.songtitle, v.imgsource,"+
" (select 1 from taggable_taggables t where t.taggable_id = v.id and t.tag_id = 1) as sfw,"+ " (select 1 from taggable_taggables t where t.taggable_id = v.id and t.tag_id = 1) as sfw,"+
" (select count(cm.id) from comments cm where cm.video_id = v.id and cm.deleted_at is NULL) as comments"+ " (select count(cm.id) from comments cm where cm.video_id = v.id and cm.deleted_at is NULL) as comments"+
" from videos v, users u, categories c where v.user_id = u.id and v.category_id = c.id"+ " from videos v, users u, categories c where v.user_id = u.id and v.category_id = c.id"+
@ -195,10 +196,10 @@ irc.client.addListener("message", (from, to, message, raw) => {
if (vid.deleted_at) txt.push("\x02gelöscht\x0f"); if (vid.deleted_at) txt.push("\x02gelöscht\x0f");
if (webm) txt.push("Link: \x02https://w0bm.com/" + vid.id + "\x0f"); if (webm) txt.push("Link: \x02https://w0bm.com/" + vid.id + "\x0f");
txt.push(vid["sfw"] ? "\x039SFW\x0f" : "\x034NSFW\x0f"); txt.push(vid["sfw"] ? "\x039SFW\x0f" : "\x034NSFW\x0f");
["interpret", "songtitle", "category", "username", "comments"].forEach((v, i) => { ["videotitle", "interpret", "songtitle", "category", "username", "comments"].forEach((v, i) => {
if (vid[v]) { if (vid[v]) {
txt.push( txt.push(
["Artist", "Title", "Category", "Uploader", "Comments"][i] + ": " ["Video Title", "Artist", "Song Title", "Category", "Uploader", "Comments"][i] + ": "
+"\x02" + vid[v] + "\x0f" +"\x02" + vid[v] + "\x0f"
); );
} }
@ -213,10 +214,10 @@ irc.client.addListener("message", (from, to, message, raw) => {
} }
} }
if (~haitext.indexOf(message.toLowerCase())) { /*if (~haitext.indexOf(message.toLowerCase())) {
client.say(to, haitext[Math.random()*haitext.length|0] + " " + from + "!"); client.say(to, haitext[Math.random()*haitext.length|0] + " " + from + "!");
return; return;
} }*/
if (/^!d$/.test(message)) { if (/^!d$/.test(message)) {
client.say(to, from + ": the magic dice shows " + ((Math.random()*6|0)+1) + " eyes."); client.say(to, from + ": the magic dice shows " + ((Math.random()*6|0)+1) + " eyes.");

270
package-lock.json generated
View File

@ -2,19 +2,12 @@
"name": "w0bmircbot", "name": "w0bmircbot",
"version": "1.0.0", "version": "1.0.0",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true,
"dependencies": { "dependencies": {
"ajv": { "ajv": {
"version": "5.5.2", "version": "5.5.2",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
"dev": true, "dev": true
"requires": {
"co": "4.6.0",
"fast-deep-equal": "1.1.0",
"fast-json-stable-stringify": "2.0.0",
"json-schema-traverse": "0.3.1"
}
}, },
"asn1": { "asn1": {
"version": "0.2.3", "version": "0.2.3",
@ -51,10 +44,7 @@
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
"integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
"dev": true, "dev": true,
"optional": true, "optional": true
"requires": {
"tweetnacl": "0.14.5"
}
}, },
"bignumber.js": { "bignumber.js": {
"version": "4.0.4", "version": "4.0.4",
@ -72,10 +62,7 @@
"version": "4.3.1", "version": "4.3.1",
"resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz",
"integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=",
"dev": true, "dev": true
"requires": {
"hoek": "4.2.1"
}
}, },
"caseless": { "caseless": {
"version": "0.12.0", "version": "0.12.0",
@ -93,14 +80,7 @@
"version": "0.19.0", "version": "0.19.0",
"resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.19.0.tgz", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.19.0.tgz",
"integrity": "sha1-dy5wFfLuKZZQltcepBdbdas1SSU=", "integrity": "sha1-dy5wFfLuKZZQltcepBdbdas1SSU=",
"dev": true, "dev": true
"requires": {
"css-select": "1.0.0",
"dom-serializer": "0.1.0",
"entities": "1.1.1",
"htmlparser2": "3.8.3",
"lodash": "3.10.1"
}
}, },
"co": { "co": {
"version": "4.6.0", "version": "4.6.0",
@ -112,10 +92,7 @@
"version": "1.0.6", "version": "1.0.6",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
"integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
"dev": true, "dev": true
"requires": {
"delayed-stream": "1.0.0"
}
}, },
"cookie": { "cookie": {
"version": "0.3.1", "version": "0.3.1",
@ -140,18 +117,12 @@
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz",
"integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=",
"dev": true, "dev": true,
"requires": {
"boom": "5.2.0"
},
"dependencies": { "dependencies": {
"boom": { "boom": {
"version": "5.2.0", "version": "5.2.0",
"resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz",
"integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==",
"dev": true, "dev": true
"requires": {
"hoek": "4.2.1"
}
} }
} }
}, },
@ -159,13 +130,7 @@
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/css-select/-/css-select-1.0.0.tgz", "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.0.0.tgz",
"integrity": "sha1-sRIcpRhI3SZOIkTQWM7iVN7rRLA=", "integrity": "sha1-sRIcpRhI3SZOIkTQWM7iVN7rRLA=",
"dev": true, "dev": true
"requires": {
"boolbase": "1.0.0",
"css-what": "1.0.0",
"domutils": "1.4.3",
"nth-check": "1.0.1"
}
}, },
"css-what": { "css-what": {
"version": "1.0.0", "version": "1.0.0",
@ -177,10 +142,7 @@
"version": "1.14.1", "version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
"dev": true, "dev": true
"requires": {
"assert-plus": "1.0.0"
}
}, },
"delayed-stream": { "delayed-stream": {
"version": "1.0.0", "version": "1.0.0",
@ -193,10 +155,6 @@
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
"integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
"dev": true, "dev": true,
"requires": {
"domelementtype": "1.1.3",
"entities": "1.1.1"
},
"dependencies": { "dependencies": {
"domelementtype": { "domelementtype": {
"version": "1.1.3", "version": "1.1.3",
@ -216,19 +174,13 @@
"version": "2.3.0", "version": "2.3.0",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz",
"integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=",
"dev": true, "dev": true
"requires": {
"domelementtype": "1.3.0"
}
}, },
"domutils": { "domutils": {
"version": "1.4.3", "version": "1.4.3",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.4.3.tgz", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.4.3.tgz",
"integrity": "sha1-CGVRN5bGswYDGFDhdVFrr4C3Km8=", "integrity": "sha1-CGVRN5bGswYDGFDhdVFrr4C3Km8=",
"dev": true, "dev": true
"requires": {
"domelementtype": "1.3.0"
}
}, },
"dotenv": { "dotenv": {
"version": "5.0.1", "version": "5.0.1",
@ -241,10 +193,7 @@
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
"integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
"dev": true, "dev": true,
"optional": true, "optional": true
"requires": {
"jsbn": "0.1.1"
}
}, },
"entities": { "entities": {
"version": "1.1.1", "version": "1.1.1",
@ -286,31 +235,19 @@
"version": "2.3.2", "version": "2.3.2",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz",
"integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
"dev": true, "dev": true
"requires": {
"asynckit": "0.4.0",
"combined-stream": "1.0.6",
"mime-types": "2.1.18"
}
}, },
"getpass": { "getpass": {
"version": "0.1.7", "version": "0.1.7",
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
"dev": true, "dev": true
"requires": {
"assert-plus": "1.0.0"
}
}, },
"google": { "google": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/google/-/google-2.1.0.tgz", "resolved": "https://registry.npmjs.org/google/-/google-2.1.0.tgz",
"integrity": "sha1-Edl8m1QvoqxMOlDLzZwUyC9qgQE=", "integrity": "sha1-Edl8m1QvoqxMOlDLzZwUyC9qgQE=",
"dev": true, "dev": true
"requires": {
"cheerio": "0.19.0",
"request": "2.85.0"
}
}, },
"har-schema": { "har-schema": {
"version": "2.0.0", "version": "2.0.0",
@ -322,23 +259,13 @@
"version": "5.0.3", "version": "5.0.3",
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz",
"integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=",
"dev": true, "dev": true
"requires": {
"ajv": "5.5.2",
"har-schema": "2.0.0"
}
}, },
"hawk": { "hawk": {
"version": "6.0.2", "version": "6.0.2",
"resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz",
"integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==",
"dev": true, "dev": true
"requires": {
"boom": "4.3.1",
"cryptiles": "3.1.2",
"hoek": "4.2.1",
"sntp": "2.1.0"
}
}, },
"hoek": { "hoek": {
"version": "4.2.1", "version": "4.2.1",
@ -351,23 +278,12 @@
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz",
"integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=",
"dev": true, "dev": true,
"requires": {
"domelementtype": "1.3.0",
"domhandler": "2.3.0",
"domutils": "1.5.1",
"entities": "1.0.0",
"readable-stream": "1.1.14"
},
"dependencies": { "dependencies": {
"domutils": { "domutils": {
"version": "1.5.1", "version": "1.5.1",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
"integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
"dev": true, "dev": true
"requires": {
"dom-serializer": "0.1.0",
"domelementtype": "1.3.0"
}
}, },
"entities": { "entities": {
"version": "1.0.0", "version": "1.0.0",
@ -381,22 +297,14 @@
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
"dev": true, "dev": true
"requires": {
"assert-plus": "1.0.0",
"jsprim": "1.4.1",
"sshpk": "1.14.1"
}
}, },
"iconv": { "iconv": {
"version": "2.2.3", "version": "2.2.3",
"resolved": "https://registry.npmjs.org/iconv/-/iconv-2.2.3.tgz", "resolved": "https://registry.npmjs.org/iconv/-/iconv-2.2.3.tgz",
"integrity": "sha1-4ITWDut9c9p/CpwJbkyKvgkL+u0=", "integrity": "sha1-4ITWDut9c9p/CpwJbkyKvgkL+u0=",
"dev": true, "dev": true,
"optional": true, "optional": true
"requires": {
"nan": "2.9.2"
}
}, },
"inherits": { "inherits": {
"version": "2.0.3", "version": "2.0.3",
@ -408,12 +316,7 @@
"version": "0.5.2", "version": "0.5.2",
"resolved": "https://registry.npmjs.org/irc/-/irc-0.5.2.tgz", "resolved": "https://registry.npmjs.org/irc/-/irc-0.5.2.tgz",
"integrity": "sha1-NxT0doNlqW0LL3dryRFmvrJGS7w=", "integrity": "sha1-NxT0doNlqW0LL3dryRFmvrJGS7w=",
"dev": true, "dev": true
"requires": {
"iconv": "2.2.3",
"irc-colors": "1.4.2",
"node-icu-charset-detector": "0.2.0"
}
}, },
"irc-colors": { "irc-colors": {
"version": "1.4.2", "version": "1.4.2",
@ -474,13 +377,7 @@
"version": "1.4.1", "version": "1.4.1",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
"dev": true, "dev": true
"requires": {
"assert-plus": "1.0.0",
"extsprintf": "1.3.0",
"json-schema": "0.2.3",
"verror": "1.10.0"
}
}, },
"lodash": { "lodash": {
"version": "3.10.1", "version": "3.10.1",
@ -492,12 +389,7 @@
"version": "2.2.1", "version": "2.2.1",
"resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz",
"integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=", "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=",
"dev": true, "dev": true
"requires": {
"charenc": "0.0.2",
"crypt": "0.0.2",
"is-buffer": "1.1.6"
}
}, },
"mime-db": { "mime-db": {
"version": "1.33.0", "version": "1.33.0",
@ -509,22 +401,13 @@
"version": "2.1.18", "version": "2.1.18",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
"integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
"dev": true, "dev": true
"requires": {
"mime-db": "1.33.0"
}
}, },
"mysql": { "mysql": {
"version": "2.15.0", "version": "2.15.0",
"resolved": "https://registry.npmjs.org/mysql/-/mysql-2.15.0.tgz", "resolved": "https://registry.npmjs.org/mysql/-/mysql-2.15.0.tgz",
"integrity": "sha512-C7tjzWtbN5nzkLIV+E8Crnl9bFyc7d3XJcBAvHKEVkjrYjogz3llo22q6s/hw+UcsE4/844pDob9ac+3dVjQSA==", "integrity": "sha512-C7tjzWtbN5nzkLIV+E8Crnl9bFyc7d3XJcBAvHKEVkjrYjogz3llo22q6s/hw+UcsE4/844pDob9ac+3dVjQSA==",
"dev": true, "dev": true,
"requires": {
"bignumber.js": "4.0.4",
"readable-stream": "2.3.3",
"safe-buffer": "5.1.1",
"sqlstring": "2.3.0"
},
"dependencies": { "dependencies": {
"isarray": { "isarray": {
"version": "1.0.0", "version": "1.0.0",
@ -536,25 +419,13 @@
"version": "2.3.3", "version": "2.3.3",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
"integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==",
"dev": true, "dev": true
"requires": {
"core-util-is": "1.0.2",
"inherits": "2.0.3",
"isarray": "1.0.0",
"process-nextick-args": "1.0.7",
"safe-buffer": "5.1.1",
"string_decoder": "1.0.3",
"util-deprecate": "1.0.2"
}
}, },
"string_decoder": { "string_decoder": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
"integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
"dev": true, "dev": true
"requires": {
"safe-buffer": "5.1.1"
}
} }
} }
}, },
@ -570,19 +441,13 @@
"resolved": "https://registry.npmjs.org/node-icu-charset-detector/-/node-icu-charset-detector-0.2.0.tgz", "resolved": "https://registry.npmjs.org/node-icu-charset-detector/-/node-icu-charset-detector-0.2.0.tgz",
"integrity": "sha1-wjINo3Tdy2cfxUy0oOBB4Vb/1jk=", "integrity": "sha1-wjINo3Tdy2cfxUy0oOBB4Vb/1jk=",
"dev": true, "dev": true,
"optional": true, "optional": true
"requires": {
"nan": "2.9.2"
}
}, },
"nth-check": { "nth-check": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz",
"integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=",
"dev": true, "dev": true
"requires": {
"boolbase": "1.0.0"
}
}, },
"oauth-sign": { "oauth-sign": {
"version": "0.8.2", "version": "0.8.2",
@ -619,13 +484,6 @@
"resolved": "https://registry.npmjs.org/raven/-/raven-2.4.2.tgz", "resolved": "https://registry.npmjs.org/raven/-/raven-2.4.2.tgz",
"integrity": "sha1-ASnircMHiGRv1TC2fQioziXU9tw=", "integrity": "sha1-ASnircMHiGRv1TC2fQioziXU9tw=",
"dev": true, "dev": true,
"requires": {
"cookie": "0.3.1",
"md5": "2.2.1",
"stack-trace": "0.0.9",
"timed-out": "4.0.1",
"uuid": "3.0.0"
},
"dependencies": { "dependencies": {
"uuid": { "uuid": {
"version": "3.0.0", "version": "3.0.0",
@ -639,43 +497,13 @@
"version": "1.1.14", "version": "1.1.14",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"dev": true, "dev": true
"requires": {
"core-util-is": "1.0.2",
"inherits": "2.0.3",
"isarray": "0.0.1",
"string_decoder": "0.10.31"
}
}, },
"request": { "request": {
"version": "2.85.0", "version": "2.85.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.85.0.tgz", "resolved": "https://registry.npmjs.org/request/-/request-2.85.0.tgz",
"integrity": "sha512-8H7Ehijd4js+s6wuVPLjwORxD4zeuyjYugprdOXlPSqaApmL/QOy+EB/beICHVCHkGMKNh5rvihb5ov+IDw4mg==", "integrity": "sha512-8H7Ehijd4js+s6wuVPLjwORxD4zeuyjYugprdOXlPSqaApmL/QOy+EB/beICHVCHkGMKNh5rvihb5ov+IDw4mg==",
"dev": true, "dev": true
"requires": {
"aws-sign2": "0.7.0",
"aws4": "1.6.0",
"caseless": "0.12.0",
"combined-stream": "1.0.6",
"extend": "3.0.1",
"forever-agent": "0.6.1",
"form-data": "2.3.2",
"har-validator": "5.0.3",
"hawk": "6.0.2",
"http-signature": "1.2.0",
"is-typedarray": "1.0.0",
"isstream": "0.1.2",
"json-stringify-safe": "5.0.1",
"mime-types": "2.1.18",
"oauth-sign": "0.8.2",
"performance-now": "2.1.0",
"qs": "6.5.1",
"safe-buffer": "5.1.1",
"stringstream": "0.0.5",
"tough-cookie": "2.3.4",
"tunnel-agent": "0.6.0",
"uuid": "3.2.1"
}
}, },
"safe-buffer": { "safe-buffer": {
"version": "5.1.1", "version": "5.1.1",
@ -693,10 +521,7 @@
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz",
"integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==",
"dev": true, "dev": true
"requires": {
"hoek": "4.2.1"
}
}, },
"sqlstring": { "sqlstring": {
"version": "2.3.0", "version": "2.3.0",
@ -708,17 +533,7 @@
"version": "1.14.1", "version": "1.14.1",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz",
"integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=", "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=",
"dev": true, "dev": true
"requires": {
"asn1": "0.2.3",
"assert-plus": "1.0.0",
"bcrypt-pbkdf": "1.0.1",
"dashdash": "1.14.1",
"ecc-jsbn": "0.1.1",
"getpass": "0.1.7",
"jsbn": "0.1.1",
"tweetnacl": "0.14.5"
}
}, },
"stack-trace": { "stack-trace": {
"version": "0.0.9", "version": "0.0.9",
@ -733,9 +548,9 @@
"dev": true "dev": true
}, },
"stringstream": { "stringstream": {
"version": "0.0.5", "version": "0.0.6",
"resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz",
"integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==",
"dev": true "dev": true
}, },
"timed-out": { "timed-out": {
@ -748,19 +563,13 @@
"version": "2.3.4", "version": "2.3.4",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
"integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
"dev": true, "dev": true
"requires": {
"punycode": "1.4.1"
}
}, },
"tunnel-agent": { "tunnel-agent": {
"version": "0.6.0", "version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
"dev": true, "dev": true
"requires": {
"safe-buffer": "5.1.1"
}
}, },
"tweetnacl": { "tweetnacl": {
"version": "0.14.5", "version": "0.14.5",
@ -785,12 +594,7 @@
"version": "1.10.0", "version": "1.10.0",
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
"dev": true, "dev": true
"requires": {
"assert-plus": "1.0.0",
"core-util-is": "1.0.2",
"extsprintf": "1.3.0"
}
} }
} }
} }