- [Misc] Edit ESLint config
- [Misc] Update config - [HQ] Minor Client modifications - [Dependencies] Add canvas, discord.js, jsonwebtoken - [Misc] Update package version - [Misc] Add fonts - [HQ] Delete hq-checklives - [CrowdSource] Add crowd client - [Utils] Add image generation - [Utils] Add google - [Utils] Add get tokens
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
"no-console": 0,
|
||||
"no-restricted-syntax": 0,
|
||||
"no-await-in-loop": 0,
|
||||
"no-param-reassign": 0
|
||||
"no-param-reassign": 0,
|
||||
"no-shadow": 0
|
||||
}
|
||||
}
|
||||
77
config.json
77
config.json
@@ -1,3 +1,78 @@
|
||||
{
|
||||
"catchall": "spotimail.com"
|
||||
"discord": {
|
||||
"token": "NTc3OTM5NjA1NjA1ODQyOTQ2.XNsW6Q.px9rRxM4wY7838PSDQWa6ni1m3Q",
|
||||
"prefix": ".",
|
||||
"activity": "v{VERSION}",
|
||||
"defaultTokenSet": "bots.json",
|
||||
"admins": ["471344177045569546", "448294491032518666"],
|
||||
"channels": {
|
||||
"hq-trivia": "568926468290248734",
|
||||
"hq-words": "568926468290248734",
|
||||
"confetti": "568927056172285981"
|
||||
}
|
||||
},
|
||||
"crowdsource": {
|
||||
"userToken": "NTQxNjYyNjgyODM1ODQ1MTIw.D0Y3TA.xnJuTkmYwI7ckwCkhGbkcMHsgR8",
|
||||
"keywords": [
|
||||
{ "keyword": "{num}", "weight": 5 },
|
||||
{ "keyword": "{num}{num}", "weight": 5 },
|
||||
{ "keyword": "def {num}", "weight": 6 },
|
||||
{ "keyword": "its {num}", "weight": 6 },
|
||||
{ "keyword": "{num} apg", "weight": 6 },
|
||||
{ "keyword": "{num} apb", "weight": 6 },
|
||||
{ "keyword": "{num} apddg", "weight": 6 },
|
||||
{ "keyword": "conf {num}", "weight": 6 },
|
||||
{ "keyword": "{num}?", "weight": 3 },
|
||||
{ "keyword": "{num}/", "weight": 3 },
|
||||
{ "keyword": "w{num}", "weight": 1 },
|
||||
{ "keyword": "?{num}", "weight": 3 },
|
||||
{ "keyword": "not {num}", "weight": -6 },
|
||||
{ "keyword": "n{num}", "weight": -6 },
|
||||
{ "keyword": "ban {num}", "weight": -6 },
|
||||
{ "keyword": "not {num}?", "weight": -3 },
|
||||
{ "keyword": "n{num}?", "weight": -3 }
|
||||
],
|
||||
"channels": {
|
||||
"hq": [
|
||||
{ "id": "568926468290248734", "weight": 4, "name": "HUB" },
|
||||
{ "id": "459842150323060736", "weight": 2, "name": "Trivia Dimension" },
|
||||
{ "id": "525131707410677761", "weight": 3, "name": "Trivia Tribe" },
|
||||
{ "id": "513818250652680213", "weight": 2, "name": "Trivia World" },
|
||||
{ "id": "523359669280833536", "weight": 2, "name": "Trivia Games Live" },
|
||||
{ "id": "535628205139296256", "weight": 2, "name": "Trivia Nation" },
|
||||
{ "id": "568617830258442255", "weight": 2, "name": "Trivia Revolution" },
|
||||
{ "id": "566622019232202758", "weight": 2, "name": "Galaxy United Nation" }
|
||||
],
|
||||
"confetti": [
|
||||
{ "id": "568927056172285981", "weight": 4, "name": "HUB" },
|
||||
{ "id": "523359734406053889", "weight": 2, "name": "Trivia Games Live" },
|
||||
{ "id": "529487355804123176", "weight": 3, "name": "Trivia Tribe" },
|
||||
{ "id": "514915010955313153", "weight": 2, "name": "Trivia World" },
|
||||
{ "id": "535628245371060234", "weight": 1, "name": "Trivia Nation" }
|
||||
],
|
||||
"loco": [
|
||||
{ "id": "570155872861290519", "weight": 2, "name": "Study IQ" },
|
||||
{ "id": "566621341478944778", "weight": 3, "name": "Galaxy United Nation" },
|
||||
{ "id": "571684755016515584", "weight": 3, "name": "Galaxy United Nation Private" }
|
||||
]
|
||||
}
|
||||
},
|
||||
"google": {
|
||||
"id": "006883007914406821508:5viuurulssa",
|
||||
"key": "AIzaSyDOb7WFUKrJdPKvWHurpOuU2hqaCAclzfs",
|
||||
"negations": [
|
||||
"neither",
|
||||
"not",
|
||||
"fewest",
|
||||
"hasnt",
|
||||
"isnt",
|
||||
"least",
|
||||
"never",
|
||||
"wont",
|
||||
"shortest",
|
||||
"won't",
|
||||
"isn't",
|
||||
"hasn't"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,15 +1,18 @@
|
||||
{
|
||||
"name": "emu",
|
||||
"version": "1.0.0",
|
||||
"version": "0.0.3",
|
||||
"main": "src/index.js",
|
||||
"repository": "https://github.com/vilP1l/emu",
|
||||
"author": "vilP1L <vilP1l@github.com>",
|
||||
"license": "MIT",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"canvas": "^2.5.0",
|
||||
"colors": "^1.3.3",
|
||||
"discord.js": "https://github.com/discordjs/discord.js",
|
||||
"enquirer": "^2.3.0",
|
||||
"faker": "^4.1.0",
|
||||
"jsonwebtoken": "^8.5.1",
|
||||
"request": "^2.88.0",
|
||||
"ws": "^7.0.0"
|
||||
},
|
||||
|
||||
@@ -7,13 +7,14 @@ import faker from 'faker';
|
||||
request.promise = promisify(request);
|
||||
|
||||
export default class Client {
|
||||
constructor(loginToken, index) {
|
||||
if (!loginToken) throw new Error('No login token was provided.');
|
||||
constructor({ accessToken, loginToken }, index) {
|
||||
if (!accessToken || !loginToken) throw new Error('Insufficient account credentials provided.');
|
||||
this.index = index || 0;
|
||||
if (index === 0 || !index) this.master = true;
|
||||
this.accessToken = accessToken;
|
||||
this.loginToken = loginToken;
|
||||
this.headers = {
|
||||
'x-hq-client': 'Android/1.28.2',
|
||||
'x-hq-client': 'Android/1.33.0',
|
||||
'user-agent': 'okhttp/3.8.0',
|
||||
'x-hq-lang': 'en',
|
||||
'x-hq-country': 'US',
|
||||
@@ -76,7 +77,7 @@ export default class Client {
|
||||
const i = setInterval(() => {
|
||||
if (this.ws.readyState !== this.ws.OPEN) return clearInterval(i);
|
||||
this.ws.ping();
|
||||
if (this.debug) console.log(`${` Client ${this.index} `.bgBlue.black}${' PING '.bgGreen.black}`);
|
||||
if (this.debug) console.log(`${` Client ${this.index} [DEBUG] `.bgBlue.black}${' PING '.bgGreen.black}`);
|
||||
return true;
|
||||
}, 5000);
|
||||
this.subscribe();
|
||||
@@ -88,6 +89,10 @@ export default class Client {
|
||||
return true;
|
||||
}
|
||||
|
||||
disconnect() {
|
||||
this.ws.close();
|
||||
}
|
||||
|
||||
subscribe() {
|
||||
if (!this.ws || this.ws.readyState !== this.ws.OPEN) throw new Error('No WebSocket connection is active.');
|
||||
this.ws.send(JSON.stringify({
|
||||
@@ -129,7 +134,10 @@ export default class Client {
|
||||
submitAnswer(index) {
|
||||
if (!this.inTheGame) return;
|
||||
if (!this.ws || this.ws.readyState !== this.ws.OPEN) throw new Error('No WebSocket connection is active.');
|
||||
if (index > 2 || index < 0) return;
|
||||
if (index > 2 || index < 0) {
|
||||
if (this.debug) console.log(`${` Client ${this.index} [DEBUG] `.bgBlue.black}${' Invalid index given to submitAnswer. '.bgRed.black}`);
|
||||
return;
|
||||
}
|
||||
const { answerId } = this.answers[index];
|
||||
if (!answerId) return;
|
||||
this.ws.send(JSON.stringify({
|
||||
@@ -183,4 +191,9 @@ export default class Client {
|
||||
if (this.logging) console.log(`${` Client ${this.index} `.bgBlue.black}${` Successfully cashed out to ${this.email}! `.bgGreen.black}`);
|
||||
return true;
|
||||
}
|
||||
|
||||
async getUserData() {
|
||||
const { body } = await request.promise('https://api-quiz.hype.space/users/me', { headers: this.headers });
|
||||
return JSON.parse(body);
|
||||
}
|
||||
}
|
||||
|
||||
30
src/classes/CrowdClient.js
Normal file
30
src/classes/CrowdClient.js
Normal file
@@ -0,0 +1,30 @@
|
||||
import { Client } from 'discord.js';
|
||||
import { crowdsource } from '../../config';
|
||||
|
||||
export default class CrowdClient extends Client {
|
||||
constructor(options, client) {
|
||||
super(options);
|
||||
this.client = client;
|
||||
this.login(options.token);
|
||||
this.on('message', (msg) => {
|
||||
const games = Object.keys(crowdsource.channels);
|
||||
games.forEach((g) => {
|
||||
const channels = crowdsource.channels[g].map(c => c.id);
|
||||
const weights = crowdsource.channels[g].map(c => c.weight);
|
||||
if (channels.includes(msg.channel.id)) {
|
||||
if (msg.content.match(/[1-3]/g)) {
|
||||
const weight = weights[channels.indexOf(msg.channel.id)];
|
||||
let m;
|
||||
m = msg.content.toLowerCase();
|
||||
m = m.split(' ').join('');
|
||||
crowdsource.keywords.forEach((k) => {
|
||||
k.keywordNum = k.keyword.replace(/{num}/g, m.match(/[1-3]/g)[0]);
|
||||
k.keywordNum = k.keywordNum.split(' ').join('');
|
||||
if (m === k.keywordNum) client.weights[g][m.match(/[1-3]/g)[0] - 1] += k.weight * weight;
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
BIN
src/fonts/CircularStd-Black.ttf
Normal file
BIN
src/fonts/CircularStd-Black.ttf
Normal file
Binary file not shown.
BIN
src/fonts/CircularStd-Medium.ttf
Normal file
BIN
src/fonts/CircularStd-Medium.ttf
Normal file
Binary file not shown.
133
src/modules/img.js
Normal file
133
src/modules/img.js
Normal file
@@ -0,0 +1,133 @@
|
||||
import { createCanvas, registerFont } from 'canvas';
|
||||
|
||||
export const genResults = async (game, winners, winnings, accuracy) => {
|
||||
const roundRect = (ctx, x, y, width, height, radius, fill, stroke) => {
|
||||
if (typeof stroke === 'undefined') {
|
||||
stroke = true;
|
||||
}
|
||||
if (typeof radius === 'undefined') {
|
||||
radius = 5;
|
||||
}
|
||||
ctx.beginPath();
|
||||
ctx.moveTo(x + radius, y);
|
||||
ctx.lineTo(x + width - radius, y);
|
||||
ctx.quadraticCurveTo(x + width, y, x + width, y + radius);
|
||||
ctx.lineTo(x + width, y + height - radius);
|
||||
ctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height);
|
||||
ctx.lineTo(x + radius, y + height);
|
||||
ctx.quadraticCurveTo(x, y + height, x, y + height - radius);
|
||||
ctx.lineTo(x, y + radius);
|
||||
ctx.quadraticCurveTo(x, y, x + radius, y);
|
||||
ctx.closePath();
|
||||
if (stroke) {
|
||||
ctx.stroke();
|
||||
}
|
||||
if (fill) {
|
||||
ctx.fill();
|
||||
}
|
||||
};
|
||||
|
||||
const canvas = createCanvas(450, 230);
|
||||
const ctx = canvas.getContext('2d');
|
||||
registerFont('src/utils/CircularStd-Black.ttf', { family: 'Circular' });
|
||||
registerFont('src/utils/CircularStd-Medium.ttf', { family: 'CircularMed', weight: 100 });
|
||||
switch (game) {
|
||||
case 'HQ Trivia':
|
||||
ctx.fillStyle = 'rgba(52, 58, 153, 1)';
|
||||
ctx.strokeStyle = 'rgba(54, 60, 152, 1)';
|
||||
break;
|
||||
case 'Loco Trivia':
|
||||
ctx.fillStyle = 'rgba(39, 32, 69, 1)';
|
||||
ctx.strokeStyle = 'rgba(39, 32, 69, 1)';
|
||||
break;
|
||||
case 'Confetti Trivia':
|
||||
ctx.fillStyle = 'rgba(66, 102, 171, 1)';
|
||||
ctx.strokeStyle = 'rgba(66, 102, 171, 1)';
|
||||
break;
|
||||
default:
|
||||
ctx.fillStyle = 'rgba(52, 58, 153, 1)';
|
||||
ctx.strokeStyle = 'rgba(54, 60, 152, 1)';
|
||||
break;
|
||||
}
|
||||
roundRect(ctx, 0, 0, canvas.width, canvas.height, 40, true, true);
|
||||
ctx.fillStyle = 'white';
|
||||
ctx.font = '45px Circular';
|
||||
ctx.fillText(game, (canvas.width / 2) - (ctx.measureText(game).width / 2), 70);
|
||||
ctx.strokeStyle = 'white';
|
||||
ctx.lineWidth = 5;
|
||||
roundRect(ctx, 2, 2, canvas.width - 4, canvas.height - 4, 40, false, true);
|
||||
ctx.beginPath();
|
||||
ctx.moveTo((canvas.width / 2) - (ctx.measureText(game).width / 2), 80);
|
||||
ctx.lineTo((canvas.width / 2) + (ctx.measureText(game).width / 2), 80);
|
||||
ctx.stroke();
|
||||
ctx.font = '25px CircularMed';
|
||||
ctx.fillText(`${winners.toLocaleString('en')} players won ${winnings}`, (canvas.width / 2) - (ctx.measureText(`${winners.toLocaleString('en')} Players won ${winnings}`).width / 2), 125);
|
||||
ctx.fillText(`Accuracy: ${accuracy}`, (canvas.width / 2) - (ctx.measureText(`Accuracy: ${accuracy}`).width / 2), 165);
|
||||
ctx.font = '15px Circular';
|
||||
ctx.fillText('Trivia Orchard | invite.gg/orchard', (canvas.width / 2) - (ctx.measureText('Trivia Orchard | invite.gg/orchard').width / 2), canvas.height - 20);
|
||||
return canvas.toBuffer();
|
||||
};
|
||||
|
||||
export const getWordsImage = (puzzleState) => {
|
||||
const puzzleStateLengths = puzzleState.map(i => i.length);
|
||||
const biggestLength = Math.max(...puzzleStateLengths);
|
||||
const canvas = createCanvas(biggestLength * 90 + 100, puzzleState.length * 130 + 75);
|
||||
const ctx = canvas.getContext('2d');
|
||||
registerFont('src/utils/CircularStd-Black.ttf', { family: 'Circular' });
|
||||
registerFont('src/utils/CircularStd-Medium.ttf', { family: 'CircularMed', weight: 100 });
|
||||
|
||||
const roundRect = (ctx, x, y, width, height, radius, fill, stroke) => {
|
||||
if (typeof stroke === 'undefined') {
|
||||
stroke = true;
|
||||
}
|
||||
if (typeof radius === 'undefined') {
|
||||
radius = 5;
|
||||
}
|
||||
ctx.beginPath();
|
||||
ctx.moveTo(x + radius, y);
|
||||
ctx.lineTo(x + width - radius, y);
|
||||
ctx.quadraticCurveTo(x + width, y, x + width, y + radius);
|
||||
ctx.lineTo(x + width, y + height - radius);
|
||||
ctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height);
|
||||
ctx.lineTo(x + radius, y + height);
|
||||
ctx.quadraticCurveTo(x, y + height, x, y + height - radius);
|
||||
ctx.lineTo(x, y + radius);
|
||||
ctx.quadraticCurveTo(x, y, x + radius, y);
|
||||
ctx.closePath();
|
||||
if (stroke) {
|
||||
ctx.stroke();
|
||||
}
|
||||
if (fill) {
|
||||
ctx.fill();
|
||||
}
|
||||
};
|
||||
|
||||
const wordsLetter = (ctx, letter, x, y, scale) => {
|
||||
ctx.fillStyle = 'white';
|
||||
ctx.strokeStyle = 'white';
|
||||
ctx.shadowBlur = 10;
|
||||
ctx.shadowColor = 'black';
|
||||
roundRect(ctx, x, y, scale * 40, scale * 50, 10, true, true);
|
||||
ctx.fillStyle = 'black';
|
||||
const fontSize = 25 * scale;
|
||||
ctx.font = `${fontSize}px Circular`;
|
||||
ctx.textAlign = 'center';
|
||||
ctx.textBaseline = 'middle';
|
||||
ctx.shadowBlur = 0;
|
||||
ctx.fillText(letter, x + 20 * scale, y + 25 * scale);
|
||||
};
|
||||
|
||||
let x = 50;
|
||||
let y = 50;
|
||||
// eslint-disable-next-line no-restricted-syntax
|
||||
for (const state of puzzleState) {
|
||||
// eslint-disable-next-line no-restricted-syntax
|
||||
for (const letter of state) {
|
||||
wordsLetter(ctx, letter, x, y, 2);
|
||||
x += 90;
|
||||
}
|
||||
x = 50;
|
||||
y += 130;
|
||||
}
|
||||
return canvas.toBuffer();
|
||||
};
|
||||
7
src/utils/getTokens.js
Normal file
7
src/utils/getTokens.js
Normal file
@@ -0,0 +1,7 @@
|
||||
import fs from 'fs';
|
||||
|
||||
export default (file) => {
|
||||
if (!file) throw new Error('No file was provided.');
|
||||
const contents = fs.readFileSync(`./tokens/${file}`, 'UTF8');
|
||||
return JSON.parse(contents);
|
||||
};
|
||||
29
src/utils/google.js
Normal file
29
src/utils/google.js
Normal file
@@ -0,0 +1,29 @@
|
||||
import request from 'request';
|
||||
import { promisify } from 'util';
|
||||
import { google } from '../../config';
|
||||
|
||||
request.promise = promisify(request);
|
||||
|
||||
export default async (query, answers) => {
|
||||
const { body } = await request.promise(`https://www.googleapis.com/customsearch/v1?cx=${google.id}&key=${google.key}&q=${query}`);
|
||||
const { searchInformation, items } = JSON.parse(body);
|
||||
if (searchInformation.totalResults === '0') return [0, 0, 0];
|
||||
let weights = [0, 0, 0];
|
||||
for (let i = 0; i < 3; i += 1) {
|
||||
for (const item of items) {
|
||||
const regex = new RegExp(answers[i].text, 'gi');
|
||||
const snippet = item.snippet.match(regex) || [];
|
||||
const title = item.title.match(regex) || [];
|
||||
weights[i] += snippet.length * 2;
|
||||
weights[i] += title.length;
|
||||
}
|
||||
}
|
||||
const includesNegation = (negation) => {
|
||||
const Regex = new RegExp(negation, 'gi');
|
||||
return query.match(Regex);
|
||||
};
|
||||
if (google.negations.some(includesNegation)) {
|
||||
weights = weights.map(w => weights.reduce((a, b) => a + b) - w);
|
||||
}
|
||||
return weights;
|
||||
};
|
||||
183
yarn.lock
183
yarn.lock
@@ -879,7 +879,7 @@ async-each@^1.0.1:
|
||||
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
|
||||
integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==
|
||||
|
||||
async-limiter@^1.0.0:
|
||||
async-limiter@^1.0.0, async-limiter@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
|
||||
integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==
|
||||
@@ -990,6 +990,11 @@ browserslist@^4.5.2, browserslist@^4.5.4:
|
||||
electron-to-chromium "^1.3.127"
|
||||
node-releases "^1.1.17"
|
||||
|
||||
buffer-equal-constant-time@1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819"
|
||||
integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=
|
||||
|
||||
buffer-from@^1.0.0:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
|
||||
@@ -1020,6 +1025,15 @@ caniuse-lite@^1.0.30000963:
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000967.tgz#a5039577806fccee80a04aaafb2c0890b1ee2f73"
|
||||
integrity sha512-rUBIbap+VJfxTzrM4akJ00lkvVb5/n5v3EGXfWzSH5zT8aJmGzjA8HWhJ4U6kCpzxozUSnB+yvAYDRPY6mRpgQ==
|
||||
|
||||
canvas@^2.5.0:
|
||||
version "2.5.0"
|
||||
resolved "https://registry.yarnpkg.com/canvas/-/canvas-2.5.0.tgz#cf0ef59d4790575689c0d50e59c7b8023a11f38a"
|
||||
integrity sha512-wwRz2cLMgb9d+rnotOJCoc04Bzj3aJMpWc6JxAD6lP7bYz0ldcn0sKddoZ0vhD5T8HBxrK+XmRDJb68/2VqARw==
|
||||
dependencies:
|
||||
nan "^2.13.2"
|
||||
node-pre-gyp "^0.11.0"
|
||||
simple-get "^3.0.3"
|
||||
|
||||
caseless@~0.12.0:
|
||||
version "0.12.0"
|
||||
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
|
||||
@@ -1231,6 +1245,13 @@ decode-uri-component@^0.2.0:
|
||||
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
|
||||
integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
|
||||
|
||||
decompress-response@^3.3.0:
|
||||
version "3.3.0"
|
||||
resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3"
|
||||
integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=
|
||||
dependencies:
|
||||
mimic-response "^1.0.0"
|
||||
|
||||
deep-extend@^0.6.0:
|
||||
version "0.6.0"
|
||||
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
|
||||
@@ -1285,6 +1306,18 @@ detect-libc@^1.0.2:
|
||||
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
|
||||
integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
|
||||
|
||||
"discord.js@https://github.com/discordjs/discord.js":
|
||||
version "12.0.0-dev"
|
||||
resolved "https://github.com/discordjs/discord.js#72dd872fce70754b0f7616f3d31b5616a48c7188"
|
||||
dependencies:
|
||||
form-data "^2.3.3"
|
||||
node-fetch "^2.3.0"
|
||||
pako "^1.0.8"
|
||||
prism-media "^1.0.0"
|
||||
setimmediate "^1.0.5"
|
||||
tweetnacl "^1.0.1"
|
||||
ws "^6.1.3"
|
||||
|
||||
doctrine@1.5.0:
|
||||
version "1.5.0"
|
||||
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
|
||||
@@ -1308,6 +1341,13 @@ ecc-jsbn@~0.1.1:
|
||||
jsbn "~0.1.0"
|
||||
safer-buffer "^2.1.0"
|
||||
|
||||
ecdsa-sig-formatter@1.0.11:
|
||||
version "1.0.11"
|
||||
resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf"
|
||||
integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==
|
||||
dependencies:
|
||||
safe-buffer "^5.0.1"
|
||||
|
||||
electron-to-chromium@^1.3.127:
|
||||
version "1.3.133"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.133.tgz#c47639c19b91feee3e22fad69f5556142007008c"
|
||||
@@ -1660,7 +1700,7 @@ forever-agent@~0.6.1:
|
||||
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
|
||||
integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
|
||||
|
||||
form-data@~2.3.2:
|
||||
form-data@^2.3.3, form-data@~2.3.2:
|
||||
version "2.3.3"
|
||||
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
|
||||
integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
|
||||
@@ -2181,6 +2221,22 @@ json5@^2.1.0:
|
||||
dependencies:
|
||||
minimist "^1.2.0"
|
||||
|
||||
jsonwebtoken@^8.5.1:
|
||||
version "8.5.1"
|
||||
resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d"
|
||||
integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==
|
||||
dependencies:
|
||||
jws "^3.2.2"
|
||||
lodash.includes "^4.3.0"
|
||||
lodash.isboolean "^3.0.3"
|
||||
lodash.isinteger "^4.0.4"
|
||||
lodash.isnumber "^3.0.3"
|
||||
lodash.isplainobject "^4.0.6"
|
||||
lodash.isstring "^4.0.1"
|
||||
lodash.once "^4.0.0"
|
||||
ms "^2.1.1"
|
||||
semver "^5.6.0"
|
||||
|
||||
jsprim@^1.2.2:
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
|
||||
@@ -2191,6 +2247,23 @@ jsprim@^1.2.2:
|
||||
json-schema "0.2.3"
|
||||
verror "1.10.0"
|
||||
|
||||
jwa@^1.4.1:
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a"
|
||||
integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==
|
||||
dependencies:
|
||||
buffer-equal-constant-time "1.0.1"
|
||||
ecdsa-sig-formatter "1.0.11"
|
||||
safe-buffer "^5.0.1"
|
||||
|
||||
jws@^3.2.2:
|
||||
version "3.2.2"
|
||||
resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304"
|
||||
integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==
|
||||
dependencies:
|
||||
jwa "^1.4.1"
|
||||
safe-buffer "^5.0.1"
|
||||
|
||||
kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
|
||||
version "3.2.2"
|
||||
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
|
||||
@@ -2249,6 +2322,41 @@ locate-path@^3.0.0:
|
||||
p-locate "^3.0.0"
|
||||
path-exists "^3.0.0"
|
||||
|
||||
lodash.includes@^4.3.0:
|
||||
version "4.3.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f"
|
||||
integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=
|
||||
|
||||
lodash.isboolean@^3.0.3:
|
||||
version "3.0.3"
|
||||
resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6"
|
||||
integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=
|
||||
|
||||
lodash.isinteger@^4.0.4:
|
||||
version "4.0.4"
|
||||
resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343"
|
||||
integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=
|
||||
|
||||
lodash.isnumber@^3.0.3:
|
||||
version "3.0.3"
|
||||
resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc"
|
||||
integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=
|
||||
|
||||
lodash.isplainobject@^4.0.6:
|
||||
version "4.0.6"
|
||||
resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
|
||||
integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=
|
||||
|
||||
lodash.isstring@^4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451"
|
||||
integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=
|
||||
|
||||
lodash.once@^4.0.0:
|
||||
version "4.1.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac"
|
||||
integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=
|
||||
|
||||
lodash@^4.17.10, lodash@^4.17.11:
|
||||
version "4.17.11"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
|
||||
@@ -2317,6 +2425,11 @@ mimic-fn@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
|
||||
integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==
|
||||
|
||||
mimic-response@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
|
||||
integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
|
||||
|
||||
minimatch@^3.0.4:
|
||||
version "3.0.4"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
|
||||
@@ -2379,7 +2492,7 @@ mute-stream@0.0.7:
|
||||
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
|
||||
integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=
|
||||
|
||||
nan@^2.12.1:
|
||||
nan@^2.12.1, nan@^2.13.2:
|
||||
version "2.13.2"
|
||||
resolved "https://registry.yarnpkg.com/nan/-/nan-2.13.2.tgz#f51dc7ae66ba7d5d55e1e6d4d8092e802c9aefe7"
|
||||
integrity sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==
|
||||
@@ -2420,11 +2533,32 @@ nice-try@^1.0.4:
|
||||
resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
|
||||
integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
|
||||
|
||||
node-fetch@^2.3.0:
|
||||
version "2.5.0"
|
||||
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.5.0.tgz#8028c49fc1191bba56a07adc6e2a954644a48501"
|
||||
integrity sha512-YuZKluhWGJwCcUu4RlZstdAxr8bFfOVHakc1mplwHkk8J+tqM1Y5yraYvIUpeX8aY7+crCwiELJq7Vl0o0LWXw==
|
||||
|
||||
node-modules-regexp@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40"
|
||||
integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=
|
||||
|
||||
node-pre-gyp@^0.11.0:
|
||||
version "0.11.0"
|
||||
resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz#db1f33215272f692cd38f03238e3e9b47c5dd054"
|
||||
integrity sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==
|
||||
dependencies:
|
||||
detect-libc "^1.0.2"
|
||||
mkdirp "^0.5.1"
|
||||
needle "^2.2.1"
|
||||
nopt "^4.0.1"
|
||||
npm-packlist "^1.1.6"
|
||||
npmlog "^4.0.2"
|
||||
rc "^1.2.7"
|
||||
rimraf "^2.6.1"
|
||||
semver "^5.3.0"
|
||||
tar "^4"
|
||||
|
||||
node-pre-gyp@^0.12.0:
|
||||
version "0.12.0"
|
||||
resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149"
|
||||
@@ -2564,7 +2698,7 @@ object.pick@^1.3.0:
|
||||
dependencies:
|
||||
isobject "^3.0.1"
|
||||
|
||||
once@^1.3.0:
|
||||
once@^1.3.0, once@^1.3.1:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
|
||||
integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
|
||||
@@ -2655,6 +2789,11 @@ p-try@^2.0.0:
|
||||
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
|
||||
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
|
||||
|
||||
pako@^1.0.8:
|
||||
version "1.0.10"
|
||||
resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732"
|
||||
integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==
|
||||
|
||||
parent-module@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
|
||||
@@ -2762,6 +2901,11 @@ prelude-ls@~1.1.2:
|
||||
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
|
||||
integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
|
||||
|
||||
prism-media@^1.0.0:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/prism-media/-/prism-media-1.0.2.tgz#1e0f097f67d799211177a50d5276fdd2ef1c7fd7"
|
||||
integrity sha512-KCu3SlT1EtS0lvF74NGLSTzr5jrkRajE9n+S2jnUvvdiN5SpjsGj0/HgR1QK9+985Yv8cxjwZnpFRaj+SimDGA==
|
||||
|
||||
private@^0.1.6:
|
||||
version "0.1.8"
|
||||
resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
|
||||
@@ -3061,6 +3205,11 @@ set-value@^2.0.0:
|
||||
is-plain-object "^2.0.3"
|
||||
split-string "^3.0.1"
|
||||
|
||||
setimmediate@^1.0.5:
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
|
||||
integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
|
||||
|
||||
shebang-command@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
|
||||
@@ -3078,6 +3227,20 @@ signal-exit@^3.0.0, signal-exit@^3.0.2:
|
||||
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
|
||||
integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
|
||||
|
||||
simple-concat@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.0.tgz#7344cbb8b6e26fb27d66b2fc86f9f6d5997521c6"
|
||||
integrity sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=
|
||||
|
||||
simple-get@^3.0.3:
|
||||
version "3.0.3"
|
||||
resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.0.3.tgz#924528ac3f9d7718ce5e9ec1b1a69c0be4d62efa"
|
||||
integrity sha512-Wvre/Jq5vgoz31Z9stYWPLn0PqRqmBDpFSdypAnHu5AvRVCYPRYGnvryNLiXu8GOBNDH82J2FRHUGMjjHUpXFw==
|
||||
dependencies:
|
||||
decompress-response "^3.3.0"
|
||||
once "^1.3.1"
|
||||
simple-concat "^1.0.0"
|
||||
|
||||
slash@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44"
|
||||
@@ -3388,6 +3551,11 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0:
|
||||
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
|
||||
integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
|
||||
|
||||
tweetnacl@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.1.tgz#2594d42da73cd036bd0d2a54683dd35a6b55ca17"
|
||||
integrity sha512-kcoMoKTPYnoeS50tzoqjPY3Uv9axeuuFAZY9M/9zFnhoVvRfxz9K29IMPD7jGmt2c8SW7i3gT9WqDl2+nV7p4A==
|
||||
|
||||
type-check@~0.3.2:
|
||||
version "0.3.2"
|
||||
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
|
||||
@@ -3523,6 +3691,13 @@ write@1.0.3:
|
||||
dependencies:
|
||||
mkdirp "^0.5.1"
|
||||
|
||||
ws@^6.1.3:
|
||||
version "6.2.1"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb"
|
||||
integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==
|
||||
dependencies:
|
||||
async-limiter "~1.0.0"
|
||||
|
||||
ws@^7.0.0:
|
||||
version "7.0.0"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-7.0.0.tgz#79351cbc3f784b3c20d0821baf4b4ff809ffbf51"
|
||||
|
||||
Reference in New Issue
Block a user