├── .github
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ └── feature_request.md
└── workflows
│ └── node.js.yml
├── .gitignore
├── .replit
├── INSTALLATION.md
├── LICENSE
├── README.md
├── bot.js
├── commands
├── avatar.js
├── farm.js
├── help.js
├── im.js
├── info-server.js
├── inventory.js
├── market.js
├── mine.js
├── ping.js
├── profile.js
├── prune.js
├── reaction.js
├── reload.js
└── restart.js
├── config.json
├── index.html
├── json.sqlite
├── keep_alive.js
├── manifest.json
├── models
├── items.js
├── member.js
├── profile.js
└── schema
│ ├── guild.js
│ ├── log.js
│ └── user.js
├── package-lock.json
├── package.json
└── shrinkwrap.yaml
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Describe the bug**
11 | A clear and concise description of what the bug is.
12 |
13 | **To Reproduce**
14 | Steps to reproduce the behavior:
15 | 1. Go to '...'
16 | 2. Click on '....'
17 | 3. Scroll down to '....'
18 | 4. See error
19 |
20 | **Expected behavior**
21 | A clear and concise description of what you expected to happen.
22 |
23 | **Screenshots**
24 | If applicable, add screenshots to help explain your problem.
25 |
26 | **Desktop (please complete the following information):**
27 | - OS: [e.g. iOS]
28 | - Browser [e.g. chrome, safari]
29 | - Version [e.g. 22]
30 |
31 | **Smartphone (please complete the following information):**
32 | - Device: [e.g. iPhone6]
33 | - OS: [e.g. iOS8.1]
34 | - Browser [e.g. stock browser, safari]
35 | - Version [e.g. 22]
36 |
37 | **Additional context**
38 | Add any other context about the problem here.
39 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Is your feature request related to a problem? Please describe.**
11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12 |
13 | **Describe the solution you'd like**
14 | A clear and concise description of what you want to happen.
15 |
16 | **Describe alternatives you've considered**
17 | A clear and concise description of any alternative solutions or features you've considered.
18 |
19 | **Additional context**
20 | Add any other context or screenshots about the feature request here.
21 |
--------------------------------------------------------------------------------
/.github/workflows/node.js.yml:
--------------------------------------------------------------------------------
1 | # This workflow will do a clean install of node dependencies, cache/restore them, build the source code and run tests across different versions of node
2 | # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
3 | on:
4 | pull_request:
5 | paths-ignore:
6 | - '*.md'
7 |
8 | jobs:
9 | build:
10 | runs-on: ubuntu-latest
11 |
12 | steps:
13 | - uses: actions/checkout@v2
14 | - name: Use Node.js 12
15 | uses: actions/setup-node@v2
16 | with:
17 | node-version: 12.x
18 | cache: 'npm'
19 | - run: npm i
20 | - run: npm start bot.js
21 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | keep_alive.js
2 | manifest.json
3 | json.sqlite
4 | .models
5 | config.json
6 |
--------------------------------------------------------------------------------
/.replit:
--------------------------------------------------------------------------------
1 | language = "nodejs"
2 | run = "npm start bot.js"
--------------------------------------------------------------------------------
/INSTALLATION.md:
--------------------------------------------------------------------------------
1 | # Installation Guide
2 | Finally, i have time to write installation guide for those who fork this project
3 | So i will give you some tips how to make your bot online
4 |
5 | - First
6 | You will need to see `config.json` file, you can see there is `"prefix": s!`
7 | change that whenever you want for your prefix
8 | if you are asking "Where do i put my bot token?" well, you should read the second step
9 |
10 | - Second
11 | Now, you should create `.env` file
12 | Inside this file you should put your token with
13 | ```
14 | TOKEN="[YOUR BOT TOKEN]"
15 | F_CREDITS="This bot created by GameWatch21" // You can change this if you want, F refer to Footer not respect
16 | PREFIX=s! //This one is for help command, well even i want to use this too for command prefix, but eh still working on it
17 | ```
18 | Inside the `.env` file, you can put whatever you want
19 | To import what's inside the file, you can use `process.env.[KEY]` example: `process.env.TOKEN` and it will print your bot token (cool right?)
20 |
21 | - Third
22 | Make sure to install all the package, the most important is
23 | • Discord.js (ver 12)
24 | • quick.db (latest ver)
25 | • parse-ms (latest ver)
26 | • express (latest ver) For website
27 | • querystring (latest ver) For website and command
28 |
29 | - Fourth
30 | erase the `json.sqlite` file, since it store my database
31 | You willnt use database right? well even you use mine, it still separate but to reset the database, you can erase that file, then make new one (just delete it then you can use the database)
32 | If you are saying that "sqlite is hard, i cant do database" that's why i use quick.db, it's an easy database, same function, but better for begginer (like me)
33 |
34 | - Fifth
35 | Now, lets try to make your bot online, if your bot not online after following this step, then probably i miss something with the guide, sorry 😂
36 | But, if your bot online, congrats, you already did the guide succesfully and i didnt need to worry about my code
37 | You can see the code isnt clean yet, i still use the comment tag instead of erasing them, because i need them sometime
38 | So i need to use comment tag to remind myself sooner
39 |
40 | - sixth (optional)
41 | For you that want to make a website for your discord bot, for now im still learning about ejs (an js embed for website) you can change the port to your server hosting or repl or glitch, if it still not online, probably your html code print an error
42 | If it not error there is a line saying "Listening to port blabla" in your console
43 | That's mean your website is online :)
44 |
45 | ## Support
46 | If you desperate, or this guide is stupid, you should join my support server or just dm me `GameWatch21#2121` (okay dont spam me)
47 | And i will respond to you as soon as possible and help with your bot, dont give me access to your bot token because it's not safe to share it to other users especially me (just give me your ID Card, jk)
48 |
49 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 GameWatch21
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 | # CodordGround
2 | A Discord Bot for coding Ground
3 | Roughly, this bot is created to train myself to code a discord bot myself, actually not myself, i also learn code and learn guides on other website too, such as [DiscordJs Guide](https://discordjs.guide)
4 | Also, Join our [Discord Server](https://discord.gg/ASHGkue) so it's easy to meet me and ask something, actually im not your teacher so i will not teach you 😂
5 |
6 | At Wednesday 8 December, i make website for CodeGround, actually sorry for the bad css, i'm bad at choosing style and animation, so it's still in maintenance and probably never going to publish it to global but here if you want
7 | [CodeGround Website](https://cg-economy.gamewatch21.repl.co/)
8 | If it offline, please wait a minute till it load :) thank you
9 |
10 | Before this, i use glitch.com as my personal Coding space and as github uploder
11 | But at Wednesday, 16 December, i decide to use repl.it for my coding space, it's also because of the free hosting and mobile friendly (not really, but i for me i already code easier)
12 |
13 | If you want to help me building project, or you have a project that are forked from my code, or you got motivation from my code, you can send your github link and i will list the project
14 |
15 | If you found that my code is different from other, it's normal, we have different "client" different "variable" and etc
16 |
17 | I will be posting the installation guide soon but, you only need to make ".env" file and copy this text
18 | `TOKEN = [your token]`
19 | `F_CREDIT = Created by GameWatch21`
20 | The complete installation guide will be posted soon
21 |
22 | ## Working Log
23 | Here are my **Working Log** that i need to work on and not hopefully work, but i must make it work
24 | The checked one, mean it's already working, for the others, i dont know when i will finish it, but i will finish it soon
25 | - [x] Bot online (Wednesday, 25 November 2020 by **_GameWatch21_**)
26 | - [x] Sending Basic Message (Wednesday, 25 November 2020 by **_GameWatch21_**)
27 | - [ ] Sending Arguments Message
28 | - [x] Making an Embed message working (Wednesday, 25 November 2020 by **_GameWatch21_**)
29 | - [x] Making Purne Message (Wednesday, 25 November 2020 by **_GameWatch21_**)
30 | - [x] Make backend code more dynamic, not that dynamic,i use my own style to write codes even it's bad (Thursday, 26 Novermber 2020 by **_GameWatch21_**)
31 | - [x] Add avatar command (Wednesday, 8 December 2020 by **_GameWatch21_**)
32 | - [x] Create Status for bot (Wednesday, 16 December 2020 by **_GameWatch21_**)
33 | - [ ] Making an Economy Games [This one is different, will be on differeny section]
34 | - [ ] Make an Moderation commands
35 | - [x] Make an Website for the bot (Wednesday, 8 December 2020 by **_GameWatch21_**)
36 | - [ ] Add music feature to the bot
37 | - [ ] Brainstorming New Features
38 |
39 | ## Economy Games
40 | Soo, uhh i have plan that i will make a real economy game where there is 4 roles (Farmer, Miner, Crafter, Worker)
41 | You can choose one of the 4 roles and contribute to the economy world
42 | Here are all the details what can you get for each roles, also you cant change roles when you are playing so choose wisely
43 | ### Farmer
44 | - Producing Crops
45 | - Selling and Buying lifestocks
46 | - Grow animal
47 | - Renting Lands
48 |
49 | ### Miner
50 | - Producing Ores (Gold, Silver, Platinum, Diamond, Emerald)
51 | - Renting Mines and Equipment
52 | - Selling Ores to get money
53 |
54 | ### Worker
55 | - Producing Materials
56 | - Renting Workspace
57 | - Selling Materials to craft and make equipment
58 |
59 | ### Crafter
60 | - Producing Equipment
61 | - Renting Workspace
62 | - Selling Equipment
63 |
64 | Note: It was CG-ECO, but i change it to Codord Ground because ehh, i will change the code for a bit and make a rework, Also following the discord.js Updates, so yeah stay tuned
65 |
66 | ## 👤For contributors
67 | Actually i never thought to invite or ask an contributors, but if you want to contribute, you can try to learn to make a new command and we will publish your code with your credits, so if you have simple code that you want to share with us, it's okay, just DM me on Discord and send the code file on txt or whatever you want or just open an issue and paste the code
68 |
69 | ## 🚫About Error Code
70 | If you found out a bug, or something that's weird on the code, just open a issue and i will try to solve it as fast as possible, and always i will say thank you for those who help me find out a bug
71 |
72 | ## 🍴For Forking
73 | Feel free to fork my code, it's free and you can edit with your own style, well i didnt explain well the code what's the section is, what's this used for, so you will need to explore it yourself, you can decide you want to use my credits or no, i dont care just do whatever you want i will try to make new command and code as my free time
74 |
75 | ## 🛠️Other Project
76 | There is other project i work on, even though, i still make the project as an open source, so probably you want to fork it, or you have better idea than mine
77 | You can easily fork it and use it, no need installation guide :)
78 | - [Discord Faucet Bot](https://github.com/GameWatch21/faucet-bot) | A fork from CG-Economy, turn into a cryptocurrency faucet bot
79 |
--------------------------------------------------------------------------------
/bot.js:
--------------------------------------------------------------------------------
1 | //To make a website working on node.js
2 | const http = require("http");
3 | //For the website port
4 | const port = 8080;
5 | const url = require('url');
6 | const fetchs = require('node-fetch');
7 | //To read file on a folder
8 | const fs = require("fs");
9 | //Variable for discordjs
10 | const { Client, Collection, Intents } = require('discord.js');
11 | //Importing your information from config.jsom
12 | const { prefix , token , mongodb_uri , status , clientid , clientsecret , grandtype } = require("./config.json");
13 | //Make the discord client
14 | const client = new Client({ intents: [Intents.FLAGS.GUILDS] });
15 | //Variable for mongodb
16 | const mongoose = require('mongoose');
17 | // Variable for client comman
18 | client.commands = new Collection();
19 |
20 | // [WEBSITE CODE]
21 | http.createServer((req, res) => {
22 | let responseCode = 404;
23 | let content = '404 Error';
24 | let content2 = '404 Error';
25 |
26 | const urlObj = url.parse(req.url, true);
27 |
28 | // upcoming feature to use discord login
29 | if (urlObj.query.code) {
30 | const accessCode = urlObj.query.code;
31 | const data = {
32 | client_id: clientid,
33 | client_secret: clientsecret,
34 | grant_type: grandtype,
35 | redirect_uri: 'https://discord.com/api/oauth2/authorize?client_id=694134339465642014&redirect_uri=https%3A%2F%2Fcodeground-cg.glitch.me%2F&response_type=code&scope=identify',
36 | code: accessCode,
37 | scope: 'the scopes',
38 | }; fetch('https://discord.com/api/oauth2/token', {
39 | method: 'POST',
40 | body: new URLSearchParams(data),
41 | headers: {
42 | 'Content-Type': 'application/x-www-form-urlencoded',
43 | },
44 | })
45 | .then(discordRes => discordRes.json())
46 | .then(info => {
47 | console.log(info);
48 | return info;
49 | })
50 | .then(info => fetch('https://discord.com/api/users/@me', {
51 | headers: {
52 | authorization: `${info.token_type} ${info.access_token}`,
53 | },
54 | }))
55 | .then(userRes => userRes.json())
56 | .then(console.log);
57 | }
58 | // will be updated when more page is added
59 | if (urlObj.pathname === '/') {
60 | responseCode = 200;
61 | content = fs.readFileSync('./index.html')
62 | }
63 |
64 | res.writeHead(responseCode, {
65 | 'content-type': 'text/html;charset=utf-8',
66 | });
67 |
68 | res.write(content);
69 | res.end();
70 | })
71 | .listen(port);
72 | // [WEBSITE CODE END]
73 |
74 | // [COMMAND READ]
75 | const commandFiles = fs
76 | .readdirSync("./commands")
77 | .filter(file => file.endsWith(".js"));
78 | for (const file of commandFiles) {
79 | const command = require(`./commands/${file}`);
80 | client.commands.set(command.name, command);
81 | }
82 | // [COMMAND READ END]
83 |
84 | // [MONGODB CONNECT]
85 |
86 | // [MONGODB CONNECT END]
87 |
88 | // [DISCORD ONLINE CHECK]
89 | client.once("ready", () => {
90 | console.log(
91 | "Yup im online, and im ready to work"
92 | );
93 | // [DISCORD ONLINE CHECK END]
94 |
95 | // [DISCORD BOT STATUS]
96 | // set your own status at config.json :)
97 | client.user.setActivity(status), {
98 | type: "playing"
99 | };
100 | // [DISCORD BOT STATUS END]
101 | });
102 |
103 | // [DISCORD MAIN COMMAND]
104 | client.on("message", message => {
105 | if (!message.content.startsWith(prefix) || message.author.bot) return;
106 | // this simply help command with arguments
107 | const args = message.content
108 | .slice(prefix.length)
109 | .trim()
110 | .split(/ +/);
111 | // if you use prefix with a character example: s!, it still work if the user use S!
112 | const commandName = args.shift().toLowerCase();
113 |
114 | const command =
115 | client.commands.get(commandName) ||
116 | client.commands.find(
117 | cmd => cmd.aliases && cmd.aliases.includes(commandName)
118 | );
119 |
120 | if (!command) return;
121 |
122 | try {
123 | command.execute(message, args);
124 | } catch (error) {
125 | console.error(error);
126 | message.reply("there was an error trying to execute that command!");
127 | }
128 | });
129 | // [DISCORD MAIN COMMAND END]
130 |
131 | client.login(token);
132 |
--------------------------------------------------------------------------------
/commands/avatar.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | name: 'avatar',
3 | description: 'Showing someone avatar',
4 | aliases: ['av'],
5 | execute(message, args){
6 | if (!message.mentions.users.size) {
7 | return message.channel.send(`Your avatar: <${message.author.displayAvatarURL({ format: "png", dynamic: true })}>`);
8 | }
9 |
10 | const avatarList = message.mentions.users.map(user => {
11 | return `${user.username}'s avatar: <${user.displayAvatarURL({ format: "png", dynamic: true })}>`;
12 | });
13 |
14 | // send the entire array of strings as a message
15 | // by default, discord.js will `.join()` the array with `\n`
16 | message.channel.send(avatarList)
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/commands/farm.js:
--------------------------------------------------------------------------------
1 | const Discord = require('discord.js');
2 | const db = require('quick.db');
3 | const ms = require('parse-ms');
4 |
5 | module.exports = {
6 | name: "farm",
7 | description: "Lets play with your farm :)",
8 | execute(message, args){
9 | const option = args[0];
10 | const check = db.fetch(`class_check.${message.author.id}`) || "no";
11 | const classes = db.fetch(`class.${message.author.id}`);
12 | /*let growth = 3500000;
13 | let harvest_time = db.get(`harvest_time.${message.author.id}`);
14 | if(message.channel.type == "text"){
15 | if (harvest_time !== null && growth - (Date.now() - harvest_time ) > 0) {
16 | let time = ms(growth - (Date.now() - harvest_time));
17 | return message.channel.send(
18 | `**Your plant is not yet ready to be harvested. Come back in ${time.hours}h ${time.minutes}m ${time.seconds}`
19 | );
20 | }*/
21 | //
22 | // ======================
23 | //
24 | if(check == 'no'){
25 | message.reply("You didnt register yet, use `s!register` to register");
26 | }
27 | if(!option){
28 | message.reply('what you are going to do with your farm?')
29 | }
30 | if(classes != "Farmer"){
31 | message.reply("This is not your class command")
32 | }
33 | if(classes == "Farmer"){
34 | // ================
35 | // PLANTING COMMAND
36 | // ================
37 | if(option == "plant"){
38 | const land = db.fetch(`land.${message.author.id}`) || 0;
39 | const seed = db.fetch(`seed.${message.author.id}`) || 0;
40 | const shovel = db.fetch(`shovel.${message.author.id}`) || 0;
41 |
42 | if(land == "0"){
43 | message.reply("You need land to plant your seed");
44 | }
45 | if(seed == "0"){
46 | message.reply("You need seed to grow a plant");
47 | }
48 | if(shovel == "0"){
49 | message.reply("You need shovel for your land");
50 | }
51 | if(shovel >= "1"){
52 | if(seed >= "1"){
53 | if(land >= "1"){
54 | db.subtract(`seed.${message.author.id}` , 1);
55 | db.subtract(`land` , 1);
56 | db.set(`harvest_time.${message.author.id}`, Date.now());
57 | message.channel.send("You have planted your seed, wait for 30 Minutes to get your plant harvested")
58 | }
59 | }
60 | }
61 |
62 |
63 | }
64 | // ================
65 | // END OF PLANTING COMMAND
66 | // ================
67 |
68 | // ================
69 | // HARVESTING COMMAND
70 | // ================
71 | if(option == "harvest"){
72 | let growth = 1800000;
73 | let harvest_time = db.get(`harvest_time.${message.author.id}`);
74 | if(message.channel.type == "text"){
75 | if (harvest_time !== null && growth - (Date.now() - harvest_time ) > 0) {
76 | let time = ms(growth - (Date.now() - harvest_time));
77 | return message.channel.send(
78 | `**Your plant is not yet ready to be harvested. Come back in ${time.hours}h ${time.minutes}m ${time.seconds}`
79 | );
80 | }
81 | }
82 | }
83 | // ================
84 | // END OF HARVESTING COMMAND
85 | // ================
86 |
87 | }
88 | }
89 | }
--------------------------------------------------------------------------------
/commands/help.js:
--------------------------------------------------------------------------------
1 | const Discord = require('discord.js');
2 |
3 | module.exports = {
4 | name: 'help',
5 | description: 'Showing all list of the commands',
6 | aliases: ['h'],
7 | execute(message, args){
8 |
9 | const helpEmbed = new Discord.MessageEmbed()
10 | .setTitle(`${message.author.tag}, Help Commands Page 1/1`)
11 | .setDescription(`Here are the commands:`)
12 | .setColor('RANDOM')
13 | .addFields(
14 | {name:`${process.env.PREFIX}ping` , value:'Checking if the bot are online or offline' , inline: true},
15 |
16 | {name: `${process.env.PREFIX}info-server` , value: 'Giving the Server Information', inline: true},
17 | {name: `${process.env.PREFIX}prune` , value: 'Deleting/Pruning messages' , inline: true},
18 | {name: `${process.env.PREFIX}im` , value: 'Just a weird command for testing' , inline: true},
19 | {name: `${process.env.PREFIX}reload` , value: 'Reloading a commands' , inline: true},
20 | {name: `${process.env.PREFIX}reaction` , value: 'Giving a Reaction collector' , inline: true},
21 | {name: `${process.env.PREFIX}avatar` , value: 'Showing the user avatar link' , inline: true}
22 | )
23 | .setTimestamp()
24 | .setFooter(process.env.F_CREDITS);
25 |
26 | message.channel.send(helpEmbed)
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/commands/im.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | name: 'im',
3 | description: 'Umm just a weird command, for testing',
4 | execute(message, args) {
5 | if (!args.length) {
6 | return message.channel.send(`... So who are you?, ${message.author}!`);
7 | } else if (args[0] === 'GameWatch21') {
8 | return message.channel.send('nope, you are not GameWatch21');
9 | }
10 |
11 | message.channel.send(`So you are ${args}, am i right?`);
12 | },
13 | };
14 |
--------------------------------------------------------------------------------
/commands/info-server.js:
--------------------------------------------------------------------------------
1 | const Discord = require('discord.js')
2 |
3 | module.exports = {
4 | name: "info-server",
5 | description: "Check the server Information",
6 | execute(message, args){
7 | const embed = new Discord.MessageEmbed()
8 | .setColor('#0099ff')
9 | .setTitle(`Information about ${message.guild.name} server`)
10 | .setDescription('Detailed Information:')
11 | .addFields(
12 | { name: 'Total Members:', value: `${message.guild.memberCount}`},
13 | { name: 'Created at:', value: `${message.guild.createdAt}`, inline: true },
14 | { name: 'This server owned by:', value: `${message.guild.owner}`, inline: true },
15 | )
16 | .setTimestamp()
17 | .setFooter('Created by GameWatch21');
18 |
19 | message.channel.send(embed)
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/commands/inventory.js:
--------------------------------------------------------------------------------
1 | const Discord = require('discord.js');
2 | const db = require('quick.db');
3 |
4 | module.exports = {
5 | name: "inventory",
6 | description: "Check your inventort for each class",
7 | aliases: ["inv" , "backpack"],
8 | execute(message, args){
9 | const check = db.fetch(`class_check.${message.author.id}`) || "no";
10 | const classes = db.fetch(`class.${message.author.id}`);
11 | // ======================
12 | // MINER CLASS DATABASE
13 | // ======================
14 | const stone = db.fetch(`stone.${message.author.id}`) || 0;
15 | const rock = db.fetch(`rock.${message.author.id}`) || 0;
16 | const coal = db.fetch(`coal.${message.author.id}`) || 0;
17 | const iron_ore = db.fetch(`iron_ore.${message.author.id}`) || 0;
18 | const gold_ore = db.fetch(`gold_ore.${message.author.id}`) || 0;
19 | const diamond_ore = db.fetch(`diamond_ore.${message.author.id}`) || 0;
20 | const iron = db.fetch(`iron.${message.author.id}`) || 0;
21 | const gold = db.fetch(`gold.${message.author.id}`) || 0;
22 | const diamond = db.fetch(`diamond.${message.author.id}`) || 0;
23 | // ======================
24 | // FARMER CLASS DATABASE
25 | // ======================
26 | const wheat = db.fetch(`wheat.${message.author.id}`) || 0;
27 | const seed = db.fetch(`seed.${message.author.id}`) || 0;
28 | const carrot = db.fetch(`carrot.${message.author.id}`) || 0;
29 | const potato = db.fetch(`potato.${message.author.id}`) || 0;
30 | const land = db.fetch(`land.${message.author.id}`) || 0;
31 | const fertilizer = db.fetch(`fertilizer.${message.author.id}`) || 0;
32 | const log = db.fetch(`log.${message.author.id}`) || 0;
33 | // ======================
34 | // WORKER CLASS DATABASE (most fantasy inventory ever)
35 | // ======================
36 | const reputation = db.fetch(`reputation.${message.author.id}`) || 0;
37 | // ENERGY WILL BE GLOBAL THING
38 | const energy = db.fetch(`energy.${message.author.id}`) || 0;
39 | const experience = db.fetch(`experience.${message.author.id}`) || 0;
40 | const rank = db.fetch(`rank.${message.author.id}`) || 0;
41 | // ======================
42 | // CRAFTER CLASS DATABASE (complicated cause i need to mix between farmer and miner class)
43 | // ======================
44 | const hoe = db.fetch(`hoe.${message.author.id}`) || 0;
45 | const pickaxe = db.fetch(`rank.${message.author.id}`) || 0;
46 | const shovel = db.fetch(`shovel.${message.author.id}`) || 0;
47 | // ======================
48 | // END OF DATABASE
49 | // ======================
50 |
51 | if(check == "no"){
52 | message.reply("You didnt register yet, use `s!register` to register");
53 | }
54 | if(check == "registered"){
55 | if(classes == "Miner" ){
56 | const embed = new Discord.MessageEmbed()
57 | .setTitle(`${message.author.tag}'s Inventory`)
58 | .addFields(
59 | {name: `Stone:` , value: `${stone}`},
60 | {name: `Coal:` , value: `${coal}`},
61 | {name: `Rock:` , value: `${rock}`},
62 | {name: `Iron Ore:` , value: `${iron_ore}`},
63 | {name: `Gold Ore:` , value: `${gold_ore}`},
64 | {name: `Diamond Ore:` , value: `${diamond_ore}`},
65 | {name: `Iron:` , value: `${iron}`},
66 | {name: `Gold:` , value: `${gold}`},
67 | {name: `Diamond` , value: `${diamond}`}
68 | )
69 | .setTimestamp()
70 | .setColor("RANDOM");
71 |
72 | message.channel.send(embed);
73 |
74 | }
75 | if(classes == "Farmer"){
76 | const embed = new Discord.MessageEmbed()
77 | .setTitle(`${message.author.tag}'s Inventory`)
78 | .addFields(
79 | {name: `Seed:` , value: `${seed}`},
80 | {name: `Land:` , value: `${land}`},
81 | {name: `Fertilizer:` , value: `${fertilizer}`},
82 | {name: `Wheat:` , value: `${wheat}`},
83 | {name: `Carrot:` , value: `${carrot}`},
84 | {name: `Potato:` , value: `${potato}`},
85 | {name: `Log:` , value: `${log}`},
86 |
87 | {name: `Shovel:` , value: `${shovel}`}
88 | /*{name: `Diamond` , value: `${diamond}`}*/
89 | )
90 | .setTimestamp()
91 | .setColor("RANDOM");
92 |
93 | message.channel.send(embed);
94 | }
95 | if(classes == "Worker"){
96 | const embed = new Discord.MessageEmbed()
97 | .setTitle(`${message.author.tag}'s Inventory`)
98 | .addFields(
99 | {name: `Reputation:` , value: `${reputation}`},
100 | {name: `Experience:` , value: `${experience}`},
101 | {name: `Energy:` , value: `${energy}`},
102 | {name: `Rank:` , value: `${rank}`}/*,
103 | {name: `Gold Ore:` , value: `${gold_ore}`},
104 | {name: `Diamond Ore:` , value: `${diamond_ore}`},
105 | {name: `Iron:` , value: `${iron}`},
106 | {name: `Gold:` , value: `${gold}`},
107 | {name: `Diamond` , value: `${diamond}`}*/
108 | )
109 | .setTimestamp()
110 | .setColor("RANDOM");
111 |
112 | message.channel.send(embed);
113 | }
114 | if(classes == "Crafter"){
115 | const embed = new Discord.MessageEmbed()
116 | .setTitle(`${message.author.tag}'s Inventory`)
117 | .addFields(
118 | /* {name: `Axe:` , value: `${axe}`},*/
119 | {name: `Pickaxe:` , value: `${pickaxe}`},
120 | {name: `hoe:` , value: `${hoe}`},
121 | {name: `Shovel:` , value: `${shovel}`}/*,
122 | {name: `Gold Ore:` , value: `${gold_ore}`},
123 | {name: `Diamond Ore:` , value: `${diamond_ore}`},
124 | {name: `Iron:` , value: `${iron}`},
125 | {name: `Gold:` , value: `${gold}`},
126 | {name: `Diamond` , value: `${diamond}`}*/
127 | )
128 | .setTimestamp()
129 | .setColor("RANDOM");
130 |
131 | message.channel.send(embed);
132 | }
133 |
134 | }
135 |
136 | }
137 | }
--------------------------------------------------------------------------------
/commands/market.js:
--------------------------------------------------------------------------------
1 | const Discord = require("discord.js");
2 | const db = require("quick.db");
3 |
4 | module.exports = {
5 | name: "market",
6 | description: "Market of all Trades",
7 | aliases: ["mark"],
8 | execute(message, args){
9 | const check = db.fetch(`class_check.${message.author.id}`) || "no";
10 | const classes = db.fetch(`class.${message.author.id}`);
11 | // ======================
12 | // MINER CLASS DATABASE
13 | // ======================
14 | const stone = db.fetch(`stone.${message.author.id}`) || 0;
15 | const rock = db.fetch(`rock.${message.author.id}`) || 0;
16 | const coal = db.fetch(`coal.${message.author.id}`) || 0;
17 | const iron_ore = db.fetch(`iron_ore.${message.author.id}`) || 0;
18 | const gold_ore = db.fetch(`gold_ore.${message.author.id}`) || 0;
19 | const diamond_ore = db.fetch(`diamond_ore.${message.author.id}`) || 0;
20 | const iron = db.fetch(`iron.${message.author.id}`) || 0;
21 | const gold = db.fetch(`gold.${message.author.id}`) || 0;
22 | const diamond = db.fetch(`diamond.${message.author.id}`) || 0;
23 | // ======================
24 | // FARMER CLASS DATABASE
25 | // ======================
26 | const wheat = db.fetch(`wheat.${message.author.id}`) || 0;
27 | const seed = db.fetch(`seed.${message.author.id}`) || 0;
28 | const carrot = db.fetch(`carrot.${message.author.id}`) || 0;
29 | const potato = db.fetch(`potato.${message.author.id}`) || 0;
30 | const land = db.fetch(`land.${message.author.id}`) || 0;
31 | const fertilizer = db.fetch(`fertilizer.${message.author.id}`) || 0;
32 | const log = db.fetch(`log.${message.author.id}`) || 0;
33 | // ======================
34 | // WORKER CLASS DATABASE (most fantasy inventory ever)
35 | // ======================
36 | const reputation = db.fetch(`reputation.${message.author.id}`) || 0;
37 | // ENERGY WILL BE GLOBAL THING
38 | const energy = db.fetch(`energy.${message.author.id}`) || 0;
39 | const experience = db.fetch(`experience.${message.author.id}`) || 0;
40 | const rank = db.fetch(`rank.${message.author.id}`) || 0;
41 | // ======================
42 | // CRAFTER CLASS DATABASE (complicated cause i need to mix between farmer and miner class)
43 | // ======================
44 | const hoe = db.fetch(`hoe.${message.author.id}`) || 0;
45 | const pickaxe = db.fetch(`rank.${message.author.id}`) || 0;
46 | const shovel = db.fetch(`shovel.${message.author.id}`) || 0;
47 | // ======================
48 | // END OF USER DATABASE
49 | // ======================
50 |
51 | // ======================
52 | // START OF MARKET DATABASE
53 | // ======================
54 | // ======================
55 | // MINER CLASS DATABASE
56 | // ======================
57 | const stone_market = db.fetch(`stone`) || 0;
58 | const rock_market = db.fetch(`rock`) || 0;
59 | const coal_market = db.fetch(`coal`) || 0;
60 | const iron_ore_market = db.fetch(`iron_ore`) || 0;
61 | const gold_ore_market = db.fetch(`gold_ore`) || 0;
62 | const diamond_ore_market = db.fetch(`diamond_ore`) || 0;
63 | const iron_market = db.fetch(`iron`) || 0;
64 | const gold_market = db.fetch(`gold.`) || 0;
65 | const diamond_market = db.fetch(`diamond`) || 0;
66 | // ======================
67 | // FARMER CLASS DATABASE
68 | // ======================
69 | const wheat_market = db.fetch(`wheat`) || 0;
70 | const seed_market = db.fetch(`seed`) || 0;
71 | const carrot_market = db.fetch(`carrot`) || 0;
72 | const potato_market = db.fetch(`potato`) || 0;
73 | const land_market = db.fetch(`land`) || 0;
74 | const fertilizer_market = db.fetch(`fertilizer`) || 0;
75 | const log_market = db.fetch(`log`) || 0;
76 | // ======================
77 | // CRAFTER CLASS DATABASE (complicated cause i need to mix between farmer and miner class)
78 | // ======================
79 | const hoe_market = db.fetch(`hoe.${message.author.id}`) || 0;
80 | const pickaxe_market = db.fetch(`rank.${message.author.id}`) || 0;
81 | const shovel_market = db.fetch(`shovel.${message.author.id}`) || 0;
82 | // ======================
83 | // END OF DATABASE
84 | // ======================
85 |
86 | }
87 | }
--------------------------------------------------------------------------------
/commands/mine.js:
--------------------------------------------------------------------------------
1 | const Discord = require('discord.js');
2 | const db = require('quick.db');
3 | const ms = require('parse-ms');
4 |
5 | module.exports = {
6 | name: "mine",
7 | description: "Check your inventort for each class",
8 | aliases: ["m" , "dig"],
9 | execute(message, args){
10 |
11 | const pickaxe = db.fetch(`pickaxe.${message.author.id}`) || 0;
12 | const energy = db.fetch(`energy.${message.author.id}`) || 0;
13 |
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/commands/ping.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | name: "ping",
3 | description: "Checking bot status",
4 | execute(message, args){
5 | message.channel.send("Ah i need to work **twice** now")
6 | },
7 | };
8 |
--------------------------------------------------------------------------------
/commands/profile.js:
--------------------------------------------------------------------------------
1 | const Discord = require('discord.js');
2 | const db = require('quick.db');
3 |
4 | module.exports = {
5 | name: "profile",
6 | aliases: ["pro"],
7 | description: "Check your Economy Profile",
8 | execute(message, args, Profile, proDB, profile){
9 | /* function getUser(mention) {
10 | if (!mention) return;
11 | if (mention.startsWith("<@") && mention.endsWith(">")) {
12 | var mention = mention.slice(2, -1);
13 | if (mention.startsWith("!")) {
14 | mention = mention.slice(1);
15 | }
16 | return message.guild.member(message.guild.members.get(mention));
17 | }
18 | } */
19 | /* const user = message.mentions.users.first() ;
20 | /*getUser(args[0]) || message.member; */
21 | message.channel.send(`Your balance is ${Profile.money}`);
22 | }
23 | }
--------------------------------------------------------------------------------
/commands/prune.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | name: 'purge',
3 | description: 'Purging messages',
4 | aliases: ['prune'],
5 | execute(message, args){
6 |
7 | const amount = Math.floor(parseInt(args[0]) + 1);
8 | if (!message.member.hasPermission("MANAGE_MESSAGES"))
9 | return message.channel.send(
10 | `${message.author},You don't have enough permissions for this command!`
11 | );
12 |
13 | if (isNaN(amount)) {
14 | return message.reply("that doesn't seem to be a valid number.");
15 | } else if (amount <= 0 || amount > 100) {
16 | return message.reply("You need to input a number between 1 and 99.");
17 | }
18 |
19 | message.channel.bulkDelete(amount, true);
20 | return message
21 | .reply(`Successfully deleted ${amount} messages.\n\nThis message will be deleted in 3 secs`)
22 | .then(msg => {
23 | msg.delete({ timeout: 3000 });
24 | });
25 | }
26 | }
--------------------------------------------------------------------------------
/commands/reaction.js:
--------------------------------------------------------------------------------
1 | const Discord = require('discord.js');
2 |
3 | module.exports = {
4 | name: 'reaction',
5 | description: 'A test command for upcoming help command',
6 | aliases: ['react' , 'r'],
7 | execute(message, args){
8 | const embed1 = new Discord.MessageEmbed()
9 | .setColor('#0099ff')
10 | .setTitle(`Testing no.1`)
11 | // .setAuthor(`${message.author}`, 'https://i.imgur.com/wSTFkRM.png', 'https://discord.js.org')
12 | .setDescription('You choose the legendary Thumb up')
13 | // .setThumbnail(`${message.guild.icon}`)
14 | .addFields(
15 | { name: 'Just about you and me, you will get', value: `You get $100 by reacting`},
16 | )
17 | .setTimestamp()
18 | .setFooter('Created by GameWatch21 | Nah this one, is in Prototype');
19 |
20 | const embed2 = new Discord.MessageEmbed()
21 | .setColor('#0099ff')
22 | .setTitle(`Testing No.2`)
23 | // .setAuthor(`${message.author}`, 'https://i.imgur.com/wSTFkRM.png', 'https://discord.js.org')
24 | .setDescription('You reacting the legendary Thumbs down')
25 | // .setThumbnail(`${message.guild.icon}`)
26 | .addFields(
27 | { name: 'Just for you and me, by reacting this', value: `You fined -$100, money is easy like that`},
28 | )
29 | //.addField('Inline field title', 'Some value here', true)
30 | // .setImage(`${message.guild.icon}`)
31 | .setTimestamp()
32 | .setFooter('Created by GameWatch21 | Another prototype, just wait till i fix this ok?');
33 |
34 | message.react('👍').then(() => message.react('👎'));
35 |
36 | const filter = (reaction, user) => {
37 | return ['👍', '👎'].includes(reaction.emoji.name) && user.id === message.author.id;
38 | };
39 |
40 | message.awaitReactions(filter, { max: 1, time: 60000, errors: ['time'] })
41 | .then(collected => {
42 | const reaction = collected.first();
43 |
44 | if (reaction.emoji.name === '👍') {
45 | message.channel.send(embed1);
46 | } else {
47 | message.channel.send(embed2);
48 | }
49 | })
50 | .catch(collected => {
51 | message.reply('you reacted with neither a thumbs up, nor a thumbs down.');
52 | });
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/commands/reload.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | name: 'reload',
3 | description: 'Reloads a command',
4 | execute(message, args) {
5 | if (!args.length) return message.channel.send(`You didn't pass any command to reload, ${message.author}!`);
6 | const commandName = args[0].toLowerCase();
7 | const command = message.client.commands.get(commandName)
8 | || message.client.commands.find(cmd => cmd.aliases && cmd.aliases.includes(commandName));
9 |
10 | if (!command) return message.channel.send(`There is no command with name or alias \`${commandName}\`, ${message.author}!`);
11 | delete require.cache[require.resolve(`./${command.name}.js`)];
12 | try {
13 | const newCommand = require(`./${command.name}.js`);
14 | message.client.commands.set(newCommand.name, newCommand);
15 | } catch (error) {
16 | console.error(error);
17 | message.channel.send(`There was an error while reloading a command \`${command.name}\`:\n\`${error.message}\``);
18 | }
19 |
20 | message.channel.send(`Command \`${command.name}\` was reloaded!`);
21 |
22 | },
23 | };
24 |
--------------------------------------------------------------------------------
/commands/restart.js:
--------------------------------------------------------------------------------
1 | const Discord = require('discord.js');
2 | const db = require('quick.db');
3 |
4 | module.exports = {
5 | name: "restart",
6 | description: "Restart the Economy Game profile",
7 | execute(message, args){
8 | db.delete(`class.${message.author.id}`);
9 | db.delete(`class_check.${message.author.id}`)
10 | message.channel.send('Your profile has been restarted')
11 | }
12 | }
--------------------------------------------------------------------------------
/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "prefix": "s!",
3 | "token": "your discord token here",
4 | "client_id": "your client id",
5 | "client_secret": "your client secret",
6 | "grant_type": "authorization_code",
7 | "mongodb_uri": "YOUR MONGODB URL HERE",
8 | "status": "every game i see 🗿"
9 | }
10 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | CodeGround By GameWatch21
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
18 |
19 |
20 |
103 |
104 |
105 |
129 |
130 |
131 |
New Website coming soon!
132 |
Hello, CodordGround website will coming soon, so stay Tune :)
133 |
This website will be a website for bot name Strelitzia , and also will be my personal Website
134 |
135 |
Toggle Dark-Mode
136 |
137 |
138 |
145 |
146 |
147 |
148 |
Information
149 |
Welcome to CodeGround Website, where you can see all my works :)
150 |
I already make some Discord Bot (i didnt verify the bot, so you can copy the source code)
151 |
CodeGround is created by GameWatch21 , it's purpose is to train myself to become a coder
152 |
Actually this is like a hobby.. wait no i mean free time work, so the project isnt fully working, probably there is a bug or problem, since i also want to train myself
153 |
With this website, i can also see my own achievement and what i already done
154 |
Join our Discord Server
155 |
Strelitzia Github Link
156 |
157 |
158 |
159 |
160 |
List of Commands
161 |
162 |
163 |
169 |
170 |
Give the Help page for all the command list
Usage: s!help
Aliases: [NONE]
171 |
172 |
173 |
174 |
180 |
181 |
Showing Your, or someone avatar(s)
Usage: s!avatar [USER]
Aliases: [NONE]
182 |
183 |
184 |
185 |
191 |
192 |
Pruning or Deleting message on a channel
Usage: s!prune [AMOUNT]
Aliases: [NONE]
193 |
194 |
195 |
196 |
202 |
203 |
Register to the economy Games, Choose a class and start playing
Usage: s!register | s!register [CLASS]
Aliases: s!reg
204 |
205 |
206 |
207 |
213 |
214 |
Check your profile game, If you already register, you can view your profile, oh also you can check someone profile too
Usage: s!profile | s!profile [USER]
Aliases: s!pro
215 |
216 |
217 |
218 |
224 |
225 |
Check the server information
Usage: s!info-server
Aliases: [NONE]
226 |
227 |
228 |
229 |
235 |
236 |
Check your Economy Inventory
Usage: s!inventory
Aliases: [s!inv]
237 |
238 |
239 |
240 |
241 |
242 |
243 |
244 |
GameWatch21 also work on other project, well the other project used from Codeground project and just add some modifitcation
245 |
You can visit the Github link where you can fork my other project, if you curious where i code it, both project i use glitch.com and repl.it, Then i use mobile phone to code (10% using pc)
246 |
So here you may take a look with my other project i work on
247 |
Discord Faucet Bot
248 |
249 |
250 |
251 |
252 |
253 | Created by GameWatch21
254 |
255 |
256 |
257 |
325 |
326 |
327 |
--------------------------------------------------------------------------------
/json.sqlite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GameWatch21/CG-Economy/6e624432740987f0c153eb19de5eb1b06d86c4ac/json.sqlite
--------------------------------------------------------------------------------
/keep_alive.js:
--------------------------------------------------------------------------------
1 | var http = require('http');
2 |
3 | http.createServer(function (req, res) {
4 | res.write("Cmon, Wake up dude");
5 | res.end();
6 | }).listen(8080);
--------------------------------------------------------------------------------
/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "CodeGround",
3 | "short_name": "CodeGround",
4 | "start_url": "/index.html",
5 | "display": "standalone",
6 | "background_color": "#fff",
7 | "description": "A Website for Private Code Playground",
8 | "icons": [{
9 | "src": "images/touch/homescreen48.png",
10 | "sizes": "48x48",
11 | "type": "image/png"
12 | }, {
13 | "src": "images/touch/homescreen72.png",
14 | "sizes": "72x72",
15 | "type": "image/png"
16 | }, {
17 | "src": "images/touch/homescreen96.png",
18 | "sizes": "96x96",
19 | "type": "image/png"
20 | }, {
21 | "src": "images/touch/homescreen144.png",
22 | "sizes": "144x144",
23 | "type": "image/png"
24 | }, {
25 | "src": "images/touch/homescreen168.png",
26 | "sizes": "168x168",
27 | "type": "image/png"
28 | }, {
29 | "src": "images/touch/homescreen192.png",
30 | "sizes": "192x192",
31 | "type": "image/png"
32 | }]
33 | }
--------------------------------------------------------------------------------
/models/items.js:
--------------------------------------------------------------------------------
1 | const db = require('quick.db');
2 | const messages = require('discord.js')
3 |
4 | {
5 | const stone = db.fetch(`stone.${message.author.id}`) || 0;
6 | const rock = db.fetch(`rock.${message.author.id}`) || 0;
7 | const coal = db.fetch(`coal.${message.author.id}`) || 0;
8 | const iron_ore = db.fetch(`iron_ore.${message.author.id}`) || 0;
9 | const gold_ore = db.fetch(`gold_ore.${message.author.id}`) || 0;
10 | const diamond_ore = db.fetch(`diamond_ore.${message.author.id}`) || 0;
11 | const iron = db.fetch(`iron.${message.author.id}`) || 0;
12 | const gold = db.fetch(`gold.${message.author.id}`) || 0;
13 | const diamond = db.fetch(`diamond.${message.author.id}`) || 0;
14 | }
15 |
--------------------------------------------------------------------------------
/models/member.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GameWatch21/CG-Economy/6e624432740987f0c153eb19de5eb1b06d86c4ac/models/member.js
--------------------------------------------------------------------------------
/models/profile.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GameWatch21/CG-Economy/6e624432740987f0c153eb19de5eb1b06d86c4ac/models/profile.js
--------------------------------------------------------------------------------
/models/schema/guild.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GameWatch21/CG-Economy/6e624432740987f0c153eb19de5eb1b06d86c4ac/models/schema/guild.js
--------------------------------------------------------------------------------
/models/schema/log.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GameWatch21/CG-Economy/6e624432740987f0c153eb19de5eb1b06d86c4ac/models/schema/log.js
--------------------------------------------------------------------------------
/models/schema/user.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GameWatch21/CG-Economy/6e624432740987f0c153eb19de5eb1b06d86c4ac/models/schema/user.js
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "codeground",
3 | "version": "1.0.2",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "@discordjs/collection": {
8 | "version": "0.1.6",
9 | "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.1.6.tgz",
10 | "integrity": "sha512-utRNxnd9kSS2qhyivo9lMlt5qgAUasH2gb7BEOn6p0efFh24gjGomHzWKMAPn2hEReOPQZCJaRKoURwRotKucQ=="
11 | },
12 | "@discordjs/form-data": {
13 | "version": "3.0.1",
14 | "resolved": "https://registry.npmjs.org/@discordjs/form-data/-/form-data-3.0.1.tgz",
15 | "integrity": "sha512-ZfFsbgEXW71Rw/6EtBdrP5VxBJy4dthyC0tpQKGKmYFImlmmrykO14Za+BiIVduwjte0jXEBlhSKf0MWbFp9Eg==",
16 | "requires": {
17 | "asynckit": "^0.4.0",
18 | "combined-stream": "^1.0.8",
19 | "mime-types": "^2.1.12"
20 | }
21 | },
22 | "@types/bson": {
23 | "version": "4.0.4",
24 | "resolved": "https://registry.npmjs.org/@types/bson/-/bson-4.0.4.tgz",
25 | "integrity": "sha512-awqorHvQS0DqxkHQ/FxcPX9E+H7Du51Qw/2F+5TBMSaE3G0hm+8D3eXJ6MAzFw75nE8V7xF0QvzUSdxIjJb/GA==",
26 | "requires": {
27 | "@types/node": "*"
28 | }
29 | },
30 | "@types/mongodb": {
31 | "version": "3.6.20",
32 | "resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.6.20.tgz",
33 | "integrity": "sha512-WcdpPJCakFzcWWD9juKoZbRtQxKIMYF/JIAM4JrNHrMcnJL6/a2NWjXxW7fo9hxboxxkg+icff8d7+WIEvKgYQ==",
34 | "requires": {
35 | "@types/bson": "*",
36 | "@types/node": "*"
37 | }
38 | },
39 | "@types/node": {
40 | "version": "15.14.1",
41 | "resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.1.tgz",
42 | "integrity": "sha512-wF6hazbsnwaW3GhK4jFuw5NaLDQVRQ6pWQUGAUrJzxixFkTaODSiAKMPXuHwPEPkAKQWHAzj6uJ5h+3zU9gQxg=="
43 | },
44 | "abort-controller": {
45 | "version": "3.0.0",
46 | "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
47 | "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
48 | "requires": {
49 | "event-target-shim": "^5.0.0"
50 | }
51 | },
52 | "accepts": {
53 | "version": "1.3.7",
54 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
55 | "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
56 | "requires": {
57 | "mime-types": "~2.1.24",
58 | "negotiator": "0.6.2"
59 | }
60 | },
61 | "ansi-regex": {
62 | "version": "2.1.1",
63 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
64 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
65 | },
66 | "aproba": {
67 | "version": "1.2.0",
68 | "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
69 | "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
70 | },
71 | "are-we-there-yet": {
72 | "version": "1.1.5",
73 | "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
74 | "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
75 | "requires": {
76 | "delegates": "^1.0.0",
77 | "readable-stream": "^2.0.6"
78 | }
79 | },
80 | "array-flatten": {
81 | "version": "1.1.1",
82 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
83 | "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
84 | },
85 | "asynckit": {
86 | "version": "0.4.0",
87 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
88 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
89 | },
90 | "base64-js": {
91 | "version": "1.5.1",
92 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
93 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
94 | },
95 | "better-sqlite3": {
96 | "version": "7.1.1",
97 | "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-7.1.1.tgz",
98 | "integrity": "sha512-AkvGGyhAVZhRBOul2WT+5CB2EuveM3ZkebEKe1wxMqDZUy1XB/1RBgM66t0ybHC4DIni8+pr7NaLqEX87NUTwg==",
99 | "requires": {
100 | "bindings": "^1.5.0",
101 | "prebuild-install": "^5.3.3",
102 | "tar": "4.4.10"
103 | }
104 | },
105 | "bindings": {
106 | "version": "1.5.0",
107 | "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
108 | "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
109 | "requires": {
110 | "file-uri-to-path": "1.0.0"
111 | }
112 | },
113 | "bl": {
114 | "version": "4.0.3",
115 | "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.3.tgz",
116 | "integrity": "sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg==",
117 | "requires": {
118 | "buffer": "^5.5.0",
119 | "inherits": "^2.0.4",
120 | "readable-stream": "^3.4.0"
121 | },
122 | "dependencies": {
123 | "inherits": {
124 | "version": "2.0.4",
125 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
126 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
127 | },
128 | "readable-stream": {
129 | "version": "3.6.0",
130 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
131 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
132 | "requires": {
133 | "inherits": "^2.0.3",
134 | "string_decoder": "^1.1.1",
135 | "util-deprecate": "^1.0.1"
136 | }
137 | }
138 | }
139 | },
140 | "bluebird": {
141 | "version": "3.5.1",
142 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
143 | "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA=="
144 | },
145 | "body-parser": {
146 | "version": "1.19.0",
147 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
148 | "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
149 | "requires": {
150 | "bytes": "3.1.0",
151 | "content-type": "~1.0.4",
152 | "debug": "2.6.9",
153 | "depd": "~1.1.2",
154 | "http-errors": "1.7.2",
155 | "iconv-lite": "0.4.24",
156 | "on-finished": "~2.3.0",
157 | "qs": "6.7.0",
158 | "raw-body": "2.4.0",
159 | "type-is": "~1.6.17"
160 | }
161 | },
162 | "bson": {
163 | "version": "1.1.6",
164 | "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.6.tgz",
165 | "integrity": "sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg=="
166 | },
167 | "buffer": {
168 | "version": "5.7.1",
169 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
170 | "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
171 | "requires": {
172 | "base64-js": "^1.3.1",
173 | "ieee754": "^1.1.13"
174 | }
175 | },
176 | "bytes": {
177 | "version": "3.1.0",
178 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
179 | "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
180 | },
181 | "chownr": {
182 | "version": "1.1.4",
183 | "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
184 | "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
185 | },
186 | "code-point-at": {
187 | "version": "1.1.0",
188 | "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
189 | "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
190 | },
191 | "combined-stream": {
192 | "version": "1.0.8",
193 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
194 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
195 | "requires": {
196 | "delayed-stream": "~1.0.0"
197 | }
198 | },
199 | "console-control-strings": {
200 | "version": "1.1.0",
201 | "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
202 | "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
203 | },
204 | "content-disposition": {
205 | "version": "0.5.3",
206 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
207 | "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
208 | "requires": {
209 | "safe-buffer": "5.1.2"
210 | }
211 | },
212 | "content-type": {
213 | "version": "1.0.4",
214 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
215 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
216 | },
217 | "cookie": {
218 | "version": "0.4.0",
219 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
220 | "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg=="
221 | },
222 | "cookie-signature": {
223 | "version": "1.0.6",
224 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
225 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
226 | },
227 | "core-util-is": {
228 | "version": "1.0.2",
229 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
230 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
231 | },
232 | "debug": {
233 | "version": "2.6.9",
234 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
235 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
236 | "requires": {
237 | "ms": "2.0.0"
238 | }
239 | },
240 | "decompress-response": {
241 | "version": "4.2.1",
242 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz",
243 | "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==",
244 | "requires": {
245 | "mimic-response": "^2.0.0"
246 | }
247 | },
248 | "deep-extend": {
249 | "version": "0.6.0",
250 | "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
251 | "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="
252 | },
253 | "delayed-stream": {
254 | "version": "1.0.0",
255 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
256 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
257 | },
258 | "delegates": {
259 | "version": "1.0.0",
260 | "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
261 | "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
262 | },
263 | "denque": {
264 | "version": "1.5.0",
265 | "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.0.tgz",
266 | "integrity": "sha512-CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ=="
267 | },
268 | "depd": {
269 | "version": "1.1.2",
270 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
271 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
272 | },
273 | "destroy": {
274 | "version": "1.0.4",
275 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
276 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
277 | },
278 | "detect-libc": {
279 | "version": "1.0.3",
280 | "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
281 | "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups="
282 | },
283 | "discord.js": {
284 | "version": "12.5.1",
285 | "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-12.5.1.tgz",
286 | "integrity": "sha512-VwZkVaUAIOB9mKdca0I5MefPMTQJTNg0qdgi1huF3iwsFwJ0L5s/Y69AQe+iPmjuV6j9rtKoG0Ta0n9vgEIL6w==",
287 | "requires": {
288 | "@discordjs/collection": "^0.1.6",
289 | "@discordjs/form-data": "^3.0.1",
290 | "abort-controller": "^3.0.0",
291 | "node-fetch": "^2.6.1",
292 | "prism-media": "^1.2.2",
293 | "setimmediate": "^1.0.5",
294 | "tweetnacl": "^1.0.3",
295 | "ws": "^7.3.1"
296 | }
297 | },
298 | "ee-first": {
299 | "version": "1.1.1",
300 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
301 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
302 | },
303 | "encodeurl": {
304 | "version": "1.0.2",
305 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
306 | "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
307 | },
308 | "end-of-stream": {
309 | "version": "1.4.4",
310 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
311 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
312 | "requires": {
313 | "once": "^1.4.0"
314 | }
315 | },
316 | "escape-html": {
317 | "version": "1.0.3",
318 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
319 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
320 | },
321 | "etag": {
322 | "version": "1.8.1",
323 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
324 | "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
325 | },
326 | "event-target-shim": {
327 | "version": "5.0.1",
328 | "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
329 | "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ=="
330 | },
331 | "expand-template": {
332 | "version": "2.0.3",
333 | "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
334 | "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg=="
335 | },
336 | "express": {
337 | "version": "4.17.1",
338 | "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
339 | "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
340 | "requires": {
341 | "accepts": "~1.3.7",
342 | "array-flatten": "1.1.1",
343 | "body-parser": "1.19.0",
344 | "content-disposition": "0.5.3",
345 | "content-type": "~1.0.4",
346 | "cookie": "0.4.0",
347 | "cookie-signature": "1.0.6",
348 | "debug": "2.6.9",
349 | "depd": "~1.1.2",
350 | "encodeurl": "~1.0.2",
351 | "escape-html": "~1.0.3",
352 | "etag": "~1.8.1",
353 | "finalhandler": "~1.1.2",
354 | "fresh": "0.5.2",
355 | "merge-descriptors": "1.0.1",
356 | "methods": "~1.1.2",
357 | "on-finished": "~2.3.0",
358 | "parseurl": "~1.3.3",
359 | "path-to-regexp": "0.1.7",
360 | "proxy-addr": "~2.0.5",
361 | "qs": "6.7.0",
362 | "range-parser": "~1.2.1",
363 | "safe-buffer": "5.1.2",
364 | "send": "0.17.1",
365 | "serve-static": "1.14.1",
366 | "setprototypeof": "1.1.1",
367 | "statuses": "~1.5.0",
368 | "type-is": "~1.6.18",
369 | "utils-merge": "1.0.1",
370 | "vary": "~1.1.2"
371 | }
372 | },
373 | "file-uri-to-path": {
374 | "version": "1.0.0",
375 | "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
376 | "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw=="
377 | },
378 | "finalhandler": {
379 | "version": "1.1.2",
380 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
381 | "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
382 | "requires": {
383 | "debug": "2.6.9",
384 | "encodeurl": "~1.0.2",
385 | "escape-html": "~1.0.3",
386 | "on-finished": "~2.3.0",
387 | "parseurl": "~1.3.3",
388 | "statuses": "~1.5.0",
389 | "unpipe": "~1.0.0"
390 | }
391 | },
392 | "forwarded": {
393 | "version": "0.1.2",
394 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
395 | "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
396 | },
397 | "fresh": {
398 | "version": "0.5.2",
399 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
400 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
401 | },
402 | "fs-constants": {
403 | "version": "1.0.0",
404 | "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
405 | "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
406 | },
407 | "fs-minipass": {
408 | "version": "1.2.7",
409 | "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
410 | "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
411 | "requires": {
412 | "minipass": "^2.6.0"
413 | }
414 | },
415 | "gauge": {
416 | "version": "2.7.4",
417 | "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
418 | "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
419 | "requires": {
420 | "aproba": "^1.0.3",
421 | "console-control-strings": "^1.0.0",
422 | "has-unicode": "^2.0.0",
423 | "object-assign": "^4.1.0",
424 | "signal-exit": "^3.0.0",
425 | "string-width": "^1.0.1",
426 | "strip-ansi": "^3.0.1",
427 | "wide-align": "^1.1.0"
428 | }
429 | },
430 | "github-from-package": {
431 | "version": "0.0.0",
432 | "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
433 | "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4="
434 | },
435 | "has-unicode": {
436 | "version": "2.0.1",
437 | "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
438 | "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
439 | },
440 | "http-errors": {
441 | "version": "1.7.2",
442 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
443 | "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
444 | "requires": {
445 | "depd": "~1.1.2",
446 | "inherits": "2.0.3",
447 | "setprototypeof": "1.1.1",
448 | "statuses": ">= 1.5.0 < 2",
449 | "toidentifier": "1.0.0"
450 | }
451 | },
452 | "iconv-lite": {
453 | "version": "0.4.24",
454 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
455 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
456 | "requires": {
457 | "safer-buffer": ">= 2.1.2 < 3"
458 | }
459 | },
460 | "ieee754": {
461 | "version": "1.2.1",
462 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
463 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
464 | },
465 | "inherits": {
466 | "version": "2.0.3",
467 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
468 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
469 | },
470 | "ini": {
471 | "version": "1.3.8",
472 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
473 | "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
474 | },
475 | "ipaddr.js": {
476 | "version": "1.9.1",
477 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
478 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
479 | },
480 | "is-fullwidth-code-point": {
481 | "version": "1.0.0",
482 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
483 | "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
484 | "requires": {
485 | "number-is-nan": "^1.0.0"
486 | }
487 | },
488 | "isarray": {
489 | "version": "1.0.0",
490 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
491 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
492 | },
493 | "kareem": {
494 | "version": "2.3.2",
495 | "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.2.tgz",
496 | "integrity": "sha512-STHz9P7X2L4Kwn72fA4rGyqyXdmrMSdxqHx9IXon/FXluXieaFA6KJ2upcHAHxQPQ0LeM/OjLrhFxifHewOALQ=="
497 | },
498 | "lodash": {
499 | "version": "4.17.20",
500 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
501 | "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA=="
502 | },
503 | "m3u8stream": {
504 | "version": "0.8.3",
505 | "resolved": "https://registry.npmjs.org/m3u8stream/-/m3u8stream-0.8.3.tgz",
506 | "integrity": "sha512-0nAcdrF8YJKUkb6PzWdvGftTPyCVWgoiot1AkNVbPKTeIGsWs6DrOjifrJ0Zi8WQfQmD2SuVCjkYIOip12igng==",
507 | "requires": {
508 | "miniget": "^4.0.0",
509 | "sax": "^1.2.4"
510 | }
511 | },
512 | "media-typer": {
513 | "version": "0.3.0",
514 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
515 | "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
516 | },
517 | "memory-pager": {
518 | "version": "1.5.0",
519 | "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
520 | "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
521 | "optional": true
522 | },
523 | "merge-descriptors": {
524 | "version": "1.0.1",
525 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
526 | "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
527 | },
528 | "methods": {
529 | "version": "1.1.2",
530 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
531 | "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
532 | },
533 | "mime": {
534 | "version": "1.6.0",
535 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
536 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
537 | },
538 | "mime-db": {
539 | "version": "1.44.0",
540 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
541 | "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg=="
542 | },
543 | "mime-types": {
544 | "version": "2.1.27",
545 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
546 | "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
547 | "requires": {
548 | "mime-db": "1.44.0"
549 | }
550 | },
551 | "mimic-response": {
552 | "version": "2.1.0",
553 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz",
554 | "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA=="
555 | },
556 | "miniget": {
557 | "version": "4.1.0",
558 | "resolved": "https://registry.npmjs.org/miniget/-/miniget-4.1.0.tgz",
559 | "integrity": "sha512-kzhrNv5L7LlomwGmPGQsLQ2PnT1LeJJWfB0wNFGyv426gEM1gsfziBQmfkr6XOBA8EusZg9nowlNT5CbuKTjZg=="
560 | },
561 | "minimist": {
562 | "version": "1.2.5",
563 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
564 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
565 | },
566 | "minipass": {
567 | "version": "2.9.0",
568 | "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
569 | "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
570 | "requires": {
571 | "safe-buffer": "^5.1.2",
572 | "yallist": "^3.0.0"
573 | }
574 | },
575 | "minizlib": {
576 | "version": "1.3.3",
577 | "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
578 | "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
579 | "requires": {
580 | "minipass": "^2.9.0"
581 | }
582 | },
583 | "mkdirp": {
584 | "version": "0.5.5",
585 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
586 | "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
587 | "requires": {
588 | "minimist": "^1.2.5"
589 | }
590 | },
591 | "mkdirp-classic": {
592 | "version": "0.5.3",
593 | "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
594 | "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="
595 | },
596 | "mongodb": {
597 | "version": "3.6.8",
598 | "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.8.tgz",
599 | "integrity": "sha512-sDjJvI73WjON1vapcbyBD3Ao9/VN3TKYY8/QX9EPbs22KaCSrQ5rXo5ZZd44tWJ3wl3FlnrFZ+KyUtNH6+1ZPQ==",
600 | "requires": {
601 | "bl": "^2.2.1",
602 | "bson": "^1.1.4",
603 | "denque": "^1.4.1",
604 | "optional-require": "^1.0.3",
605 | "safe-buffer": "^5.1.2",
606 | "saslprep": "^1.0.0"
607 | },
608 | "dependencies": {
609 | "bl": {
610 | "version": "2.2.1",
611 | "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz",
612 | "integrity": "sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==",
613 | "requires": {
614 | "readable-stream": "^2.3.5",
615 | "safe-buffer": "^5.1.1"
616 | }
617 | }
618 | }
619 | },
620 | "mongoose": {
621 | "version": "5.13.2",
622 | "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.13.2.tgz",
623 | "integrity": "sha512-sBUKJGpdwZCq9102Lj6ZOaLcW4z/T4TI9aGWrNX5ZlICwChKWG4Wo5qriLImdww3H7bETPW9vYtSiADNlA4wSQ==",
624 | "requires": {
625 | "@types/mongodb": "^3.5.27",
626 | "@types/node": "14.x || 15.x",
627 | "bson": "^1.1.4",
628 | "kareem": "2.3.2",
629 | "mongodb": "3.6.8",
630 | "mongoose-legacy-pluralize": "1.0.2",
631 | "mpath": "0.8.3",
632 | "mquery": "3.2.5",
633 | "ms": "2.1.2",
634 | "regexp-clone": "1.0.0",
635 | "safe-buffer": "5.2.1",
636 | "sift": "13.5.2",
637 | "sliced": "1.0.1"
638 | },
639 | "dependencies": {
640 | "ms": {
641 | "version": "2.1.2",
642 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
643 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
644 | },
645 | "safe-buffer": {
646 | "version": "5.2.1",
647 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
648 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
649 | }
650 | }
651 | },
652 | "mongoose-legacy-pluralize": {
653 | "version": "1.0.2",
654 | "resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz",
655 | "integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ=="
656 | },
657 | "mpath": {
658 | "version": "0.8.3",
659 | "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.8.3.tgz",
660 | "integrity": "sha512-eb9rRvhDltXVNL6Fxd2zM9D4vKBxjVVQNLNijlj7uoXUy19zNDsIif5zR+pWmPCWNKwAtqyo4JveQm4nfD5+eA=="
661 | },
662 | "mquery": {
663 | "version": "3.2.5",
664 | "resolved": "https://registry.npmjs.org/mquery/-/mquery-3.2.5.tgz",
665 | "integrity": "sha512-VjOKHHgU84wij7IUoZzFRU07IAxd5kWJaDmyUzQlbjHjyoeK5TNeeo8ZsFDtTYnSgpW6n/nMNIHvE3u8Lbrf4A==",
666 | "requires": {
667 | "bluebird": "3.5.1",
668 | "debug": "3.1.0",
669 | "regexp-clone": "^1.0.0",
670 | "safe-buffer": "5.1.2",
671 | "sliced": "1.0.1"
672 | },
673 | "dependencies": {
674 | "debug": {
675 | "version": "3.1.0",
676 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
677 | "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
678 | "requires": {
679 | "ms": "2.0.0"
680 | }
681 | }
682 | }
683 | },
684 | "ms": {
685 | "version": "2.0.0",
686 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
687 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
688 | },
689 | "napi-build-utils": {
690 | "version": "1.0.2",
691 | "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
692 | "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg=="
693 | },
694 | "negotiator": {
695 | "version": "0.6.2",
696 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
697 | "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
698 | },
699 | "node-abi": {
700 | "version": "2.19.3",
701 | "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.19.3.tgz",
702 | "integrity": "sha512-9xZrlyfvKhWme2EXFKQhZRp1yNWT/uI1luYPr3sFl+H4keYY4xR+1jO7mvTTijIsHf1M+QDe9uWuKeEpLInIlg==",
703 | "requires": {
704 | "semver": "^5.4.1"
705 | }
706 | },
707 | "node-fetch": {
708 | "version": "2.6.1",
709 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
710 | "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
711 | },
712 | "noop-logger": {
713 | "version": "0.1.1",
714 | "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz",
715 | "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI="
716 | },
717 | "npmlog": {
718 | "version": "4.1.2",
719 | "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
720 | "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
721 | "requires": {
722 | "are-we-there-yet": "~1.1.2",
723 | "console-control-strings": "~1.1.0",
724 | "gauge": "~2.7.3",
725 | "set-blocking": "~2.0.0"
726 | }
727 | },
728 | "number-is-nan": {
729 | "version": "1.0.1",
730 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
731 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
732 | },
733 | "object-assign": {
734 | "version": "4.1.1",
735 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
736 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
737 | },
738 | "on-finished": {
739 | "version": "2.3.0",
740 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
741 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
742 | "requires": {
743 | "ee-first": "1.1.1"
744 | }
745 | },
746 | "once": {
747 | "version": "1.4.0",
748 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
749 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
750 | "requires": {
751 | "wrappy": "1"
752 | }
753 | },
754 | "optional-require": {
755 | "version": "1.0.3",
756 | "resolved": "https://registry.npmjs.org/optional-require/-/optional-require-1.0.3.tgz",
757 | "integrity": "sha512-RV2Zp2MY2aeYK5G+B/Sps8lW5NHAzE5QClbFP15j+PWmP+T9PxlJXBOOLoSAdgwFvS4t0aMR4vpedMkbHfh0nA=="
758 | },
759 | "parse-ms": {
760 | "version": "2.1.0",
761 | "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz",
762 | "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA=="
763 | },
764 | "parseurl": {
765 | "version": "1.3.3",
766 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
767 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
768 | },
769 | "path-to-regexp": {
770 | "version": "0.1.7",
771 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
772 | "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
773 | },
774 | "prebuild-install": {
775 | "version": "5.3.6",
776 | "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.6.tgz",
777 | "integrity": "sha512-s8Aai8++QQGi4sSbs/M1Qku62PFK49Jm1CbgXklGz4nmHveDq0wzJkg7Na5QbnO1uNH8K7iqx2EQ/mV0MZEmOg==",
778 | "requires": {
779 | "detect-libc": "^1.0.3",
780 | "expand-template": "^2.0.3",
781 | "github-from-package": "0.0.0",
782 | "minimist": "^1.2.3",
783 | "mkdirp-classic": "^0.5.3",
784 | "napi-build-utils": "^1.0.1",
785 | "node-abi": "^2.7.0",
786 | "noop-logger": "^0.1.1",
787 | "npmlog": "^4.0.1",
788 | "pump": "^3.0.0",
789 | "rc": "^1.2.7",
790 | "simple-get": "^3.0.3",
791 | "tar-fs": "^2.0.0",
792 | "tunnel-agent": "^0.6.0",
793 | "which-pm-runs": "^1.0.0"
794 | }
795 | },
796 | "prism-media": {
797 | "version": "1.2.3",
798 | "resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.2.3.tgz",
799 | "integrity": "sha512-fSrR66n0l6roW9Rx4rSLMyTPTjRTiXy5RVqDOurACQ6si1rKHHKDU5gwBJoCsIV0R3o9gi+K50akl/qyw1C74A=="
800 | },
801 | "process-nextick-args": {
802 | "version": "2.0.1",
803 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
804 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
805 | },
806 | "proxy-addr": {
807 | "version": "2.0.6",
808 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
809 | "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
810 | "requires": {
811 | "forwarded": "~0.1.2",
812 | "ipaddr.js": "1.9.1"
813 | }
814 | },
815 | "pump": {
816 | "version": "3.0.0",
817 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
818 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
819 | "requires": {
820 | "end-of-stream": "^1.1.0",
821 | "once": "^1.3.1"
822 | }
823 | },
824 | "qs": {
825 | "version": "6.7.0",
826 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
827 | "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
828 | },
829 | "querystring": {
830 | "version": "0.2.0",
831 | "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
832 | "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
833 | },
834 | "quick.db": {
835 | "version": "7.1.3",
836 | "resolved": "https://registry.npmjs.org/quick.db/-/quick.db-7.1.3.tgz",
837 | "integrity": "sha512-0S1fVb9OAZGhkI4ZIc5Oe4yWMwhz20xSsziwd6+yGWKKMsPt+XOfj/gD5CesGxd2WdqBkZFBiP8ZqWDu55HLHA==",
838 | "requires": {
839 | "better-sqlite3": "^7.1.1",
840 | "lodash": "^4.17.20"
841 | }
842 | },
843 | "range-parser": {
844 | "version": "1.2.1",
845 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
846 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
847 | },
848 | "raw-body": {
849 | "version": "2.4.0",
850 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
851 | "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
852 | "requires": {
853 | "bytes": "3.1.0",
854 | "http-errors": "1.7.2",
855 | "iconv-lite": "0.4.24",
856 | "unpipe": "1.0.0"
857 | }
858 | },
859 | "rc": {
860 | "version": "1.2.8",
861 | "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
862 | "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
863 | "requires": {
864 | "deep-extend": "^0.6.0",
865 | "ini": "~1.3.0",
866 | "minimist": "^1.2.0",
867 | "strip-json-comments": "~2.0.1"
868 | }
869 | },
870 | "readable-stream": {
871 | "version": "2.3.7",
872 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
873 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
874 | "requires": {
875 | "core-util-is": "~1.0.0",
876 | "inherits": "~2.0.3",
877 | "isarray": "~1.0.0",
878 | "process-nextick-args": "~2.0.0",
879 | "safe-buffer": "~5.1.1",
880 | "string_decoder": "~1.1.1",
881 | "util-deprecate": "~1.0.1"
882 | }
883 | },
884 | "regexp-clone": {
885 | "version": "1.0.0",
886 | "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz",
887 | "integrity": "sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw=="
888 | },
889 | "safe-buffer": {
890 | "version": "5.1.2",
891 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
892 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
893 | },
894 | "safer-buffer": {
895 | "version": "2.1.2",
896 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
897 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
898 | },
899 | "saslprep": {
900 | "version": "1.0.3",
901 | "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz",
902 | "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==",
903 | "optional": true,
904 | "requires": {
905 | "sparse-bitfield": "^3.0.3"
906 | }
907 | },
908 | "sax": {
909 | "version": "1.2.4",
910 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
911 | "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
912 | },
913 | "semver": {
914 | "version": "5.7.1",
915 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
916 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
917 | },
918 | "send": {
919 | "version": "0.17.1",
920 | "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
921 | "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
922 | "requires": {
923 | "debug": "2.6.9",
924 | "depd": "~1.1.2",
925 | "destroy": "~1.0.4",
926 | "encodeurl": "~1.0.2",
927 | "escape-html": "~1.0.3",
928 | "etag": "~1.8.1",
929 | "fresh": "0.5.2",
930 | "http-errors": "~1.7.2",
931 | "mime": "1.6.0",
932 | "ms": "2.1.1",
933 | "on-finished": "~2.3.0",
934 | "range-parser": "~1.2.1",
935 | "statuses": "~1.5.0"
936 | },
937 | "dependencies": {
938 | "ms": {
939 | "version": "2.1.1",
940 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
941 | "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
942 | }
943 | }
944 | },
945 | "serve-static": {
946 | "version": "1.14.1",
947 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
948 | "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
949 | "requires": {
950 | "encodeurl": "~1.0.2",
951 | "escape-html": "~1.0.3",
952 | "parseurl": "~1.3.3",
953 | "send": "0.17.1"
954 | }
955 | },
956 | "set-blocking": {
957 | "version": "2.0.0",
958 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
959 | "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
960 | },
961 | "setimmediate": {
962 | "version": "1.0.5",
963 | "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
964 | "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
965 | },
966 | "setprototypeof": {
967 | "version": "1.1.1",
968 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
969 | "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
970 | },
971 | "sift": {
972 | "version": "13.5.2",
973 | "resolved": "https://registry.npmjs.org/sift/-/sift-13.5.2.tgz",
974 | "integrity": "sha512-+gxdEOMA2J+AI+fVsCqeNn7Tgx3M9ZN9jdi95939l1IJ8cZsqS8sqpJyOkic2SJk+1+98Uwryt/gL6XDaV+UZA=="
975 | },
976 | "signal-exit": {
977 | "version": "3.0.3",
978 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
979 | "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
980 | },
981 | "simple-concat": {
982 | "version": "1.0.1",
983 | "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
984 | "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q=="
985 | },
986 | "simple-get": {
987 | "version": "3.1.0",
988 | "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz",
989 | "integrity": "sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==",
990 | "requires": {
991 | "decompress-response": "^4.2.0",
992 | "once": "^1.3.1",
993 | "simple-concat": "^1.0.0"
994 | }
995 | },
996 | "sliced": {
997 | "version": "1.0.1",
998 | "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz",
999 | "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E="
1000 | },
1001 | "sparse-bitfield": {
1002 | "version": "3.0.3",
1003 | "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
1004 | "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=",
1005 | "optional": true,
1006 | "requires": {
1007 | "memory-pager": "^1.0.2"
1008 | }
1009 | },
1010 | "statuses": {
1011 | "version": "1.5.0",
1012 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
1013 | "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
1014 | },
1015 | "string-width": {
1016 | "version": "1.0.2",
1017 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
1018 | "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
1019 | "requires": {
1020 | "code-point-at": "^1.0.0",
1021 | "is-fullwidth-code-point": "^1.0.0",
1022 | "strip-ansi": "^3.0.0"
1023 | }
1024 | },
1025 | "string_decoder": {
1026 | "version": "1.1.1",
1027 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
1028 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
1029 | "requires": {
1030 | "safe-buffer": "~5.1.0"
1031 | }
1032 | },
1033 | "strip-ansi": {
1034 | "version": "3.0.1",
1035 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
1036 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
1037 | "requires": {
1038 | "ansi-regex": "^2.0.0"
1039 | }
1040 | },
1041 | "strip-json-comments": {
1042 | "version": "2.0.1",
1043 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
1044 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
1045 | },
1046 | "tar": {
1047 | "version": "4.4.10",
1048 | "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.10.tgz",
1049 | "integrity": "sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA==",
1050 | "requires": {
1051 | "chownr": "^1.1.1",
1052 | "fs-minipass": "^1.2.5",
1053 | "minipass": "^2.3.5",
1054 | "minizlib": "^1.2.1",
1055 | "mkdirp": "^0.5.0",
1056 | "safe-buffer": "^5.1.2",
1057 | "yallist": "^3.0.3"
1058 | }
1059 | },
1060 | "tar-fs": {
1061 | "version": "2.1.1",
1062 | "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
1063 | "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
1064 | "requires": {
1065 | "chownr": "^1.1.1",
1066 | "mkdirp-classic": "^0.5.2",
1067 | "pump": "^3.0.0",
1068 | "tar-stream": "^2.1.4"
1069 | }
1070 | },
1071 | "tar-stream": {
1072 | "version": "2.1.4",
1073 | "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.4.tgz",
1074 | "integrity": "sha512-o3pS2zlG4gxr67GmFYBLlq+dM8gyRGUOvsrHclSkvtVtQbjV0s/+ZE8OpICbaj8clrX3tjeHngYGP7rweaBnuw==",
1075 | "requires": {
1076 | "bl": "^4.0.3",
1077 | "end-of-stream": "^1.4.1",
1078 | "fs-constants": "^1.0.0",
1079 | "inherits": "^2.0.3",
1080 | "readable-stream": "^3.1.1"
1081 | },
1082 | "dependencies": {
1083 | "readable-stream": {
1084 | "version": "3.6.0",
1085 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
1086 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
1087 | "requires": {
1088 | "inherits": "^2.0.3",
1089 | "string_decoder": "^1.1.1",
1090 | "util-deprecate": "^1.0.1"
1091 | }
1092 | }
1093 | }
1094 | },
1095 | "toidentifier": {
1096 | "version": "1.0.0",
1097 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
1098 | "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
1099 | },
1100 | "tunnel-agent": {
1101 | "version": "0.6.0",
1102 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
1103 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
1104 | "requires": {
1105 | "safe-buffer": "^5.0.1"
1106 | }
1107 | },
1108 | "tweetnacl": {
1109 | "version": "1.0.3",
1110 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz",
1111 | "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw=="
1112 | },
1113 | "type-is": {
1114 | "version": "1.6.18",
1115 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
1116 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
1117 | "requires": {
1118 | "media-typer": "0.3.0",
1119 | "mime-types": "~2.1.24"
1120 | }
1121 | },
1122 | "unpipe": {
1123 | "version": "1.0.0",
1124 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
1125 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
1126 | },
1127 | "util-deprecate": {
1128 | "version": "1.0.2",
1129 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
1130 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
1131 | },
1132 | "utils-merge": {
1133 | "version": "1.0.1",
1134 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
1135 | "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
1136 | },
1137 | "vary": {
1138 | "version": "1.1.2",
1139 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
1140 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
1141 | },
1142 | "which-pm-runs": {
1143 | "version": "1.0.0",
1144 | "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz",
1145 | "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs="
1146 | },
1147 | "wide-align": {
1148 | "version": "1.1.3",
1149 | "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
1150 | "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
1151 | "requires": {
1152 | "string-width": "^1.0.2 || 2"
1153 | }
1154 | },
1155 | "wrappy": {
1156 | "version": "1.0.2",
1157 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1158 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
1159 | },
1160 | "ws": {
1161 | "version": "7.4.1",
1162 | "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.1.tgz",
1163 | "integrity": "sha512-pTsP8UAfhy3sk1lSk/O/s4tjD0CRwvMnzvwr4OKGX7ZvqZtUyx4KIJB5JWbkykPoc55tixMGgTNoh3k4FkNGFQ=="
1164 | },
1165 | "yallist": {
1166 | "version": "3.1.1",
1167 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
1168 | "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
1169 | },
1170 | "ytdl-core": {
1171 | "version": "4.2.1",
1172 | "resolved": "https://registry.npmjs.org/ytdl-core/-/ytdl-core-4.2.1.tgz",
1173 | "integrity": "sha512-7zAoJiWpaBGgiAUCQuvKBuWom7tmSCV0A70gRdrPxR96yQoJOrCZkW6Wg1CofvPtAeQVWTVWThC8bXRsE+SBeA==",
1174 | "requires": {
1175 | "m3u8stream": "^0.8.3",
1176 | "miniget": "^4.0.0",
1177 | "sax": "^1.1.3"
1178 | }
1179 | }
1180 | }
1181 | }
1182 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "codeground",
3 | "version": "1.1.1",
4 | "description": "Just a bot for me to code for fun",
5 | "main": "bot.js",
6 | "engines": {
7 | "node": "12.x"
8 | },
9 | "scripts": {
10 | "start": "node bot.js",
11 | "test": "node bot.js"
12 | },
13 | "keywords": [],
14 | "author": "GameWatch21",
15 | "license": "ISC",
16 | "dependencies": {
17 | "discord.js": "^12.5.0",
18 | "express": "^4.17.1",
19 | "mongoose": "^5.13.2",
20 | "node-fetch": "^2.6.1",
21 | "parse-ms": "^2.1.0",
22 | "querystring": "^0.2.0",
23 | "quick.db": "^7.1.2"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/shrinkwrap.yaml:
--------------------------------------------------------------------------------
1 | dependencies:
2 | discord.js: 12.5.0
3 | express: 4.17.1
4 | node-fetch: 2.6.1
5 | querystring: 0.2.0
6 | quick.db: 7.1.3
7 | packages:
8 | /@discordjs/collection/0.1.6:
9 | dev: false
10 | resolution:
11 | integrity: sha512-utRNxnd9kSS2qhyivo9lMlt5qgAUasH2gb7BEOn6p0efFh24gjGomHzWKMAPn2hEReOPQZCJaRKoURwRotKucQ==
12 | /@discordjs/form-data/3.0.1:
13 | dependencies:
14 | asynckit: 0.4.0
15 | combined-stream: 1.0.8
16 | mime-types: 2.1.27
17 | dev: false
18 | engines:
19 | node: '>= 6'
20 | resolution:
21 | integrity: sha512-ZfFsbgEXW71Rw/6EtBdrP5VxBJy4dthyC0tpQKGKmYFImlmmrykO14Za+BiIVduwjte0jXEBlhSKf0MWbFp9Eg==
22 | /abort-controller/3.0.0:
23 | dependencies:
24 | event-target-shim: 5.0.1
25 | dev: false
26 | engines:
27 | node: '>=6.5'
28 | resolution:
29 | integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==
30 | /accepts/1.3.7:
31 | dependencies:
32 | mime-types: 2.1.27
33 | negotiator: 0.6.2
34 | dev: false
35 | engines:
36 | node: '>= 0.6'
37 | resolution:
38 | integrity: sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==
39 | /ansi-regex/2.1.1:
40 | dev: false
41 | engines:
42 | node: '>=0.10.0'
43 | resolution:
44 | integrity: sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
45 | /ansi-regex/3.0.0:
46 | dev: false
47 | engines:
48 | node: '>=4'
49 | resolution:
50 | integrity: sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
51 | /aproba/1.2.0:
52 | dev: false
53 | resolution:
54 | integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
55 | /are-we-there-yet/1.1.5:
56 | dependencies:
57 | delegates: 1.0.0
58 | readable-stream: 2.3.7
59 | dev: false
60 | resolution:
61 | integrity: sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==
62 | /array-flatten/1.1.1:
63 | dev: false
64 | resolution:
65 | integrity: sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=
66 | /asynckit/0.4.0:
67 | dev: false
68 | resolution:
69 | integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=
70 | /base64-js/1.5.1:
71 | dev: false
72 | resolution:
73 | integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
74 | /better-sqlite3/7.1.1:
75 | dependencies:
76 | bindings: 1.5.0
77 | prebuild-install: 5.3.6
78 | tar: 4.4.10
79 | dev: false
80 | requiresBuild: true
81 | resolution:
82 | integrity: sha512-AkvGGyhAVZhRBOul2WT+5CB2EuveM3ZkebEKe1wxMqDZUy1XB/1RBgM66t0ybHC4DIni8+pr7NaLqEX87NUTwg==
83 | /bindings/1.5.0:
84 | dependencies:
85 | file-uri-to-path: 1.0.0
86 | dev: false
87 | resolution:
88 | integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==
89 | /bl/4.0.3:
90 | dependencies:
91 | buffer: 5.7.1
92 | inherits: 2.0.4
93 | readable-stream: 3.6.0
94 | dev: false
95 | resolution:
96 | integrity: sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg==
97 | /body-parser/1.19.0:
98 | dependencies:
99 | bytes: 3.1.0
100 | content-type: 1.0.4
101 | debug: 2.6.9
102 | depd: 1.1.2
103 | http-errors: 1.7.2
104 | iconv-lite: 0.4.24
105 | on-finished: 2.3.0
106 | qs: 6.7.0
107 | raw-body: 2.4.0
108 | type-is: 1.6.18
109 | dev: false
110 | engines:
111 | node: '>= 0.8'
112 | resolution:
113 | integrity: sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==
114 | /buffer/5.7.1:
115 | dependencies:
116 | base64-js: 1.5.1
117 | ieee754: 1.2.1
118 | dev: false
119 | resolution:
120 | integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
121 | /bytes/3.1.0:
122 | dev: false
123 | engines:
124 | node: '>= 0.8'
125 | resolution:
126 | integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
127 | /chownr/1.1.4:
128 | dev: false
129 | resolution:
130 | integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
131 | /code-point-at/1.1.0:
132 | dev: false
133 | engines:
134 | node: '>=0.10.0'
135 | resolution:
136 | integrity: sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
137 | /combined-stream/1.0.8:
138 | dependencies:
139 | delayed-stream: 1.0.0
140 | dev: false
141 | engines:
142 | node: '>= 0.8'
143 | resolution:
144 | integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
145 | /console-control-strings/1.1.0:
146 | dev: false
147 | resolution:
148 | integrity: sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
149 | /content-disposition/0.5.3:
150 | dependencies:
151 | safe-buffer: 5.1.2
152 | dev: false
153 | engines:
154 | node: '>= 0.6'
155 | resolution:
156 | integrity: sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==
157 | /content-type/1.0.4:
158 | dev: false
159 | engines:
160 | node: '>= 0.6'
161 | resolution:
162 | integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
163 | /cookie-signature/1.0.6:
164 | dev: false
165 | resolution:
166 | integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
167 | /cookie/0.4.0:
168 | dev: false
169 | engines:
170 | node: '>= 0.6'
171 | resolution:
172 | integrity: sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==
173 | /core-util-is/1.0.2:
174 | dev: false
175 | resolution:
176 | integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
177 | /debug/2.6.9:
178 | dependencies:
179 | ms: 2.0.0
180 | dev: false
181 | resolution:
182 | integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
183 | /decompress-response/4.2.1:
184 | dependencies:
185 | mimic-response: 2.1.0
186 | dev: false
187 | engines:
188 | node: '>=8'
189 | resolution:
190 | integrity: sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==
191 | /deep-extend/0.6.0:
192 | dev: false
193 | engines:
194 | node: '>=4.0.0'
195 | resolution:
196 | integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
197 | /delayed-stream/1.0.0:
198 | dev: false
199 | engines:
200 | node: '>=0.4.0'
201 | resolution:
202 | integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
203 | /delegates/1.0.0:
204 | dev: false
205 | resolution:
206 | integrity: sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
207 | /depd/1.1.2:
208 | dev: false
209 | engines:
210 | node: '>= 0.6'
211 | resolution:
212 | integrity: sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
213 | /destroy/1.0.4:
214 | dev: false
215 | resolution:
216 | integrity: sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
217 | /detect-libc/1.0.3:
218 | dev: false
219 | engines:
220 | node: '>=0.10'
221 | hasBin: true
222 | resolution:
223 | integrity: sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
224 | /discord.js/12.5.0:
225 | dependencies:
226 | '@discordjs/collection': 0.1.6
227 | '@discordjs/form-data': 3.0.1
228 | abort-controller: 3.0.0
229 | node-fetch: 2.6.1
230 | prism-media: 1.2.2
231 | setimmediate: 1.0.5
232 | tweetnacl: 1.0.3
233 | ws: 7.4.0
234 | dev: false
235 | engines:
236 | node: '>=12.0.0'
237 | resolution:
238 | integrity: sha512-MXZcnBIosHEOX26ipWEcZdUrTyfTbb4sDYYp0Go5N05PyI78LR8Ds7yAfMu0zUDmxFHYLSYX0pCdiO2pd4CP6w==
239 | /ee-first/1.1.1:
240 | dev: false
241 | resolution:
242 | integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
243 | /encodeurl/1.0.2:
244 | dev: false
245 | engines:
246 | node: '>= 0.8'
247 | resolution:
248 | integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
249 | /end-of-stream/1.4.4:
250 | dependencies:
251 | once: 1.4.0
252 | dev: false
253 | resolution:
254 | integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
255 | /escape-html/1.0.3:
256 | dev: false
257 | resolution:
258 | integrity: sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
259 | /etag/1.8.1:
260 | dev: false
261 | engines:
262 | node: '>= 0.6'
263 | resolution:
264 | integrity: sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
265 | /event-target-shim/5.0.1:
266 | dev: false
267 | engines:
268 | node: '>=6'
269 | resolution:
270 | integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==
271 | /expand-template/2.0.3:
272 | dev: false
273 | engines:
274 | node: '>=6'
275 | resolution:
276 | integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==
277 | /express/4.17.1:
278 | dependencies:
279 | accepts: 1.3.7
280 | array-flatten: 1.1.1
281 | body-parser: 1.19.0
282 | content-disposition: 0.5.3
283 | content-type: 1.0.4
284 | cookie: 0.4.0
285 | cookie-signature: 1.0.6
286 | debug: 2.6.9
287 | depd: 1.1.2
288 | encodeurl: 1.0.2
289 | escape-html: 1.0.3
290 | etag: 1.8.1
291 | finalhandler: 1.1.2
292 | fresh: 0.5.2
293 | merge-descriptors: 1.0.1
294 | methods: 1.1.2
295 | on-finished: 2.3.0
296 | parseurl: 1.3.3
297 | path-to-regexp: 0.1.7
298 | proxy-addr: 2.0.6
299 | qs: 6.7.0
300 | range-parser: 1.2.1
301 | safe-buffer: 5.1.2
302 | send: 0.17.1
303 | serve-static: 1.14.1
304 | setprototypeof: 1.1.1
305 | statuses: 1.5.0
306 | type-is: 1.6.18
307 | utils-merge: 1.0.1
308 | vary: 1.1.2
309 | dev: false
310 | engines:
311 | node: '>= 0.10.0'
312 | resolution:
313 | integrity: sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==
314 | /file-uri-to-path/1.0.0:
315 | dev: false
316 | resolution:
317 | integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
318 | /finalhandler/1.1.2:
319 | dependencies:
320 | debug: 2.6.9
321 | encodeurl: 1.0.2
322 | escape-html: 1.0.3
323 | on-finished: 2.3.0
324 | parseurl: 1.3.3
325 | statuses: 1.5.0
326 | unpipe: 1.0.0
327 | dev: false
328 | engines:
329 | node: '>= 0.8'
330 | resolution:
331 | integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==
332 | /forwarded/0.1.2:
333 | dev: false
334 | engines:
335 | node: '>= 0.6'
336 | resolution:
337 | integrity: sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=
338 | /fresh/0.5.2:
339 | dev: false
340 | engines:
341 | node: '>= 0.6'
342 | resolution:
343 | integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=
344 | /fs-constants/1.0.0:
345 | dev: false
346 | resolution:
347 | integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
348 | /fs-minipass/1.2.7:
349 | dependencies:
350 | minipass: 2.9.0
351 | dev: false
352 | resolution:
353 | integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==
354 | /gauge/2.7.4:
355 | dependencies:
356 | aproba: 1.2.0
357 | console-control-strings: 1.1.0
358 | has-unicode: 2.0.1
359 | object-assign: 4.1.1
360 | signal-exit: 3.0.3
361 | string-width: 1.0.2
362 | strip-ansi: 3.0.1
363 | wide-align: 1.1.3
364 | dev: false
365 | resolution:
366 | integrity: sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=
367 | /github-from-package/0.0.0:
368 | dev: false
369 | resolution:
370 | integrity: sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=
371 | /has-unicode/2.0.1:
372 | dev: false
373 | resolution:
374 | integrity: sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=
375 | /http-errors/1.7.2:
376 | dependencies:
377 | depd: 1.1.2
378 | inherits: 2.0.3
379 | setprototypeof: 1.1.1
380 | statuses: 1.5.0
381 | toidentifier: 1.0.0
382 | dev: false
383 | engines:
384 | node: '>= 0.6'
385 | resolution:
386 | integrity: sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==
387 | /http-errors/1.7.3:
388 | dependencies:
389 | depd: 1.1.2
390 | inherits: 2.0.4
391 | setprototypeof: 1.1.1
392 | statuses: 1.5.0
393 | toidentifier: 1.0.0
394 | dev: false
395 | engines:
396 | node: '>= 0.6'
397 | resolution:
398 | integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==
399 | /iconv-lite/0.4.24:
400 | dependencies:
401 | safer-buffer: 2.1.2
402 | dev: false
403 | engines:
404 | node: '>=0.10.0'
405 | resolution:
406 | integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
407 | /ieee754/1.2.1:
408 | dev: false
409 | resolution:
410 | integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
411 | /inherits/2.0.3:
412 | dev: false
413 | resolution:
414 | integrity: sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
415 | /inherits/2.0.4:
416 | dev: false
417 | resolution:
418 | integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
419 | /ini/1.3.5:
420 | dev: false
421 | resolution:
422 | integrity: sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
423 | /ipaddr.js/1.9.1:
424 | dev: false
425 | engines:
426 | node: '>= 0.10'
427 | resolution:
428 | integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
429 | /is-fullwidth-code-point/1.0.0:
430 | dependencies:
431 | number-is-nan: 1.0.1
432 | dev: false
433 | engines:
434 | node: '>=0.10.0'
435 | resolution:
436 | integrity: sha1-754xOG8DGn8NZDr4L95QxFfvAMs=
437 | /is-fullwidth-code-point/2.0.0:
438 | dev: false
439 | engines:
440 | node: '>=4'
441 | resolution:
442 | integrity: sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
443 | /isarray/1.0.0:
444 | dev: false
445 | resolution:
446 | integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
447 | /lodash/4.17.20:
448 | dev: false
449 | resolution:
450 | integrity: sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
451 | /media-typer/0.3.0:
452 | dev: false
453 | engines:
454 | node: '>= 0.6'
455 | resolution:
456 | integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
457 | /merge-descriptors/1.0.1:
458 | dev: false
459 | resolution:
460 | integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
461 | /methods/1.1.2:
462 | dev: false
463 | engines:
464 | node: '>= 0.6'
465 | resolution:
466 | integrity: sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
467 | /mime-db/1.44.0:
468 | dev: false
469 | engines:
470 | node: '>= 0.6'
471 | resolution:
472 | integrity: sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==
473 | /mime-types/2.1.27:
474 | dependencies:
475 | mime-db: 1.44.0
476 | dev: false
477 | engines:
478 | node: '>= 0.6'
479 | resolution:
480 | integrity: sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==
481 | /mime/1.6.0:
482 | dev: false
483 | engines:
484 | node: '>=4'
485 | hasBin: true
486 | resolution:
487 | integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
488 | /mimic-response/2.1.0:
489 | dev: false
490 | engines:
491 | node: '>=8'
492 | resolution:
493 | integrity: sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==
494 | /minimist/1.2.5:
495 | dev: false
496 | resolution:
497 | integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
498 | /minipass/2.9.0:
499 | dependencies:
500 | safe-buffer: 5.2.1
501 | yallist: 3.1.1
502 | dev: false
503 | resolution:
504 | integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==
505 | /minizlib/1.3.3:
506 | dependencies:
507 | minipass: 2.9.0
508 | dev: false
509 | resolution:
510 | integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==
511 | /mkdirp-classic/0.5.3:
512 | dev: false
513 | resolution:
514 | integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==
515 | /mkdirp/0.5.5:
516 | dependencies:
517 | minimist: 1.2.5
518 | dev: false
519 | hasBin: true
520 | resolution:
521 | integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
522 | /ms/2.0.0:
523 | dev: false
524 | resolution:
525 | integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
526 | /ms/2.1.1:
527 | dev: false
528 | resolution:
529 | integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==
530 | /napi-build-utils/1.0.2:
531 | dev: false
532 | resolution:
533 | integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==
534 | /negotiator/0.6.2:
535 | dev: false
536 | engines:
537 | node: '>= 0.6'
538 | resolution:
539 | integrity: sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
540 | /node-abi/2.19.3:
541 | dependencies:
542 | semver: 5.7.1
543 | dev: false
544 | resolution:
545 | integrity: sha512-9xZrlyfvKhWme2EXFKQhZRp1yNWT/uI1luYPr3sFl+H4keYY4xR+1jO7mvTTijIsHf1M+QDe9uWuKeEpLInIlg==
546 | /node-fetch/2.6.1:
547 | dev: false
548 | engines:
549 | node: 4.x || >=6.0.0
550 | resolution:
551 | integrity: sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
552 | /noop-logger/0.1.1:
553 | dev: false
554 | resolution:
555 | integrity: sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=
556 | /npmlog/4.1.2:
557 | dependencies:
558 | are-we-there-yet: 1.1.5
559 | console-control-strings: 1.1.0
560 | gauge: 2.7.4
561 | set-blocking: 2.0.0
562 | dev: false
563 | resolution:
564 | integrity: sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
565 | /number-is-nan/1.0.1:
566 | dev: false
567 | engines:
568 | node: '>=0.10.0'
569 | resolution:
570 | integrity: sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
571 | /object-assign/4.1.1:
572 | dev: false
573 | engines:
574 | node: '>=0.10.0'
575 | resolution:
576 | integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
577 | /on-finished/2.3.0:
578 | dependencies:
579 | ee-first: 1.1.1
580 | dev: false
581 | engines:
582 | node: '>= 0.8'
583 | resolution:
584 | integrity: sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=
585 | /once/1.4.0:
586 | dependencies:
587 | wrappy: 1.0.2
588 | dev: false
589 | resolution:
590 | integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
591 | /parseurl/1.3.3:
592 | dev: false
593 | engines:
594 | node: '>= 0.8'
595 | resolution:
596 | integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
597 | /path-to-regexp/0.1.7:
598 | dev: false
599 | resolution:
600 | integrity: sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
601 | /prebuild-install/5.3.6:
602 | dependencies:
603 | detect-libc: 1.0.3
604 | expand-template: 2.0.3
605 | github-from-package: 0.0.0
606 | minimist: 1.2.5
607 | mkdirp-classic: 0.5.3
608 | napi-build-utils: 1.0.2
609 | node-abi: 2.19.3
610 | noop-logger: 0.1.1
611 | npmlog: 4.1.2
612 | pump: 3.0.0
613 | rc: 1.2.8
614 | simple-get: 3.1.0
615 | tar-fs: 2.1.1
616 | tunnel-agent: 0.6.0
617 | which-pm-runs: 1.0.0
618 | dev: false
619 | engines:
620 | node: '>=6'
621 | hasBin: true
622 | resolution:
623 | integrity: sha512-s8Aai8++QQGi4sSbs/M1Qku62PFK49Jm1CbgXklGz4nmHveDq0wzJkg7Na5QbnO1uNH8K7iqx2EQ/mV0MZEmOg==
624 | /prism-media/1.2.2:
625 | dev: false
626 | peerDependencies:
627 | '@discordjs/opus': ^0.1.0
628 | ffmpeg-static: ^2.4.0 || ^3.0.0
629 | node-opus: ^0.3.1
630 | opusscript: ^0.0.6
631 | resolution:
632 | integrity: sha512-I+nkWY212lJ500jLe4tN9tWO7nRiBAVdMv76P9kffZjYhw20raMlW1HSSvS+MLXC9MmbNZCazMrAr+5jEEgTuw==
633 | /process-nextick-args/2.0.1:
634 | dev: false
635 | resolution:
636 | integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
637 | /proxy-addr/2.0.6:
638 | dependencies:
639 | forwarded: 0.1.2
640 | ipaddr.js: 1.9.1
641 | dev: false
642 | engines:
643 | node: '>= 0.10'
644 | resolution:
645 | integrity: sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==
646 | /pump/3.0.0:
647 | dependencies:
648 | end-of-stream: 1.4.4
649 | once: 1.4.0
650 | dev: false
651 | resolution:
652 | integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
653 | /qs/6.7.0:
654 | dev: false
655 | engines:
656 | node: '>=0.6'
657 | resolution:
658 | integrity: sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
659 | /querystring/0.2.0:
660 | dev: false
661 | engines:
662 | node: '>=0.4.x'
663 | resolution:
664 | integrity: sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=
665 | /quick.db/7.1.3:
666 | dependencies:
667 | better-sqlite3: 7.1.1
668 | lodash: 4.17.20
669 | dev: false
670 | resolution:
671 | integrity: sha512-0S1fVb9OAZGhkI4ZIc5Oe4yWMwhz20xSsziwd6+yGWKKMsPt+XOfj/gD5CesGxd2WdqBkZFBiP8ZqWDu55HLHA==
672 | /range-parser/1.2.1:
673 | dev: false
674 | engines:
675 | node: '>= 0.6'
676 | resolution:
677 | integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
678 | /raw-body/2.4.0:
679 | dependencies:
680 | bytes: 3.1.0
681 | http-errors: 1.7.2
682 | iconv-lite: 0.4.24
683 | unpipe: 1.0.0
684 | dev: false
685 | engines:
686 | node: '>= 0.8'
687 | resolution:
688 | integrity: sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==
689 | /rc/1.2.8:
690 | dependencies:
691 | deep-extend: 0.6.0
692 | ini: 1.3.5
693 | minimist: 1.2.5
694 | strip-json-comments: 2.0.1
695 | dev: false
696 | hasBin: true
697 | resolution:
698 | integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
699 | /readable-stream/2.3.7:
700 | dependencies:
701 | core-util-is: 1.0.2
702 | inherits: 2.0.4
703 | isarray: 1.0.0
704 | process-nextick-args: 2.0.1
705 | safe-buffer: 5.1.2
706 | string_decoder: 1.1.1
707 | util-deprecate: 1.0.2
708 | dev: false
709 | resolution:
710 | integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
711 | /readable-stream/3.6.0:
712 | dependencies:
713 | inherits: 2.0.4
714 | string_decoder: 1.3.0
715 | util-deprecate: 1.0.2
716 | dev: false
717 | engines:
718 | node: '>= 6'
719 | resolution:
720 | integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
721 | /safe-buffer/5.1.2:
722 | dev: false
723 | resolution:
724 | integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
725 | /safe-buffer/5.2.1:
726 | dev: false
727 | resolution:
728 | integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
729 | /safer-buffer/2.1.2:
730 | dev: false
731 | resolution:
732 | integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
733 | /semver/5.7.1:
734 | dev: false
735 | hasBin: true
736 | resolution:
737 | integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
738 | /send/0.17.1:
739 | dependencies:
740 | debug: 2.6.9
741 | depd: 1.1.2
742 | destroy: 1.0.4
743 | encodeurl: 1.0.2
744 | escape-html: 1.0.3
745 | etag: 1.8.1
746 | fresh: 0.5.2
747 | http-errors: 1.7.3
748 | mime: 1.6.0
749 | ms: 2.1.1
750 | on-finished: 2.3.0
751 | range-parser: 1.2.1
752 | statuses: 1.5.0
753 | dev: false
754 | engines:
755 | node: '>= 0.8.0'
756 | resolution:
757 | integrity: sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==
758 | /serve-static/1.14.1:
759 | dependencies:
760 | encodeurl: 1.0.2
761 | escape-html: 1.0.3
762 | parseurl: 1.3.3
763 | send: 0.17.1
764 | dev: false
765 | engines:
766 | node: '>= 0.8.0'
767 | resolution:
768 | integrity: sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==
769 | /set-blocking/2.0.0:
770 | dev: false
771 | resolution:
772 | integrity: sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
773 | /setimmediate/1.0.5:
774 | dev: false
775 | resolution:
776 | integrity: sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
777 | /setprototypeof/1.1.1:
778 | dev: false
779 | resolution:
780 | integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==
781 | /signal-exit/3.0.3:
782 | dev: false
783 | resolution:
784 | integrity: sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
785 | /simple-concat/1.0.1:
786 | dev: false
787 | resolution:
788 | integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==
789 | /simple-get/3.1.0:
790 | dependencies:
791 | decompress-response: 4.2.1
792 | once: 1.4.0
793 | simple-concat: 1.0.1
794 | dev: false
795 | resolution:
796 | integrity: sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==
797 | /statuses/1.5.0:
798 | dev: false
799 | engines:
800 | node: '>= 0.6'
801 | resolution:
802 | integrity: sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
803 | /string-width/1.0.2:
804 | dependencies:
805 | code-point-at: 1.1.0
806 | is-fullwidth-code-point: 1.0.0
807 | strip-ansi: 3.0.1
808 | dev: false
809 | engines:
810 | node: '>=0.10.0'
811 | resolution:
812 | integrity: sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
813 | /string-width/2.1.1:
814 | dependencies:
815 | is-fullwidth-code-point: 2.0.0
816 | strip-ansi: 4.0.0
817 | dev: false
818 | engines:
819 | node: '>=4'
820 | resolution:
821 | integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
822 | /string_decoder/1.1.1:
823 | dependencies:
824 | safe-buffer: 5.1.2
825 | dev: false
826 | resolution:
827 | integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
828 | /string_decoder/1.3.0:
829 | dependencies:
830 | safe-buffer: 5.2.1
831 | dev: false
832 | resolution:
833 | integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
834 | /strip-ansi/3.0.1:
835 | dependencies:
836 | ansi-regex: 2.1.1
837 | dev: false
838 | engines:
839 | node: '>=0.10.0'
840 | resolution:
841 | integrity: sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
842 | /strip-ansi/4.0.0:
843 | dependencies:
844 | ansi-regex: 3.0.0
845 | dev: false
846 | engines:
847 | node: '>=4'
848 | resolution:
849 | integrity: sha1-qEeQIusaw2iocTibY1JixQXuNo8=
850 | /strip-json-comments/2.0.1:
851 | dev: false
852 | engines:
853 | node: '>=0.10.0'
854 | resolution:
855 | integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo=
856 | /tar-fs/2.1.1:
857 | dependencies:
858 | chownr: 1.1.4
859 | mkdirp-classic: 0.5.3
860 | pump: 3.0.0
861 | tar-stream: 2.1.4
862 | dev: false
863 | resolution:
864 | integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==
865 | /tar-stream/2.1.4:
866 | dependencies:
867 | bl: 4.0.3
868 | end-of-stream: 1.4.4
869 | fs-constants: 1.0.0
870 | inherits: 2.0.4
871 | readable-stream: 3.6.0
872 | dev: false
873 | engines:
874 | node: '>=6'
875 | resolution:
876 | integrity: sha512-o3pS2zlG4gxr67GmFYBLlq+dM8gyRGUOvsrHclSkvtVtQbjV0s/+ZE8OpICbaj8clrX3tjeHngYGP7rweaBnuw==
877 | /tar/4.4.10:
878 | dependencies:
879 | chownr: 1.1.4
880 | fs-minipass: 1.2.7
881 | minipass: 2.9.0
882 | minizlib: 1.3.3
883 | mkdirp: 0.5.5
884 | safe-buffer: 5.2.1
885 | yallist: 3.1.1
886 | dev: false
887 | engines:
888 | node: '>=4.5'
889 | resolution:
890 | integrity: sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA==
891 | /toidentifier/1.0.0:
892 | dev: false
893 | engines:
894 | node: '>=0.6'
895 | resolution:
896 | integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
897 | /tunnel-agent/0.6.0:
898 | dependencies:
899 | safe-buffer: 5.2.1
900 | dev: false
901 | resolution:
902 | integrity: sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
903 | /tweetnacl/1.0.3:
904 | dev: false
905 | resolution:
906 | integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==
907 | /type-is/1.6.18:
908 | dependencies:
909 | media-typer: 0.3.0
910 | mime-types: 2.1.27
911 | dev: false
912 | engines:
913 | node: '>= 0.6'
914 | resolution:
915 | integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
916 | /unpipe/1.0.0:
917 | dev: false
918 | engines:
919 | node: '>= 0.8'
920 | resolution:
921 | integrity: sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
922 | /util-deprecate/1.0.2:
923 | dev: false
924 | resolution:
925 | integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
926 | /utils-merge/1.0.1:
927 | dev: false
928 | engines:
929 | node: '>= 0.4.0'
930 | resolution:
931 | integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
932 | /vary/1.1.2:
933 | dev: false
934 | engines:
935 | node: '>= 0.8'
936 | resolution:
937 | integrity: sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=
938 | /which-pm-runs/1.0.0:
939 | dev: false
940 | resolution:
941 | integrity: sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=
942 | /wide-align/1.1.3:
943 | dependencies:
944 | string-width: 2.1.1
945 | dev: false
946 | resolution:
947 | integrity: sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==
948 | /wrappy/1.0.2:
949 | dev: false
950 | resolution:
951 | integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
952 | /ws/7.4.0:
953 | dev: false
954 | engines:
955 | node: '>=8.3.0'
956 | peerDependencies:
957 | bufferutil: ^4.0.1
958 | utf-8-validate: ^5.0.2
959 | resolution:
960 | integrity: sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ==
961 | /yallist/3.1.1:
962 | dev: false
963 | resolution:
964 | integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
965 | registry: 'https://registry.npmjs.org/'
966 | shrinkwrapMinorVersion: 9
967 | shrinkwrapVersion: 3
968 | specifiers:
969 | discord.js: ^12.5.0
970 | express: ^4.17.1
971 | node-fetch: ^2.6.1
972 | querystring: ^0.2.0
973 | quick.db: ^7.1.2
974 |
--------------------------------------------------------------------------------