├── LICENSE ├── README.md ├── commands ├── info │ └── ping.js └── settings │ ├── setlanguage.js │ └── setprefix.js ├── config.json ├── events ├── guildCreate.js ├── interactionCreate.js └── messageCreate.js ├── handlers └── commandHandler.js ├── langs ├── en.json └── tr.json ├── main.js ├── package-lock.json ├── package.json ├── slashCommands └── info │ ├── help.js │ └── ping.js └── utils ├── commandRefresh.js ├── event.js ├── getLang.js ├── getprefix.js ├── handler.js ├── sendError.js └── sendSuccess.js /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 cFyt 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Discord.js v13 Bot Template 2 | Bot template for Discord.js v13 with command handler, Slash (/) commands. 3 | # Requirements 4 | `Node.js v16` 5 | 6 | `Python` for quick.db. If you dont want to use quick.db this is not requirement [windows] 7 | 8 | `Discord.js v13` 9 | 10 | `Quick.db` 11 | 12 | # Features 13 | 14 | > Command handler 15 | > 16 | > Slash commands 17 | > 18 | > Language change 19 | > 20 | > Prefix change 21 | > 22 | > Easy command file 23 | 24 | # Installation 25 | 26 | 1. Download repository 27 | 28 | 2. `$ npm i` 29 | 30 | 3. Edit confing.json 31 | ``` 32 | { 33 | "token": "your bot token", 34 | "prefix": "!", //your prefix 35 | "appID": "app id for slash commands", 36 | "timeout": 5 //timeout for commands 37 | } 38 | ``` 39 | 40 | 4. `$ npm start || $ node main.js` 41 | -------------------------------------------------------------------------------- /commands/info/ping.js: -------------------------------------------------------------------------------- 1 | const { Client, Message } = require("discord.js"); 2 | /** 3 | * @param {Client} client 4 | * @param {Message} message 5 | */ 6 | module.exports.run = (client, message, args) => { 7 | let d1 = new Date().getTime() 8 | 9 | message.reply('Pong!').then(msg =>{ 10 | let d2 = message.createdTimestamp 11 | msg.edit(d2-d1+" ms - API"+Math.round(client.ws.ping)+" ms") 12 | }) 13 | } 14 | module.exports.conf = { 15 | "name": "ping", 16 | "description": [{ 17 | "lang": "tr", 18 | "description": "Bot pingini ölçer." 19 | }, { 20 | "lang": "en", 21 | "description": "Display bot's ping." 22 | }], 23 | "aliases": ["pingolc", "pingölç"], 24 | "usage": [{ 25 | "lang": "tr", 26 | "usage": "ping" 27 | }, { 28 | "lang": "en", 29 | "usage": "ping" 30 | }] 31 | } 32 | -------------------------------------------------------------------------------- /commands/settings/setlanguage.js: -------------------------------------------------------------------------------- 1 | const { Client, Message, Permissions, MessageEmbed } = require("discord.js"); 2 | const db = require('quick.db'); 3 | const { getLang } = require("../../utils/getLang"); 4 | const { sendError } = require("../../utils/sendError"); 5 | const { sendSuccess } = require("../../utils/sendSuccess"); 6 | /** 7 | * @param {Client} client 8 | * @param {Message} message 9 | */ 10 | module.exports.run = (client, message, args, prefix, lang) => { 11 | 12 | 13 | if (!message.member.permissions.has(Permissions.FLAGS.ADMINISTRATOR)) return sendError(message, lang.errors.noPerm) 14 | if (!args[0]) return sendError(message, lang.errors.wrongUsage + "\n ```" + prefix + this.conf.usage[lang.code].usage + "```") 15 | let wlang = args[0].toLowerCase() 16 | if (wlang == lang.shortcode) return sendError(message, lang.commands.setLang.errors.sameLang + lang.lang) 17 | if(wlang == "tr" || wlang == "en"){ 18 | db.set(`lang.${message.guild.id}`, wlang) 19 | sendSuccess(message, lang.commands.setLang.messages.success) 20 | return 21 | }else{ 22 | return sendError(message, lang.commands.setLang.errors.noLang + "\n ```" + prefix + this.conf.usage[lang.code].usage + "```") 23 | } 24 | 25 | } 26 | module.exports.conf = { 27 | "name": "setlang", 28 | "description": [{ 29 | "lang": "tr", 30 | "description": "Bot dilini ayarlar." 31 | }, { 32 | "lang": "en", 33 | "description": "Set bot's language." 34 | }], 35 | "aliases": ["dil", "lang", "dilayarla"], 36 | "usage": [{ 37 | "lang": "tr", 38 | "usage": "dilayarla [tr || en]" 39 | }, { 40 | "lang": "en", 41 | "usage": "setlang [tr || en]" 42 | }] 43 | } -------------------------------------------------------------------------------- /commands/settings/setprefix.js: -------------------------------------------------------------------------------- 1 | const { Client, Message, Permissions, MessageEmbed } = require("discord.js"); 2 | const db = require('quick.db'); 3 | const { getLang } = require("../../utils/getLang"); 4 | const { sendError } = require("../../utils/sendError"); 5 | const { sendSuccess } = require("../../utils/sendSuccess"); 6 | /** 7 | * @param {Client} client 8 | * @param {Message} message 9 | */ 10 | module.exports.run = (client, message, args, prefix, lang) => { 11 | 12 | 13 | if (!message.member.permissions.has(Permissions.FLAGS.ADMINISTRATOR)) return sendError(message, lang.errors.noPerm) 14 | if (!args[0]){ 15 | sendSuccess(message, lang.commands.setPrefix.messages.prefix+"`"+prefix+"`") 16 | }else{ 17 | let wprefix = args[0] 18 | if(wprefix.length > 3) return sendError(message, lang.commands.setPrefix.errors.long) 19 | db.set(`prefix.${message.guild.id}`, wprefix) 20 | sendSuccess(message, lang.commands.setPrefix.messages.newPrefix+"`"+wprefix+"`") 21 | } 22 | 23 | 24 | } 25 | module.exports.conf = { 26 | "name": "prefix", 27 | "description": [{ 28 | "lang": "tr", 29 | "description": "Bot prefixini ayarlar." 30 | }, { 31 | "lang": "en", 32 | "description": "Set bot's prefix." 33 | }], 34 | "aliases": ["setprefix", "prefixayarla", "prefixayar"], 35 | "usage": [{ 36 | "lang": "tr", 37 | "usage": "prefix [?prefix]" 38 | }, { 39 | "lang": "en", 40 | "usage": "prefix [?prefix]" 41 | }] 42 | } -------------------------------------------------------------------------------- /config.json: -------------------------------------------------------------------------------- 1 | { 2 | "_comment": "timeout is for commands", 3 | "token": "your bot token", 4 | "prefix": "!", 5 | "appID": "app id for slash commands", 6 | "timeout": 5 7 | } -------------------------------------------------------------------------------- /events/guildCreate.js: -------------------------------------------------------------------------------- 1 | const { Collection } = require('discord.js') 2 | const { commandRefresh } = require('../utils/commandRefresh') 3 | 4 | module.exports = guild => { 5 | console.log("New Server: ", guild.name) 6 | 7 | let client = guild.client 8 | let cmds = [] 9 | client.slash.each(prob => { 10 | cmds.push({ name: prob.conf.name, description: prob.conf.description, options: prob.conf.options }) 11 | }) 12 | commandRefresh(guild.id, cmds) 13 | } 14 | -------------------------------------------------------------------------------- /events/interactionCreate.js: -------------------------------------------------------------------------------- 1 | const { timeout } = require('../config.json') 2 | const { getLang } = require('../utils/getLang'); 3 | const lastuse = new Set(); 4 | 5 | module.exports = interaction => { 6 | let client = interaction.client 7 | let lang = getLang(interaction) 8 | if (lastuse.has(interaction.member.username)) return interaction.reply('Wait a munite!') 9 | lastuse.add(interaction.member.username) 10 | setTimeout(() => { 11 | lastuse.delete(interaction.member.username) 12 | }, timeout * 1000); 13 | let cmd; 14 | if (client.slash.has(interaction.commandName)) { 15 | cmd = client.slash.get(interaction.commandName); 16 | } 17 | if (!cmd) return 18 | let options = {} 19 | interaction.options._hoistedOptions.forEach(element => { 20 | options[element.name] = element 21 | }); 22 | cmd.run(client, interaction,options, lang) 23 | } 24 | -------------------------------------------------------------------------------- /events/messageCreate.js: -------------------------------------------------------------------------------- 1 | //This template created by cFyt https://github.com/cFyt/discord.js-13-bot-template 2 | const { timeout } = require('../config.json'); 3 | const { getLang } = require('../utils/getLang'); 4 | const { getPrefix } = require('../utils/getprefix'); 5 | const lastuse = new Set(); 6 | 7 | module.exports = message => { 8 | let client = message.client 9 | if (message.author.type == "bot") return 10 | let prefix = getPrefix(message) 11 | if (!message.content.startsWith(prefix)) return 12 | if (lastuse.has(message.author.username)) return 13 | let command = message.content.slice(prefix.length).split(' ')[0] 14 | let args = message.content.slice(prefix.length).split(' ').slice(1) 15 | lastuse.add(message.author.username) 16 | setTimeout(() => { 17 | lastuse.delete(message.author.username) 18 | }, timeout * 1000); 19 | let cmd; 20 | if (client.commands.has(command)) { 21 | cmd = client.commands.get(command); 22 | } else if (client.aliases.has(command)) { 23 | cmd = client.commands.get(client.aliases.get(command)); 24 | } 25 | if (!cmd) return 26 | let lang = getLang(message) 27 | 28 | cmd.run(client, message, args, prefix, lang) 29 | } 30 | -------------------------------------------------------------------------------- /handlers/commandHandler.js: -------------------------------------------------------------------------------- 1 | const { Client } = require("discord.js"); 2 | const fs = require("fs") 3 | const { commandRefresh } = require('../utils/commandRefresh'); 4 | /** 5 | * @param {Client} client 6 | */ 7 | 8 | module.exports = async (client) => { 9 | //message commands 10 | fs.readdir("commands/", (err, files) => { 11 | if (err) console.error(err) 12 | files.forEach(catefile => { 13 | fs.readdir("commands/" + catefile, (err, files) => { 14 | if (err) console.error(err) 15 | files = files.filter(file => file.endsWith('.js')) 16 | files.forEach(file => { 17 | let prob = require('../commands/' + catefile + "/" + file) 18 | client.commands.set(prob.conf.name, prob) 19 | prob.conf.aliases.forEach(alias => { 20 | client.aliases.set(alias, prob.conf.name) 21 | }) 22 | 23 | }) 24 | }) 25 | }) 26 | 27 | }) 28 | 29 | //slash commands 30 | { 31 | let cmds = [] 32 | fs.readdir("slashCommands/", (err, files) => { 33 | if (err) console.error(err) 34 | files.forEach(catefile => { 35 | fs.readdir("slashCommands/" + catefile, (err, files) => { 36 | if (err) console.error(err) 37 | files = files.filter(file => file.endsWith('.js')) 38 | files.forEach(file => { 39 | let prob = require('../slashCommands/' + catefile + "/" + file) 40 | client.slash.set(prob.conf.name, prob) 41 | cmds.push({ name: prob.conf.name, description: prob.conf.description[1], options: prob.conf.options }) 42 | 43 | }) 44 | 45 | }) 46 | }) 47 | }) 48 | setTimeout(() => { 49 | client.guilds.cache.each(guild =>{ 50 | commandRefresh(guild.id, cmds) 51 | }) 52 | }, 4000); 53 | } 54 | }; 55 | -------------------------------------------------------------------------------- /langs/en.json: -------------------------------------------------------------------------------- 1 | { 2 | "shortcode": "en", 3 | "lang": "English", 4 | "code": 1, 5 | "errors": { 6 | "error": "ERROR", 7 | "noPerm": "You have not permission to do this!", 8 | "noChannel": "You must specify a channel", 9 | "wrongUsage": "You did wrong", 10 | "unknown": "An unknown error" 11 | }, 12 | "messages": { 13 | "description": "Description", 14 | "views": "Views", 15 | "wait": "Please wait...", 16 | "channel": "Channel", 17 | "click": "Click Here", 18 | "usedby": "Used by", 19 | "wentLive": "went live!", 20 | "viewers": "Viewers", 21 | "game": "Game", 22 | "newvideo": "published new video!" 23 | }, 24 | "commands": { 25 | }, 26 | "categories": { 27 | "info": "Info" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /langs/tr.json: -------------------------------------------------------------------------------- 1 | { 2 | "shortcode": "tr", 3 | "lang": "Türkçe", 4 | "code": 0, 5 | "errors": { 6 | "error": "HATA", 7 | "noPerm": "Bunun için gerekli yetkiye sahip değilsin!", 8 | "noChannel": "Bir kanal belirtmelisin", 9 | "wrongUsage": "Hatalı kullanım", 10 | "unknown": "Bilinmeyen bir hata meydana geldi." 11 | }, 12 | "messages": { 13 | "description": "Açıklama", 14 | "views": "İzleyiciler", 15 | "wait": "Lütfen bekleyin...", 16 | "channel": "Kanal", 17 | "click": "Buraya tıkla", 18 | "usedby": "Tarafından kullanıldı", 19 | "wentLive": "yayına geçti!", 20 | "viewers": "Viewers", 21 | "game": "Game", 22 | "newvideo": "yeni video yayınladı!" 23 | }, 24 | "commands": { 25 | }, 26 | "categories": { 27 | "info": "Bilgi" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /main.js: -------------------------------------------------------------------------------- 1 | const config = require('./config.json') 2 | const { Client, Intents, Collection } = require('discord.js'); 3 | const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES] }); 4 | client.commands = new Collection(); 5 | client.aliases = new Collection(); 6 | client.slash = new Collection(); 7 | client.on('ready', () => { 8 | console.log(`Logged in as ${client.user.tag}!`); 9 | client.user.setActivity({ 10 | type: "LISTENING", 11 | name: "https://cFyt.me", 12 | }) 13 | require('./utils/handler')(client) 14 | require('./utils/event')(client) 15 | }); 16 | //This template created by cFyt https://github.com/cFyt/discord.js-13-bot-template 17 | client.login(config.token); -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "discord.js-13-bot-template", 3 | "version": "1.0.0", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "version": "1.0.0", 9 | "license": "ISC", 10 | "dependencies": { 11 | "@discordjs/rest": "^0.1.0-canary.0", 12 | "ascii-table": "^0.0.9", 13 | "discord.js": "^13.0.1", 14 | "glob": "^7.1.7", 15 | "quick.db": "^7.1.3" 16 | } 17 | }, 18 | "node_modules/@discordjs/builders": { 19 | "version": "0.4.0", 20 | "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-0.4.0.tgz", 21 | "integrity": "sha512-EiwLltKph6TSaPJIzJYdzNc1PnA2ZNaaE0t0ODg3ghnpVHqfgd0YX9/srsleYHW2cw1sfIq+kbM+h0etf7GWLA==", 22 | "dependencies": { 23 | "@sindresorhus/is": "^4.0.1", 24 | "discord-api-types": "^0.22.0", 25 | "ow": "^0.27.0", 26 | "ts-mixer": "^6.0.0", 27 | "tslib": "^2.3.0" 28 | }, 29 | "engines": { 30 | "node": ">=14.0.0", 31 | "npm": ">=7.0.0" 32 | } 33 | }, 34 | "node_modules/@discordjs/collection": { 35 | "version": "0.2.1", 36 | "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.2.1.tgz", 37 | "integrity": "sha512-vhxqzzM8gkomw0TYRF3tgx7SwElzUlXT/Aa41O7mOcyN6wIJfj5JmDWaO5XGKsGSsNx7F3i5oIlrucCCWV1Nog==", 38 | "engines": { 39 | "node": ">=14.0.0" 40 | } 41 | }, 42 | "node_modules/@discordjs/form-data": { 43 | "version": "3.0.1", 44 | "resolved": "https://registry.npmjs.org/@discordjs/form-data/-/form-data-3.0.1.tgz", 45 | "integrity": "sha512-ZfFsbgEXW71Rw/6EtBdrP5VxBJy4dthyC0tpQKGKmYFImlmmrykO14Za+BiIVduwjte0jXEBlhSKf0MWbFp9Eg==", 46 | "dependencies": { 47 | "asynckit": "^0.4.0", 48 | "combined-stream": "^1.0.8", 49 | "mime-types": "^2.1.12" 50 | }, 51 | "engines": { 52 | "node": ">= 6" 53 | } 54 | }, 55 | "node_modules/@discordjs/rest": { 56 | "version": "0.1.0-canary.0", 57 | "resolved": "https://registry.npmjs.org/@discordjs/rest/-/rest-0.1.0-canary.0.tgz", 58 | "integrity": "sha512-d+s//ISYVV+e0w/926wMEeO7vju+Pn11x1JM4tcmVMCHSDgpi6pnFCNAXF1TEdnDcy7xf9tq5cf2pQkb/7ySTQ==", 59 | "dependencies": { 60 | "@discordjs/collection": "^0.1.6", 61 | "@sapphire/async-queue": "^1.1.4", 62 | "@sapphire/snowflake": "^1.3.5", 63 | "abort-controller": "^3.0.0", 64 | "discord-api-types": "^0.18.1", 65 | "form-data": "^4.0.0", 66 | "node-fetch": "^2.6.1", 67 | "tslib": "^2.3.0" 68 | }, 69 | "engines": { 70 | "node": ">=16.0.0" 71 | } 72 | }, 73 | "node_modules/@discordjs/rest/node_modules/@discordjs/collection": { 74 | "version": "0.1.6", 75 | "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.1.6.tgz", 76 | "integrity": "sha512-utRNxnd9kSS2qhyivo9lMlt5qgAUasH2gb7BEOn6p0efFh24gjGomHzWKMAPn2hEReOPQZCJaRKoURwRotKucQ==" 77 | }, 78 | "node_modules/@discordjs/rest/node_modules/discord-api-types": { 79 | "version": "0.18.1", 80 | "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.18.1.tgz", 81 | "integrity": "sha512-hNC38R9ZF4uaujaZQtQfm5CdQO58uhdkoHQAVvMfIL0LgOSZeW575W8H6upngQOuoxWd8tiRII3LLJm9zuQKYg==", 82 | "deprecated": "No longer supported. Install the latest release (0.20.2)", 83 | "engines": { 84 | "node": ">=12" 85 | } 86 | }, 87 | "node_modules/@sapphire/async-queue": { 88 | "version": "1.1.4", 89 | "resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.1.4.tgz", 90 | "integrity": "sha512-fFrlF/uWpGOX5djw5Mu2Hnnrunao75WGey0sP0J3jnhmrJ5TAPzHYOmytD5iN/+pMxS+f+u/gezqHa9tPhRHEA==", 91 | "engines": { 92 | "node": ">=14", 93 | "npm": ">=6" 94 | } 95 | }, 96 | "node_modules/@sapphire/snowflake": { 97 | "version": "1.3.6", 98 | "resolved": "https://registry.npmjs.org/@sapphire/snowflake/-/snowflake-1.3.6.tgz", 99 | "integrity": "sha512-QnzuLp+p9D7agynVub/zqlDVriDza9y3STArBhNiNBUgIX8+GL5FpQxstRfw1jDr5jkZUjcuKYAHxjIuXKdJAg==", 100 | "engines": { 101 | "node": ">=12", 102 | "npm": ">=6" 103 | } 104 | }, 105 | "node_modules/@sindresorhus/is": { 106 | "version": "4.0.1", 107 | "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.0.1.tgz", 108 | "integrity": "sha512-Qm9hBEBu18wt1PO2flE7LPb30BHMQt1eQgbV76YntdNk73XZGpn3izvGTYxbGgzXKgbCjiia0uxTd3aTNQrY/g==", 109 | "engines": { 110 | "node": ">=10" 111 | }, 112 | "funding": { 113 | "url": "https://github.com/sindresorhus/is?sponsor=1" 114 | } 115 | }, 116 | "node_modules/@types/node": { 117 | "version": "16.4.13", 118 | "resolved": "https://registry.npmjs.org/@types/node/-/node-16.4.13.tgz", 119 | "integrity": "sha512-bLL69sKtd25w7p1nvg9pigE4gtKVpGTPojBFLMkGHXuUgap2sLqQt2qUnqmVCDfzGUL0DRNZP+1prIZJbMeAXg==" 120 | }, 121 | "node_modules/@types/ws": { 122 | "version": "7.4.7", 123 | "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", 124 | "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", 125 | "dependencies": { 126 | "@types/node": "*" 127 | } 128 | }, 129 | "node_modules/abort-controller": { 130 | "version": "3.0.0", 131 | "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", 132 | "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", 133 | "dependencies": { 134 | "event-target-shim": "^5.0.0" 135 | }, 136 | "engines": { 137 | "node": ">=6.5" 138 | } 139 | }, 140 | "node_modules/ansi-regex": { 141 | "version": "2.1.1", 142 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 143 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 144 | "engines": { 145 | "node": ">=0.10.0" 146 | } 147 | }, 148 | "node_modules/aproba": { 149 | "version": "1.2.0", 150 | "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", 151 | "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" 152 | }, 153 | "node_modules/are-we-there-yet": { 154 | "version": "1.1.5", 155 | "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", 156 | "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", 157 | "dependencies": { 158 | "delegates": "^1.0.0", 159 | "readable-stream": "^2.0.6" 160 | } 161 | }, 162 | "node_modules/ascii-table": { 163 | "version": "0.0.9", 164 | "resolved": "https://registry.npmjs.org/ascii-table/-/ascii-table-0.0.9.tgz", 165 | "integrity": "sha1-BqZgTWpV1L9BqaR9mHLXp42jHnM=" 166 | }, 167 | "node_modules/asynckit": { 168 | "version": "0.4.0", 169 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 170 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" 171 | }, 172 | "node_modules/balanced-match": { 173 | "version": "1.0.2", 174 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 175 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" 176 | }, 177 | "node_modules/base64-js": { 178 | "version": "1.5.1", 179 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 180 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 181 | "funding": [ 182 | { 183 | "type": "github", 184 | "url": "https://github.com/sponsors/feross" 185 | }, 186 | { 187 | "type": "patreon", 188 | "url": "https://www.patreon.com/feross" 189 | }, 190 | { 191 | "type": "consulting", 192 | "url": "https://feross.org/support" 193 | } 194 | ] 195 | }, 196 | "node_modules/better-sqlite3": { 197 | "version": "7.4.3", 198 | "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-7.4.3.tgz", 199 | "integrity": "sha512-07bKjClZg/f4KMVRkzWtoIvazVPcF1gsvVKVIXlxwleC2DxuIhnra3KCMlUT1rFeRYXXckot2a46UciF2d9KLw==", 200 | "hasInstallScript": true, 201 | "dependencies": { 202 | "bindings": "^1.5.0", 203 | "prebuild-install": "^6.0.1", 204 | "tar": "^6.1.0" 205 | } 206 | }, 207 | "node_modules/bindings": { 208 | "version": "1.5.0", 209 | "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", 210 | "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", 211 | "dependencies": { 212 | "file-uri-to-path": "1.0.0" 213 | } 214 | }, 215 | "node_modules/bl": { 216 | "version": "4.1.0", 217 | "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", 218 | "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", 219 | "dependencies": { 220 | "buffer": "^5.5.0", 221 | "inherits": "^2.0.4", 222 | "readable-stream": "^3.4.0" 223 | } 224 | }, 225 | "node_modules/bl/node_modules/readable-stream": { 226 | "version": "3.6.0", 227 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 228 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 229 | "dependencies": { 230 | "inherits": "^2.0.3", 231 | "string_decoder": "^1.1.1", 232 | "util-deprecate": "^1.0.1" 233 | }, 234 | "engines": { 235 | "node": ">= 6" 236 | } 237 | }, 238 | "node_modules/brace-expansion": { 239 | "version": "1.1.11", 240 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 241 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 242 | "dependencies": { 243 | "balanced-match": "^1.0.0", 244 | "concat-map": "0.0.1" 245 | } 246 | }, 247 | "node_modules/buffer": { 248 | "version": "5.7.1", 249 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", 250 | "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", 251 | "funding": [ 252 | { 253 | "type": "github", 254 | "url": "https://github.com/sponsors/feross" 255 | }, 256 | { 257 | "type": "patreon", 258 | "url": "https://www.patreon.com/feross" 259 | }, 260 | { 261 | "type": "consulting", 262 | "url": "https://feross.org/support" 263 | } 264 | ], 265 | "dependencies": { 266 | "base64-js": "^1.3.1", 267 | "ieee754": "^1.1.13" 268 | } 269 | }, 270 | "node_modules/callsites": { 271 | "version": "3.1.0", 272 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 273 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 274 | "engines": { 275 | "node": ">=6" 276 | } 277 | }, 278 | "node_modules/chownr": { 279 | "version": "2.0.0", 280 | "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", 281 | "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", 282 | "engines": { 283 | "node": ">=10" 284 | } 285 | }, 286 | "node_modules/code-point-at": { 287 | "version": "1.1.0", 288 | "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", 289 | "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", 290 | "engines": { 291 | "node": ">=0.10.0" 292 | } 293 | }, 294 | "node_modules/combined-stream": { 295 | "version": "1.0.8", 296 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 297 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 298 | "dependencies": { 299 | "delayed-stream": "~1.0.0" 300 | }, 301 | "engines": { 302 | "node": ">= 0.8" 303 | } 304 | }, 305 | "node_modules/concat-map": { 306 | "version": "0.0.1", 307 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 308 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" 309 | }, 310 | "node_modules/console-control-strings": { 311 | "version": "1.1.0", 312 | "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", 313 | "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" 314 | }, 315 | "node_modules/core-util-is": { 316 | "version": "1.0.2", 317 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 318 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" 319 | }, 320 | "node_modules/decompress-response": { 321 | "version": "4.2.1", 322 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", 323 | "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", 324 | "dependencies": { 325 | "mimic-response": "^2.0.0" 326 | }, 327 | "engines": { 328 | "node": ">=8" 329 | } 330 | }, 331 | "node_modules/deep-extend": { 332 | "version": "0.6.0", 333 | "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", 334 | "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", 335 | "engines": { 336 | "node": ">=4.0.0" 337 | } 338 | }, 339 | "node_modules/delayed-stream": { 340 | "version": "1.0.0", 341 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 342 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", 343 | "engines": { 344 | "node": ">=0.4.0" 345 | } 346 | }, 347 | "node_modules/delegates": { 348 | "version": "1.0.0", 349 | "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", 350 | "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" 351 | }, 352 | "node_modules/detect-libc": { 353 | "version": "1.0.3", 354 | "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", 355 | "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", 356 | "bin": { 357 | "detect-libc": "bin/detect-libc.js" 358 | }, 359 | "engines": { 360 | "node": ">=0.10" 361 | } 362 | }, 363 | "node_modules/discord-api-types": { 364 | "version": "0.22.0", 365 | "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.22.0.tgz", 366 | "integrity": "sha512-l8yD/2zRbZItUQpy7ZxBJwaLX/Bs2TGaCthRppk8Sw24LOIWg12t9JEreezPoYD0SQcC2htNNo27kYEpYW/Srg==", 367 | "engines": { 368 | "node": ">=12" 369 | } 370 | }, 371 | "node_modules/discord.js": { 372 | "version": "13.0.1", 373 | "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-13.0.1.tgz", 374 | "integrity": "sha512-pEODCFfxypBnGEYpSgjkn1jt70raCS1um7Zp0AXEfW1DcR29wISzQ/WeWdnjP5KTXGi0LTtkRiUjOsMgSoukxA==", 375 | "dependencies": { 376 | "@discordjs/builders": "^0.4.0", 377 | "@discordjs/collection": "^0.2.1", 378 | "@discordjs/form-data": "^3.0.1", 379 | "@sapphire/async-queue": "^1.1.4", 380 | "@types/ws": "^7.4.7", 381 | "discord-api-types": "^0.22.0", 382 | "node-fetch": "^2.6.1", 383 | "ws": "^7.5.1" 384 | }, 385 | "engines": { 386 | "node": ">=16.6.0", 387 | "npm": ">=7.0.0" 388 | } 389 | }, 390 | "node_modules/dot-prop": { 391 | "version": "6.0.1", 392 | "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", 393 | "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", 394 | "dependencies": { 395 | "is-obj": "^2.0.0" 396 | }, 397 | "engines": { 398 | "node": ">=10" 399 | }, 400 | "funding": { 401 | "url": "https://github.com/sponsors/sindresorhus" 402 | } 403 | }, 404 | "node_modules/end-of-stream": { 405 | "version": "1.4.4", 406 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 407 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 408 | "dependencies": { 409 | "once": "^1.4.0" 410 | } 411 | }, 412 | "node_modules/event-target-shim": { 413 | "version": "5.0.1", 414 | "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", 415 | "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", 416 | "engines": { 417 | "node": ">=6" 418 | } 419 | }, 420 | "node_modules/expand-template": { 421 | "version": "2.0.3", 422 | "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", 423 | "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", 424 | "engines": { 425 | "node": ">=6" 426 | } 427 | }, 428 | "node_modules/file-uri-to-path": { 429 | "version": "1.0.0", 430 | "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", 431 | "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" 432 | }, 433 | "node_modules/form-data": { 434 | "version": "4.0.0", 435 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", 436 | "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", 437 | "dependencies": { 438 | "asynckit": "^0.4.0", 439 | "combined-stream": "^1.0.8", 440 | "mime-types": "^2.1.12" 441 | }, 442 | "engines": { 443 | "node": ">= 6" 444 | } 445 | }, 446 | "node_modules/fs-constants": { 447 | "version": "1.0.0", 448 | "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", 449 | "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" 450 | }, 451 | "node_modules/fs-minipass": { 452 | "version": "2.1.0", 453 | "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", 454 | "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", 455 | "dependencies": { 456 | "minipass": "^3.0.0" 457 | }, 458 | "engines": { 459 | "node": ">= 8" 460 | } 461 | }, 462 | "node_modules/fs.realpath": { 463 | "version": "1.0.0", 464 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 465 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" 466 | }, 467 | "node_modules/gauge": { 468 | "version": "2.7.4", 469 | "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", 470 | "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", 471 | "dependencies": { 472 | "aproba": "^1.0.3", 473 | "console-control-strings": "^1.0.0", 474 | "has-unicode": "^2.0.0", 475 | "object-assign": "^4.1.0", 476 | "signal-exit": "^3.0.0", 477 | "string-width": "^1.0.1", 478 | "strip-ansi": "^3.0.1", 479 | "wide-align": "^1.1.0" 480 | } 481 | }, 482 | "node_modules/github-from-package": { 483 | "version": "0.0.0", 484 | "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", 485 | "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=" 486 | }, 487 | "node_modules/glob": { 488 | "version": "7.1.7", 489 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", 490 | "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", 491 | "dependencies": { 492 | "fs.realpath": "^1.0.0", 493 | "inflight": "^1.0.4", 494 | "inherits": "2", 495 | "minimatch": "^3.0.4", 496 | "once": "^1.3.0", 497 | "path-is-absolute": "^1.0.0" 498 | }, 499 | "engines": { 500 | "node": "*" 501 | }, 502 | "funding": { 503 | "url": "https://github.com/sponsors/isaacs" 504 | } 505 | }, 506 | "node_modules/has-unicode": { 507 | "version": "2.0.1", 508 | "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", 509 | "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" 510 | }, 511 | "node_modules/ieee754": { 512 | "version": "1.2.1", 513 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 514 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 515 | "funding": [ 516 | { 517 | "type": "github", 518 | "url": "https://github.com/sponsors/feross" 519 | }, 520 | { 521 | "type": "patreon", 522 | "url": "https://www.patreon.com/feross" 523 | }, 524 | { 525 | "type": "consulting", 526 | "url": "https://feross.org/support" 527 | } 528 | ] 529 | }, 530 | "node_modules/inflight": { 531 | "version": "1.0.6", 532 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 533 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 534 | "dependencies": { 535 | "once": "^1.3.0", 536 | "wrappy": "1" 537 | } 538 | }, 539 | "node_modules/inherits": { 540 | "version": "2.0.4", 541 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 542 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 543 | }, 544 | "node_modules/ini": { 545 | "version": "1.3.8", 546 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", 547 | "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" 548 | }, 549 | "node_modules/is-fullwidth-code-point": { 550 | "version": "1.0.0", 551 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", 552 | "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", 553 | "dependencies": { 554 | "number-is-nan": "^1.0.0" 555 | }, 556 | "engines": { 557 | "node": ">=0.10.0" 558 | } 559 | }, 560 | "node_modules/is-obj": { 561 | "version": "2.0.0", 562 | "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", 563 | "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", 564 | "engines": { 565 | "node": ">=8" 566 | } 567 | }, 568 | "node_modules/isarray": { 569 | "version": "1.0.0", 570 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 571 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" 572 | }, 573 | "node_modules/lodash": { 574 | "version": "4.17.21", 575 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 576 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" 577 | }, 578 | "node_modules/lodash.isequal": { 579 | "version": "4.5.0", 580 | "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", 581 | "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" 582 | }, 583 | "node_modules/mime-db": { 584 | "version": "1.49.0", 585 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", 586 | "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", 587 | "engines": { 588 | "node": ">= 0.6" 589 | } 590 | }, 591 | "node_modules/mime-types": { 592 | "version": "2.1.32", 593 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", 594 | "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", 595 | "dependencies": { 596 | "mime-db": "1.49.0" 597 | }, 598 | "engines": { 599 | "node": ">= 0.6" 600 | } 601 | }, 602 | "node_modules/mimic-response": { 603 | "version": "2.1.0", 604 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", 605 | "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", 606 | "engines": { 607 | "node": ">=8" 608 | }, 609 | "funding": { 610 | "url": "https://github.com/sponsors/sindresorhus" 611 | } 612 | }, 613 | "node_modules/minimatch": { 614 | "version": "3.0.4", 615 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 616 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 617 | "dependencies": { 618 | "brace-expansion": "^1.1.7" 619 | }, 620 | "engines": { 621 | "node": "*" 622 | } 623 | }, 624 | "node_modules/minimist": { 625 | "version": "1.2.5", 626 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", 627 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" 628 | }, 629 | "node_modules/minipass": { 630 | "version": "3.1.3", 631 | "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", 632 | "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", 633 | "dependencies": { 634 | "yallist": "^4.0.0" 635 | }, 636 | "engines": { 637 | "node": ">=8" 638 | } 639 | }, 640 | "node_modules/minizlib": { 641 | "version": "2.1.2", 642 | "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", 643 | "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", 644 | "dependencies": { 645 | "minipass": "^3.0.0", 646 | "yallist": "^4.0.0" 647 | }, 648 | "engines": { 649 | "node": ">= 8" 650 | } 651 | }, 652 | "node_modules/mkdirp": { 653 | "version": "1.0.4", 654 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", 655 | "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", 656 | "bin": { 657 | "mkdirp": "bin/cmd.js" 658 | }, 659 | "engines": { 660 | "node": ">=10" 661 | } 662 | }, 663 | "node_modules/mkdirp-classic": { 664 | "version": "0.5.3", 665 | "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", 666 | "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" 667 | }, 668 | "node_modules/napi-build-utils": { 669 | "version": "1.0.2", 670 | "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", 671 | "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" 672 | }, 673 | "node_modules/node-abi": { 674 | "version": "2.30.0", 675 | "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.0.tgz", 676 | "integrity": "sha512-g6bZh3YCKQRdwuO/tSZZYJAw622SjsRfJ2X0Iy4sSOHZ34/sPPdVBn8fev2tj7njzLwuqPw9uMtGsGkO5kIQvg==", 677 | "dependencies": { 678 | "semver": "^5.4.1" 679 | } 680 | }, 681 | "node_modules/node-fetch": { 682 | "version": "2.6.1", 683 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", 684 | "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", 685 | "engines": { 686 | "node": "4.x || >=6.0.0" 687 | } 688 | }, 689 | "node_modules/npmlog": { 690 | "version": "4.1.2", 691 | "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", 692 | "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", 693 | "dependencies": { 694 | "are-we-there-yet": "~1.1.2", 695 | "console-control-strings": "~1.1.0", 696 | "gauge": "~2.7.3", 697 | "set-blocking": "~2.0.0" 698 | } 699 | }, 700 | "node_modules/number-is-nan": { 701 | "version": "1.0.1", 702 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", 703 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", 704 | "engines": { 705 | "node": ">=0.10.0" 706 | } 707 | }, 708 | "node_modules/object-assign": { 709 | "version": "4.1.1", 710 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 711 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", 712 | "engines": { 713 | "node": ">=0.10.0" 714 | } 715 | }, 716 | "node_modules/once": { 717 | "version": "1.4.0", 718 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 719 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 720 | "dependencies": { 721 | "wrappy": "1" 722 | } 723 | }, 724 | "node_modules/ow": { 725 | "version": "0.27.0", 726 | "resolved": "https://registry.npmjs.org/ow/-/ow-0.27.0.tgz", 727 | "integrity": "sha512-SGnrGUbhn4VaUGdU0EJLMwZWSupPmF46hnTRII7aCLCrqixTAC5eKo8kI4/XXf1eaaI8YEVT+3FeGNJI9himAQ==", 728 | "dependencies": { 729 | "@sindresorhus/is": "^4.0.1", 730 | "callsites": "^3.1.0", 731 | "dot-prop": "^6.0.1", 732 | "lodash.isequal": "^4.5.0", 733 | "type-fest": "^1.2.1", 734 | "vali-date": "^1.0.0" 735 | }, 736 | "engines": { 737 | "node": ">=12" 738 | }, 739 | "funding": { 740 | "url": "https://github.com/sponsors/sindresorhus" 741 | } 742 | }, 743 | "node_modules/path-is-absolute": { 744 | "version": "1.0.1", 745 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 746 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 747 | "engines": { 748 | "node": ">=0.10.0" 749 | } 750 | }, 751 | "node_modules/prebuild-install": { 752 | "version": "6.1.3", 753 | "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.1.3.tgz", 754 | "integrity": "sha512-iqqSR84tNYQUQHRXalSKdIaM8Ov1QxOVuBNWI7+BzZWv6Ih9k75wOnH1rGQ9WWTaaLkTpxWKIciOF0KyfM74+Q==", 755 | "dependencies": { 756 | "detect-libc": "^1.0.3", 757 | "expand-template": "^2.0.3", 758 | "github-from-package": "0.0.0", 759 | "minimist": "^1.2.3", 760 | "mkdirp-classic": "^0.5.3", 761 | "napi-build-utils": "^1.0.1", 762 | "node-abi": "^2.21.0", 763 | "npmlog": "^4.0.1", 764 | "pump": "^3.0.0", 765 | "rc": "^1.2.7", 766 | "simple-get": "^3.0.3", 767 | "tar-fs": "^2.0.0", 768 | "tunnel-agent": "^0.6.0" 769 | }, 770 | "bin": { 771 | "prebuild-install": "bin.js" 772 | }, 773 | "engines": { 774 | "node": ">=6" 775 | } 776 | }, 777 | "node_modules/process-nextick-args": { 778 | "version": "2.0.1", 779 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", 780 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" 781 | }, 782 | "node_modules/pump": { 783 | "version": "3.0.0", 784 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 785 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 786 | "dependencies": { 787 | "end-of-stream": "^1.1.0", 788 | "once": "^1.3.1" 789 | } 790 | }, 791 | "node_modules/quick.db": { 792 | "version": "7.1.3", 793 | "resolved": "https://registry.npmjs.org/quick.db/-/quick.db-7.1.3.tgz", 794 | "integrity": "sha512-0S1fVb9OAZGhkI4ZIc5Oe4yWMwhz20xSsziwd6+yGWKKMsPt+XOfj/gD5CesGxd2WdqBkZFBiP8ZqWDu55HLHA==", 795 | "dependencies": { 796 | "better-sqlite3": "^7.1.1", 797 | "lodash": "^4.17.20" 798 | } 799 | }, 800 | "node_modules/rc": { 801 | "version": "1.2.8", 802 | "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", 803 | "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", 804 | "dependencies": { 805 | "deep-extend": "^0.6.0", 806 | "ini": "~1.3.0", 807 | "minimist": "^1.2.0", 808 | "strip-json-comments": "~2.0.1" 809 | }, 810 | "bin": { 811 | "rc": "cli.js" 812 | } 813 | }, 814 | "node_modules/readable-stream": { 815 | "version": "2.3.7", 816 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", 817 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", 818 | "dependencies": { 819 | "core-util-is": "~1.0.0", 820 | "inherits": "~2.0.3", 821 | "isarray": "~1.0.0", 822 | "process-nextick-args": "~2.0.0", 823 | "safe-buffer": "~5.1.1", 824 | "string_decoder": "~1.1.1", 825 | "util-deprecate": "~1.0.1" 826 | } 827 | }, 828 | "node_modules/safe-buffer": { 829 | "version": "5.1.2", 830 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 831 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 832 | }, 833 | "node_modules/semver": { 834 | "version": "5.7.1", 835 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 836 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 837 | "bin": { 838 | "semver": "bin/semver" 839 | } 840 | }, 841 | "node_modules/set-blocking": { 842 | "version": "2.0.0", 843 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 844 | "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" 845 | }, 846 | "node_modules/signal-exit": { 847 | "version": "3.0.3", 848 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", 849 | "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" 850 | }, 851 | "node_modules/simple-concat": { 852 | "version": "1.0.1", 853 | "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", 854 | "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", 855 | "funding": [ 856 | { 857 | "type": "github", 858 | "url": "https://github.com/sponsors/feross" 859 | }, 860 | { 861 | "type": "patreon", 862 | "url": "https://www.patreon.com/feross" 863 | }, 864 | { 865 | "type": "consulting", 866 | "url": "https://feross.org/support" 867 | } 868 | ] 869 | }, 870 | "node_modules/simple-get": { 871 | "version": "3.1.0", 872 | "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz", 873 | "integrity": "sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==", 874 | "dependencies": { 875 | "decompress-response": "^4.2.0", 876 | "once": "^1.3.1", 877 | "simple-concat": "^1.0.0" 878 | } 879 | }, 880 | "node_modules/string_decoder": { 881 | "version": "1.1.1", 882 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 883 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 884 | "dependencies": { 885 | "safe-buffer": "~5.1.0" 886 | } 887 | }, 888 | "node_modules/string-width": { 889 | "version": "1.0.2", 890 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", 891 | "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", 892 | "dependencies": { 893 | "code-point-at": "^1.0.0", 894 | "is-fullwidth-code-point": "^1.0.0", 895 | "strip-ansi": "^3.0.0" 896 | }, 897 | "engines": { 898 | "node": ">=0.10.0" 899 | } 900 | }, 901 | "node_modules/strip-ansi": { 902 | "version": "3.0.1", 903 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 904 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 905 | "dependencies": { 906 | "ansi-regex": "^2.0.0" 907 | }, 908 | "engines": { 909 | "node": ">=0.10.0" 910 | } 911 | }, 912 | "node_modules/strip-json-comments": { 913 | "version": "2.0.1", 914 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 915 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", 916 | "engines": { 917 | "node": ">=0.10.0" 918 | } 919 | }, 920 | "node_modules/tar": { 921 | "version": "6.1.6", 922 | "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.6.tgz", 923 | "integrity": "sha512-oaWyu5dQbHaYcyZCTfyPpC+VmI62/OM2RTUYavTk1MDr1cwW5Boi3baeYQKiZbY2uSQJGr+iMOzb/JFxLrft+g==", 924 | "dependencies": { 925 | "chownr": "^2.0.0", 926 | "fs-minipass": "^2.0.0", 927 | "minipass": "^3.0.0", 928 | "minizlib": "^2.1.1", 929 | "mkdirp": "^1.0.3", 930 | "yallist": "^4.0.0" 931 | }, 932 | "engines": { 933 | "node": ">= 10" 934 | } 935 | }, 936 | "node_modules/tar-fs": { 937 | "version": "2.1.1", 938 | "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", 939 | "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", 940 | "dependencies": { 941 | "chownr": "^1.1.1", 942 | "mkdirp-classic": "^0.5.2", 943 | "pump": "^3.0.0", 944 | "tar-stream": "^2.1.4" 945 | } 946 | }, 947 | "node_modules/tar-fs/node_modules/chownr": { 948 | "version": "1.1.4", 949 | "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", 950 | "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" 951 | }, 952 | "node_modules/tar-stream": { 953 | "version": "2.2.0", 954 | "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", 955 | "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", 956 | "dependencies": { 957 | "bl": "^4.0.3", 958 | "end-of-stream": "^1.4.1", 959 | "fs-constants": "^1.0.0", 960 | "inherits": "^2.0.3", 961 | "readable-stream": "^3.1.1" 962 | }, 963 | "engines": { 964 | "node": ">=6" 965 | } 966 | }, 967 | "node_modules/tar-stream/node_modules/readable-stream": { 968 | "version": "3.6.0", 969 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 970 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 971 | "dependencies": { 972 | "inherits": "^2.0.3", 973 | "string_decoder": "^1.1.1", 974 | "util-deprecate": "^1.0.1" 975 | }, 976 | "engines": { 977 | "node": ">= 6" 978 | } 979 | }, 980 | "node_modules/ts-mixer": { 981 | "version": "6.0.0", 982 | "resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.0.tgz", 983 | "integrity": "sha512-nXIb1fvdY5CBSrDIblLn73NW0qRDk5yJ0Sk1qPBF560OdJfQp9jhl+0tzcY09OZ9U+6GpeoI9RjwoIKFIoB9MQ==" 984 | }, 985 | "node_modules/tslib": { 986 | "version": "2.3.0", 987 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", 988 | "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" 989 | }, 990 | "node_modules/tunnel-agent": { 991 | "version": "0.6.0", 992 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 993 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", 994 | "dependencies": { 995 | "safe-buffer": "^5.0.1" 996 | }, 997 | "engines": { 998 | "node": "*" 999 | } 1000 | }, 1001 | "node_modules/type-fest": { 1002 | "version": "1.4.0", 1003 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", 1004 | "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", 1005 | "engines": { 1006 | "node": ">=10" 1007 | }, 1008 | "funding": { 1009 | "url": "https://github.com/sponsors/sindresorhus" 1010 | } 1011 | }, 1012 | "node_modules/util-deprecate": { 1013 | "version": "1.0.2", 1014 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 1015 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 1016 | }, 1017 | "node_modules/vali-date": { 1018 | "version": "1.0.0", 1019 | "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz", 1020 | "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=", 1021 | "engines": { 1022 | "node": ">=0.10.0" 1023 | } 1024 | }, 1025 | "node_modules/wide-align": { 1026 | "version": "1.1.3", 1027 | "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", 1028 | "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", 1029 | "dependencies": { 1030 | "string-width": "^1.0.2 || 2" 1031 | } 1032 | }, 1033 | "node_modules/wrappy": { 1034 | "version": "1.0.2", 1035 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1036 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" 1037 | }, 1038 | "node_modules/ws": { 1039 | "version": "7.5.3", 1040 | "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz", 1041 | "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==", 1042 | "engines": { 1043 | "node": ">=8.3.0" 1044 | }, 1045 | "peerDependencies": { 1046 | "bufferutil": "^4.0.1", 1047 | "utf-8-validate": "^5.0.2" 1048 | }, 1049 | "peerDependenciesMeta": { 1050 | "bufferutil": { 1051 | "optional": true 1052 | }, 1053 | "utf-8-validate": { 1054 | "optional": true 1055 | } 1056 | } 1057 | }, 1058 | "node_modules/yallist": { 1059 | "version": "4.0.0", 1060 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 1061 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" 1062 | } 1063 | }, 1064 | "dependencies": { 1065 | "@discordjs/builders": { 1066 | "version": "0.4.0", 1067 | "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-0.4.0.tgz", 1068 | "integrity": "sha512-EiwLltKph6TSaPJIzJYdzNc1PnA2ZNaaE0t0ODg3ghnpVHqfgd0YX9/srsleYHW2cw1sfIq+kbM+h0etf7GWLA==", 1069 | "requires": { 1070 | "@sindresorhus/is": "^4.0.1", 1071 | "discord-api-types": "^0.22.0", 1072 | "ow": "^0.27.0", 1073 | "ts-mixer": "^6.0.0", 1074 | "tslib": "^2.3.0" 1075 | } 1076 | }, 1077 | "@discordjs/collection": { 1078 | "version": "0.2.1", 1079 | "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.2.1.tgz", 1080 | "integrity": "sha512-vhxqzzM8gkomw0TYRF3tgx7SwElzUlXT/Aa41O7mOcyN6wIJfj5JmDWaO5XGKsGSsNx7F3i5oIlrucCCWV1Nog==" 1081 | }, 1082 | "@discordjs/form-data": { 1083 | "version": "3.0.1", 1084 | "resolved": "https://registry.npmjs.org/@discordjs/form-data/-/form-data-3.0.1.tgz", 1085 | "integrity": "sha512-ZfFsbgEXW71Rw/6EtBdrP5VxBJy4dthyC0tpQKGKmYFImlmmrykO14Za+BiIVduwjte0jXEBlhSKf0MWbFp9Eg==", 1086 | "requires": { 1087 | "asynckit": "^0.4.0", 1088 | "combined-stream": "^1.0.8", 1089 | "mime-types": "^2.1.12" 1090 | } 1091 | }, 1092 | "@discordjs/rest": { 1093 | "version": "0.1.0-canary.0", 1094 | "resolved": "https://registry.npmjs.org/@discordjs/rest/-/rest-0.1.0-canary.0.tgz", 1095 | "integrity": "sha512-d+s//ISYVV+e0w/926wMEeO7vju+Pn11x1JM4tcmVMCHSDgpi6pnFCNAXF1TEdnDcy7xf9tq5cf2pQkb/7ySTQ==", 1096 | "requires": { 1097 | "@discordjs/collection": "^0.1.6", 1098 | "@sapphire/async-queue": "^1.1.4", 1099 | "@sapphire/snowflake": "^1.3.5", 1100 | "abort-controller": "^3.0.0", 1101 | "discord-api-types": "^0.18.1", 1102 | "form-data": "^4.0.0", 1103 | "node-fetch": "^2.6.1", 1104 | "tslib": "^2.3.0" 1105 | }, 1106 | "dependencies": { 1107 | "@discordjs/collection": { 1108 | "version": "0.1.6", 1109 | "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.1.6.tgz", 1110 | "integrity": "sha512-utRNxnd9kSS2qhyivo9lMlt5qgAUasH2gb7BEOn6p0efFh24gjGomHzWKMAPn2hEReOPQZCJaRKoURwRotKucQ==" 1111 | }, 1112 | "discord-api-types": { 1113 | "version": "0.18.1", 1114 | "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.18.1.tgz", 1115 | "integrity": "sha512-hNC38R9ZF4uaujaZQtQfm5CdQO58uhdkoHQAVvMfIL0LgOSZeW575W8H6upngQOuoxWd8tiRII3LLJm9zuQKYg==" 1116 | } 1117 | } 1118 | }, 1119 | "@sapphire/async-queue": { 1120 | "version": "1.1.4", 1121 | "resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.1.4.tgz", 1122 | "integrity": "sha512-fFrlF/uWpGOX5djw5Mu2Hnnrunao75WGey0sP0J3jnhmrJ5TAPzHYOmytD5iN/+pMxS+f+u/gezqHa9tPhRHEA==" 1123 | }, 1124 | "@sapphire/snowflake": { 1125 | "version": "1.3.6", 1126 | "resolved": "https://registry.npmjs.org/@sapphire/snowflake/-/snowflake-1.3.6.tgz", 1127 | "integrity": "sha512-QnzuLp+p9D7agynVub/zqlDVriDza9y3STArBhNiNBUgIX8+GL5FpQxstRfw1jDr5jkZUjcuKYAHxjIuXKdJAg==" 1128 | }, 1129 | "@sindresorhus/is": { 1130 | "version": "4.0.1", 1131 | "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.0.1.tgz", 1132 | "integrity": "sha512-Qm9hBEBu18wt1PO2flE7LPb30BHMQt1eQgbV76YntdNk73XZGpn3izvGTYxbGgzXKgbCjiia0uxTd3aTNQrY/g==" 1133 | }, 1134 | "@types/node": { 1135 | "version": "16.4.13", 1136 | "resolved": "https://registry.npmjs.org/@types/node/-/node-16.4.13.tgz", 1137 | "integrity": "sha512-bLL69sKtd25w7p1nvg9pigE4gtKVpGTPojBFLMkGHXuUgap2sLqQt2qUnqmVCDfzGUL0DRNZP+1prIZJbMeAXg==" 1138 | }, 1139 | "@types/ws": { 1140 | "version": "7.4.7", 1141 | "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", 1142 | "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", 1143 | "requires": { 1144 | "@types/node": "*" 1145 | } 1146 | }, 1147 | "abort-controller": { 1148 | "version": "3.0.0", 1149 | "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", 1150 | "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", 1151 | "requires": { 1152 | "event-target-shim": "^5.0.0" 1153 | } 1154 | }, 1155 | "ansi-regex": { 1156 | "version": "2.1.1", 1157 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 1158 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" 1159 | }, 1160 | "aproba": { 1161 | "version": "1.2.0", 1162 | "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", 1163 | "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" 1164 | }, 1165 | "are-we-there-yet": { 1166 | "version": "1.1.5", 1167 | "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", 1168 | "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", 1169 | "requires": { 1170 | "delegates": "^1.0.0", 1171 | "readable-stream": "^2.0.6" 1172 | } 1173 | }, 1174 | "ascii-table": { 1175 | "version": "0.0.9", 1176 | "resolved": "https://registry.npmjs.org/ascii-table/-/ascii-table-0.0.9.tgz", 1177 | "integrity": "sha1-BqZgTWpV1L9BqaR9mHLXp42jHnM=" 1178 | }, 1179 | "asynckit": { 1180 | "version": "0.4.0", 1181 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 1182 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" 1183 | }, 1184 | "balanced-match": { 1185 | "version": "1.0.2", 1186 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 1187 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" 1188 | }, 1189 | "base64-js": { 1190 | "version": "1.5.1", 1191 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 1192 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" 1193 | }, 1194 | "better-sqlite3": { 1195 | "version": "7.4.3", 1196 | "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-7.4.3.tgz", 1197 | "integrity": "sha512-07bKjClZg/f4KMVRkzWtoIvazVPcF1gsvVKVIXlxwleC2DxuIhnra3KCMlUT1rFeRYXXckot2a46UciF2d9KLw==", 1198 | "requires": { 1199 | "bindings": "^1.5.0", 1200 | "prebuild-install": "^6.0.1", 1201 | "tar": "^6.1.0" 1202 | } 1203 | }, 1204 | "bindings": { 1205 | "version": "1.5.0", 1206 | "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", 1207 | "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", 1208 | "requires": { 1209 | "file-uri-to-path": "1.0.0" 1210 | } 1211 | }, 1212 | "bl": { 1213 | "version": "4.1.0", 1214 | "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", 1215 | "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", 1216 | "requires": { 1217 | "buffer": "^5.5.0", 1218 | "inherits": "^2.0.4", 1219 | "readable-stream": "^3.4.0" 1220 | }, 1221 | "dependencies": { 1222 | "readable-stream": { 1223 | "version": "3.6.0", 1224 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 1225 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 1226 | "requires": { 1227 | "inherits": "^2.0.3", 1228 | "string_decoder": "^1.1.1", 1229 | "util-deprecate": "^1.0.1" 1230 | } 1231 | } 1232 | } 1233 | }, 1234 | "brace-expansion": { 1235 | "version": "1.1.11", 1236 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 1237 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 1238 | "requires": { 1239 | "balanced-match": "^1.0.0", 1240 | "concat-map": "0.0.1" 1241 | } 1242 | }, 1243 | "buffer": { 1244 | "version": "5.7.1", 1245 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", 1246 | "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", 1247 | "requires": { 1248 | "base64-js": "^1.3.1", 1249 | "ieee754": "^1.1.13" 1250 | } 1251 | }, 1252 | "callsites": { 1253 | "version": "3.1.0", 1254 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 1255 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" 1256 | }, 1257 | "chownr": { 1258 | "version": "2.0.0", 1259 | "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", 1260 | "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" 1261 | }, 1262 | "code-point-at": { 1263 | "version": "1.1.0", 1264 | "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", 1265 | "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" 1266 | }, 1267 | "combined-stream": { 1268 | "version": "1.0.8", 1269 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 1270 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 1271 | "requires": { 1272 | "delayed-stream": "~1.0.0" 1273 | } 1274 | }, 1275 | "concat-map": { 1276 | "version": "0.0.1", 1277 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1278 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" 1279 | }, 1280 | "console-control-strings": { 1281 | "version": "1.1.0", 1282 | "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", 1283 | "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" 1284 | }, 1285 | "core-util-is": { 1286 | "version": "1.0.2", 1287 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 1288 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" 1289 | }, 1290 | "decompress-response": { 1291 | "version": "4.2.1", 1292 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", 1293 | "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", 1294 | "requires": { 1295 | "mimic-response": "^2.0.0" 1296 | } 1297 | }, 1298 | "deep-extend": { 1299 | "version": "0.6.0", 1300 | "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", 1301 | "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" 1302 | }, 1303 | "delayed-stream": { 1304 | "version": "1.0.0", 1305 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 1306 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" 1307 | }, 1308 | "delegates": { 1309 | "version": "1.0.0", 1310 | "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", 1311 | "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" 1312 | }, 1313 | "detect-libc": { 1314 | "version": "1.0.3", 1315 | "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", 1316 | "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" 1317 | }, 1318 | "discord-api-types": { 1319 | "version": "0.22.0", 1320 | "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.22.0.tgz", 1321 | "integrity": "sha512-l8yD/2zRbZItUQpy7ZxBJwaLX/Bs2TGaCthRppk8Sw24LOIWg12t9JEreezPoYD0SQcC2htNNo27kYEpYW/Srg==" 1322 | }, 1323 | "discord.js": { 1324 | "version": "13.0.1", 1325 | "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-13.0.1.tgz", 1326 | "integrity": "sha512-pEODCFfxypBnGEYpSgjkn1jt70raCS1um7Zp0AXEfW1DcR29wISzQ/WeWdnjP5KTXGi0LTtkRiUjOsMgSoukxA==", 1327 | "requires": { 1328 | "@discordjs/builders": "^0.4.0", 1329 | "@discordjs/collection": "^0.2.1", 1330 | "@discordjs/form-data": "^3.0.1", 1331 | "@sapphire/async-queue": "^1.1.4", 1332 | "@types/ws": "^7.4.7", 1333 | "discord-api-types": "^0.22.0", 1334 | "node-fetch": "^2.6.1", 1335 | "ws": "^7.5.1" 1336 | } 1337 | }, 1338 | "dot-prop": { 1339 | "version": "6.0.1", 1340 | "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", 1341 | "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", 1342 | "requires": { 1343 | "is-obj": "^2.0.0" 1344 | } 1345 | }, 1346 | "end-of-stream": { 1347 | "version": "1.4.4", 1348 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 1349 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 1350 | "requires": { 1351 | "once": "^1.4.0" 1352 | } 1353 | }, 1354 | "event-target-shim": { 1355 | "version": "5.0.1", 1356 | "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", 1357 | "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" 1358 | }, 1359 | "expand-template": { 1360 | "version": "2.0.3", 1361 | "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", 1362 | "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==" 1363 | }, 1364 | "file-uri-to-path": { 1365 | "version": "1.0.0", 1366 | "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", 1367 | "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" 1368 | }, 1369 | "form-data": { 1370 | "version": "4.0.0", 1371 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", 1372 | "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", 1373 | "requires": { 1374 | "asynckit": "^0.4.0", 1375 | "combined-stream": "^1.0.8", 1376 | "mime-types": "^2.1.12" 1377 | } 1378 | }, 1379 | "fs-constants": { 1380 | "version": "1.0.0", 1381 | "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", 1382 | "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" 1383 | }, 1384 | "fs-minipass": { 1385 | "version": "2.1.0", 1386 | "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", 1387 | "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", 1388 | "requires": { 1389 | "minipass": "^3.0.0" 1390 | } 1391 | }, 1392 | "fs.realpath": { 1393 | "version": "1.0.0", 1394 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1395 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" 1396 | }, 1397 | "gauge": { 1398 | "version": "2.7.4", 1399 | "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", 1400 | "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", 1401 | "requires": { 1402 | "aproba": "^1.0.3", 1403 | "console-control-strings": "^1.0.0", 1404 | "has-unicode": "^2.0.0", 1405 | "object-assign": "^4.1.0", 1406 | "signal-exit": "^3.0.0", 1407 | "string-width": "^1.0.1", 1408 | "strip-ansi": "^3.0.1", 1409 | "wide-align": "^1.1.0" 1410 | } 1411 | }, 1412 | "github-from-package": { 1413 | "version": "0.0.0", 1414 | "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", 1415 | "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=" 1416 | }, 1417 | "glob": { 1418 | "version": "7.1.7", 1419 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", 1420 | "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", 1421 | "requires": { 1422 | "fs.realpath": "^1.0.0", 1423 | "inflight": "^1.0.4", 1424 | "inherits": "2", 1425 | "minimatch": "^3.0.4", 1426 | "once": "^1.3.0", 1427 | "path-is-absolute": "^1.0.0" 1428 | } 1429 | }, 1430 | "has-unicode": { 1431 | "version": "2.0.1", 1432 | "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", 1433 | "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" 1434 | }, 1435 | "ieee754": { 1436 | "version": "1.2.1", 1437 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 1438 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" 1439 | }, 1440 | "inflight": { 1441 | "version": "1.0.6", 1442 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1443 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1444 | "requires": { 1445 | "once": "^1.3.0", 1446 | "wrappy": "1" 1447 | } 1448 | }, 1449 | "inherits": { 1450 | "version": "2.0.4", 1451 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1452 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 1453 | }, 1454 | "ini": { 1455 | "version": "1.3.8", 1456 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", 1457 | "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" 1458 | }, 1459 | "is-fullwidth-code-point": { 1460 | "version": "1.0.0", 1461 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", 1462 | "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", 1463 | "requires": { 1464 | "number-is-nan": "^1.0.0" 1465 | } 1466 | }, 1467 | "is-obj": { 1468 | "version": "2.0.0", 1469 | "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", 1470 | "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" 1471 | }, 1472 | "isarray": { 1473 | "version": "1.0.0", 1474 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1475 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" 1476 | }, 1477 | "lodash": { 1478 | "version": "4.17.21", 1479 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 1480 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" 1481 | }, 1482 | "lodash.isequal": { 1483 | "version": "4.5.0", 1484 | "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", 1485 | "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" 1486 | }, 1487 | "mime-db": { 1488 | "version": "1.49.0", 1489 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", 1490 | "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==" 1491 | }, 1492 | "mime-types": { 1493 | "version": "2.1.32", 1494 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", 1495 | "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", 1496 | "requires": { 1497 | "mime-db": "1.49.0" 1498 | } 1499 | }, 1500 | "mimic-response": { 1501 | "version": "2.1.0", 1502 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", 1503 | "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==" 1504 | }, 1505 | "minimatch": { 1506 | "version": "3.0.4", 1507 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 1508 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 1509 | "requires": { 1510 | "brace-expansion": "^1.1.7" 1511 | } 1512 | }, 1513 | "minimist": { 1514 | "version": "1.2.5", 1515 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", 1516 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" 1517 | }, 1518 | "minipass": { 1519 | "version": "3.1.3", 1520 | "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", 1521 | "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", 1522 | "requires": { 1523 | "yallist": "^4.0.0" 1524 | } 1525 | }, 1526 | "minizlib": { 1527 | "version": "2.1.2", 1528 | "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", 1529 | "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", 1530 | "requires": { 1531 | "minipass": "^3.0.0", 1532 | "yallist": "^4.0.0" 1533 | } 1534 | }, 1535 | "mkdirp": { 1536 | "version": "1.0.4", 1537 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", 1538 | "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" 1539 | }, 1540 | "mkdirp-classic": { 1541 | "version": "0.5.3", 1542 | "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", 1543 | "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" 1544 | }, 1545 | "napi-build-utils": { 1546 | "version": "1.0.2", 1547 | "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", 1548 | "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" 1549 | }, 1550 | "node-abi": { 1551 | "version": "2.30.0", 1552 | "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.0.tgz", 1553 | "integrity": "sha512-g6bZh3YCKQRdwuO/tSZZYJAw622SjsRfJ2X0Iy4sSOHZ34/sPPdVBn8fev2tj7njzLwuqPw9uMtGsGkO5kIQvg==", 1554 | "requires": { 1555 | "semver": "^5.4.1" 1556 | } 1557 | }, 1558 | "node-fetch": { 1559 | "version": "2.6.1", 1560 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", 1561 | "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" 1562 | }, 1563 | "npmlog": { 1564 | "version": "4.1.2", 1565 | "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", 1566 | "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", 1567 | "requires": { 1568 | "are-we-there-yet": "~1.1.2", 1569 | "console-control-strings": "~1.1.0", 1570 | "gauge": "~2.7.3", 1571 | "set-blocking": "~2.0.0" 1572 | } 1573 | }, 1574 | "number-is-nan": { 1575 | "version": "1.0.1", 1576 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", 1577 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" 1578 | }, 1579 | "object-assign": { 1580 | "version": "4.1.1", 1581 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 1582 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" 1583 | }, 1584 | "once": { 1585 | "version": "1.4.0", 1586 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1587 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1588 | "requires": { 1589 | "wrappy": "1" 1590 | } 1591 | }, 1592 | "ow": { 1593 | "version": "0.27.0", 1594 | "resolved": "https://registry.npmjs.org/ow/-/ow-0.27.0.tgz", 1595 | "integrity": "sha512-SGnrGUbhn4VaUGdU0EJLMwZWSupPmF46hnTRII7aCLCrqixTAC5eKo8kI4/XXf1eaaI8YEVT+3FeGNJI9himAQ==", 1596 | "requires": { 1597 | "@sindresorhus/is": "^4.0.1", 1598 | "callsites": "^3.1.0", 1599 | "dot-prop": "^6.0.1", 1600 | "lodash.isequal": "^4.5.0", 1601 | "type-fest": "^1.2.1", 1602 | "vali-date": "^1.0.0" 1603 | } 1604 | }, 1605 | "path-is-absolute": { 1606 | "version": "1.0.1", 1607 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1608 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" 1609 | }, 1610 | "prebuild-install": { 1611 | "version": "6.1.3", 1612 | "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.1.3.tgz", 1613 | "integrity": "sha512-iqqSR84tNYQUQHRXalSKdIaM8Ov1QxOVuBNWI7+BzZWv6Ih9k75wOnH1rGQ9WWTaaLkTpxWKIciOF0KyfM74+Q==", 1614 | "requires": { 1615 | "detect-libc": "^1.0.3", 1616 | "expand-template": "^2.0.3", 1617 | "github-from-package": "0.0.0", 1618 | "minimist": "^1.2.3", 1619 | "mkdirp-classic": "^0.5.3", 1620 | "napi-build-utils": "^1.0.1", 1621 | "node-abi": "^2.21.0", 1622 | "npmlog": "^4.0.1", 1623 | "pump": "^3.0.0", 1624 | "rc": "^1.2.7", 1625 | "simple-get": "^3.0.3", 1626 | "tar-fs": "^2.0.0", 1627 | "tunnel-agent": "^0.6.0" 1628 | } 1629 | }, 1630 | "process-nextick-args": { 1631 | "version": "2.0.1", 1632 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", 1633 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" 1634 | }, 1635 | "pump": { 1636 | "version": "3.0.0", 1637 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 1638 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 1639 | "requires": { 1640 | "end-of-stream": "^1.1.0", 1641 | "once": "^1.3.1" 1642 | } 1643 | }, 1644 | "quick.db": { 1645 | "version": "7.1.3", 1646 | "resolved": "https://registry.npmjs.org/quick.db/-/quick.db-7.1.3.tgz", 1647 | "integrity": "sha512-0S1fVb9OAZGhkI4ZIc5Oe4yWMwhz20xSsziwd6+yGWKKMsPt+XOfj/gD5CesGxd2WdqBkZFBiP8ZqWDu55HLHA==", 1648 | "requires": { 1649 | "better-sqlite3": "^7.1.1", 1650 | "lodash": "^4.17.20" 1651 | } 1652 | }, 1653 | "rc": { 1654 | "version": "1.2.8", 1655 | "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", 1656 | "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", 1657 | "requires": { 1658 | "deep-extend": "^0.6.0", 1659 | "ini": "~1.3.0", 1660 | "minimist": "^1.2.0", 1661 | "strip-json-comments": "~2.0.1" 1662 | } 1663 | }, 1664 | "readable-stream": { 1665 | "version": "2.3.7", 1666 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", 1667 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", 1668 | "requires": { 1669 | "core-util-is": "~1.0.0", 1670 | "inherits": "~2.0.3", 1671 | "isarray": "~1.0.0", 1672 | "process-nextick-args": "~2.0.0", 1673 | "safe-buffer": "~5.1.1", 1674 | "string_decoder": "~1.1.1", 1675 | "util-deprecate": "~1.0.1" 1676 | } 1677 | }, 1678 | "safe-buffer": { 1679 | "version": "5.1.2", 1680 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 1681 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 1682 | }, 1683 | "semver": { 1684 | "version": "5.7.1", 1685 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 1686 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" 1687 | }, 1688 | "set-blocking": { 1689 | "version": "2.0.0", 1690 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 1691 | "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" 1692 | }, 1693 | "signal-exit": { 1694 | "version": "3.0.3", 1695 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", 1696 | "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" 1697 | }, 1698 | "simple-concat": { 1699 | "version": "1.0.1", 1700 | "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", 1701 | "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==" 1702 | }, 1703 | "simple-get": { 1704 | "version": "3.1.0", 1705 | "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz", 1706 | "integrity": "sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==", 1707 | "requires": { 1708 | "decompress-response": "^4.2.0", 1709 | "once": "^1.3.1", 1710 | "simple-concat": "^1.0.0" 1711 | } 1712 | }, 1713 | "string_decoder": { 1714 | "version": "1.1.1", 1715 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 1716 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 1717 | "requires": { 1718 | "safe-buffer": "~5.1.0" 1719 | } 1720 | }, 1721 | "string-width": { 1722 | "version": "1.0.2", 1723 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", 1724 | "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", 1725 | "requires": { 1726 | "code-point-at": "^1.0.0", 1727 | "is-fullwidth-code-point": "^1.0.0", 1728 | "strip-ansi": "^3.0.0" 1729 | } 1730 | }, 1731 | "strip-ansi": { 1732 | "version": "3.0.1", 1733 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 1734 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 1735 | "requires": { 1736 | "ansi-regex": "^2.0.0" 1737 | } 1738 | }, 1739 | "strip-json-comments": { 1740 | "version": "2.0.1", 1741 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 1742 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" 1743 | }, 1744 | "tar": { 1745 | "version": "6.1.6", 1746 | "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.6.tgz", 1747 | "integrity": "sha512-oaWyu5dQbHaYcyZCTfyPpC+VmI62/OM2RTUYavTk1MDr1cwW5Boi3baeYQKiZbY2uSQJGr+iMOzb/JFxLrft+g==", 1748 | "requires": { 1749 | "chownr": "^2.0.0", 1750 | "fs-minipass": "^2.0.0", 1751 | "minipass": "^3.0.0", 1752 | "minizlib": "^2.1.1", 1753 | "mkdirp": "^1.0.3", 1754 | "yallist": "^4.0.0" 1755 | } 1756 | }, 1757 | "tar-fs": { 1758 | "version": "2.1.1", 1759 | "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", 1760 | "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", 1761 | "requires": { 1762 | "chownr": "^1.1.1", 1763 | "mkdirp-classic": "^0.5.2", 1764 | "pump": "^3.0.0", 1765 | "tar-stream": "^2.1.4" 1766 | }, 1767 | "dependencies": { 1768 | "chownr": { 1769 | "version": "1.1.4", 1770 | "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", 1771 | "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" 1772 | } 1773 | } 1774 | }, 1775 | "tar-stream": { 1776 | "version": "2.2.0", 1777 | "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", 1778 | "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", 1779 | "requires": { 1780 | "bl": "^4.0.3", 1781 | "end-of-stream": "^1.4.1", 1782 | "fs-constants": "^1.0.0", 1783 | "inherits": "^2.0.3", 1784 | "readable-stream": "^3.1.1" 1785 | }, 1786 | "dependencies": { 1787 | "readable-stream": { 1788 | "version": "3.6.0", 1789 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 1790 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 1791 | "requires": { 1792 | "inherits": "^2.0.3", 1793 | "string_decoder": "^1.1.1", 1794 | "util-deprecate": "^1.0.1" 1795 | } 1796 | } 1797 | } 1798 | }, 1799 | "ts-mixer": { 1800 | "version": "6.0.0", 1801 | "resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.0.tgz", 1802 | "integrity": "sha512-nXIb1fvdY5CBSrDIblLn73NW0qRDk5yJ0Sk1qPBF560OdJfQp9jhl+0tzcY09OZ9U+6GpeoI9RjwoIKFIoB9MQ==" 1803 | }, 1804 | "tslib": { 1805 | "version": "2.3.0", 1806 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", 1807 | "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" 1808 | }, 1809 | "tunnel-agent": { 1810 | "version": "0.6.0", 1811 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 1812 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", 1813 | "requires": { 1814 | "safe-buffer": "^5.0.1" 1815 | } 1816 | }, 1817 | "type-fest": { 1818 | "version": "1.4.0", 1819 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", 1820 | "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==" 1821 | }, 1822 | "util-deprecate": { 1823 | "version": "1.0.2", 1824 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 1825 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 1826 | }, 1827 | "vali-date": { 1828 | "version": "1.0.0", 1829 | "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz", 1830 | "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=" 1831 | }, 1832 | "wide-align": { 1833 | "version": "1.1.3", 1834 | "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", 1835 | "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", 1836 | "requires": { 1837 | "string-width": "^1.0.2 || 2" 1838 | } 1839 | }, 1840 | "wrappy": { 1841 | "version": "1.0.2", 1842 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1843 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" 1844 | }, 1845 | "ws": { 1846 | "version": "7.5.3", 1847 | "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz", 1848 | "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==", 1849 | "requires": {} 1850 | }, 1851 | "yallist": { 1852 | "version": "4.0.0", 1853 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 1854 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" 1855 | } 1856 | } 1857 | } 1858 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "discord.js-13-bot-template", 3 | "version": "1.0.0", 4 | "description": "Bot template for Discord.js v13 with command handler, Slash (/) commands.", 5 | "main": "main.js", 6 | "scripts": { 7 | "start": "node main.js" 8 | }, 9 | "author": "cFyt", 10 | "license": "MIT", 11 | "dependencies": { 12 | "@discordjs/rest": "^0.1.0-canary.0", 13 | "ascii-table": "^0.0.9", 14 | "discord.js": "^13.0.1", 15 | "glob": "^7.1.7", 16 | "quick.db": "^7.1.3" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /slashCommands/info/help.js: -------------------------------------------------------------------------------- 1 | const { Client, Interaction, MessageEmbed } = require("discord.js"); 2 | const en = require('../../langs/en.json') 3 | /** 4 | * @param {Client} client 5 | * @param {Interaction} interaction 6 | * @param {en} lang 7 | */ 8 | module.exports.run = (client,interaction, options,lang) => { 9 | console.log(options) 10 | interaction.reply(`THIS IS HELP COMMAND`) 11 | 12 | } 13 | module.exports.conf = { 14 | "name": "help", 15 | "description": ["Bot ve komutlar hakkında bilgileri gösterir.","Displays bot's commands and info1."], 16 | "options":[ 17 | { 18 | "name": "category", 19 | "description": "A category wants you display", 20 | "type": 3, 21 | "required": false, 22 | "choices": [ 23 | { 24 | "name": "Info", 25 | "value": "info" 26 | }, 27 | { 28 | "name": "Settings", 29 | "value": "settings" 30 | }, 31 | { 32 | "name": "Announce", 33 | "value": "announce" 34 | } 35 | ] 36 | } 37 | ], 38 | "category": "info" 39 | } 40 | -------------------------------------------------------------------------------- /slashCommands/info/ping.js: -------------------------------------------------------------------------------- 1 | const { Client, Interaction } = require("discord.js"); 2 | /** 3 | * @param {Client} client 4 | * @param {Interaction} interaction 5 | */ 6 | module.exports.run = (client, interaction) => { 7 | let d2 = interaction.createdTimestamp 8 | interaction.reply(`${d2 - Date.now()} ms`) 9 | console.log(interaction.options) 10 | } 11 | module.exports.conf = { 12 | "name": "ping", 13 | "description": ["Bot pingini ölçer.", "Calculates bot's ping."], //first element for turkish and second one for english 14 | "options": [], 15 | "category": "info" 16 | } 17 | -------------------------------------------------------------------------------- /utils/commandRefresh.js: -------------------------------------------------------------------------------- 1 | const { REST } = require('@discordjs/rest'); 2 | const { Routes } = require('discord-api-types/v9'); 3 | const config = require('../config.json') 4 | const rest = new REST({ version: '9' }).setToken(config.token); 5 | 6 | function commandRefresh(guildlID, commands){ 7 | 8 | (async () => { 9 | 10 | try { 11 | console.log('Started refreshing application (/) commands.'); 12 | 13 | await rest.put( 14 | Routes.applicationGuildCommands(config.appID, guildlID), 15 | { body: commands, }, 16 | ); 17 | 18 | console.log('Successfully reloaded application (/) commands.'); 19 | } catch (error) { 20 | console.error(error); 21 | } 22 | })(); 23 | } 24 | module.exports = { 25 | commandRefresh 26 | } 27 | -------------------------------------------------------------------------------- /utils/event.js: -------------------------------------------------------------------------------- 1 | const { Client } = require("discord.js"); 2 | 3 | /** 4 | * @param {Client} client 5 | */ 6 | const reqEvent = (event) => require(`../events/${event}`); 7 | module.exports = async (client) => { 8 | client.on("messageCreate", reqEvent("messageCreate")); 9 | client.on("interactionCreate", reqEvent("interactionCreate")); 10 | client.on("guildCreate", reqEvent("guildCreate")); 11 | }; -------------------------------------------------------------------------------- /utils/getLang.js: -------------------------------------------------------------------------------- 1 | const { Message } = require("discord.js"); 2 | const db = require('quick.db'); 3 | const tr = require('../langs/tr.json') 4 | const en = require('../langs/en.json') 5 | /** 6 | * @param {Message} message 7 | */ 8 | function getLang(message, id) { 9 | let lang; 10 | if(id){ 11 | lang = db.get(`lang.${id}`) 12 | }else{ 13 | lang = db.get(`lang.${message.guild.id}`) 14 | } 15 | 16 | if (lang) { 17 | if (lang == "tr") { 18 | flang = tr 19 | } else { 20 | flang = en 21 | } 22 | } else { 23 | flang = en 24 | } 25 | return flang 26 | } 27 | module.exports = { 28 | getLang 29 | } 30 | -------------------------------------------------------------------------------- /utils/getprefix.js: -------------------------------------------------------------------------------- 1 | const { Message } = require("discord.js"); 2 | const db = require('quick.db'); 3 | const defprefix = require('../config.json').prefix 4 | /** 5 | * @param {Message} message 6 | */ 7 | function getPrefix(message) { 8 | let prefix = db.get(`prefix.${message.guild.id}`) 9 | if (prefix) { 10 | fprefix = prefix 11 | } else { 12 | fprefix = defprefix 13 | } 14 | return fprefix 15 | } 16 | module.exports = { 17 | getPrefix 18 | } -------------------------------------------------------------------------------- /utils/handler.js: -------------------------------------------------------------------------------- 1 | const fs = require("fs") 2 | module.exports = async (client) => { 3 | fs.readdir("handlers/", (err,files)=>{ 4 | if(err) console.error(err) 5 | files.forEach(file=>{ 6 | 7 | if(file.endsWith('.js')){ 8 | require('../handlers/'+file)(client) 9 | } 10 | }) 11 | }) 12 | }; -------------------------------------------------------------------------------- /utils/sendError.js: -------------------------------------------------------------------------------- 1 | const { MessageEmbed, Message } = require('discord.js') 2 | /** 3 | * @param {Message} message 4 | */ 5 | function sendError(message, error, reply) { 6 | if (reply) { 7 | message.channel.send({ 8 | embeds: [ 9 | new MessageEmbed() 10 | .setAuthor(message.user.username, message.user.displayAvatarURL()) 11 | .setColor("DARK_RED") 12 | .setTimestamp() 13 | .setDescription(error) 14 | ] 15 | }) 16 | } 17 | else { 18 | message.reply({ 19 | embeds: [ 20 | new MessageEmbed() 21 | .setAuthor(message.user.username, message.user.displayAvatarURL()) 22 | .setColor("DARK_RED") 23 | .setTimestamp() 24 | .setDescription(error) 25 | ] 26 | }) 27 | } 28 | 29 | } 30 | module.exports = { 31 | sendError 32 | } 33 | -------------------------------------------------------------------------------- /utils/sendSuccess.js: -------------------------------------------------------------------------------- 1 | const { MessageEmbed, Message } = require('discord.js') 2 | /** 3 | * @param {Message} message 4 | * @param {String} msg 5 | */ 6 | function sendSuccess(message, msg, reply) { 7 | if(reply){ 8 | message.channel.send({ 9 | embeds: [ 10 | new MessageEmbed() 11 | .setColor("DARK_GREEN") 12 | .setAuthor(message.member.user.username, message.member.user.displayAvatarURL()) 13 | .setTimestamp() 14 | .setDescription(msg) 15 | ] 16 | }) 17 | }else { 18 | message.reply({ 19 | embeds: [ 20 | new MessageEmbed() 21 | .setColor("DARK_GREEN") 22 | .setAuthor(message.member.user.username, message.member.user.displayAvatarURL()) 23 | .setTimestamp() 24 | .setDescription(msg) 25 | ] 26 | }) 27 | } 28 | 29 | } 30 | module.exports = { 31 | sendSuccess 32 | } 33 | --------------------------------------------------------------------------------