add config example js
This commit is contained in:
		
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -1,4 +1,2 @@
 | 
			
		||||
.nvmrc
 | 
			
		||||
node_modules
 | 
			
		||||
config.js
 | 
			
		||||
config.js
 | 
			
		||||
 
 | 
			
		||||
@@ -1,10 +1,16 @@
 | 
			
		||||
const ms = require("ms");
 | 
			
		||||
const fs = require("fs");
 | 
			
		||||
const path = require("path");
 | 
			
		||||
const uuid = require("uuid").v4;
 | 
			
		||||
const mongoose = require("mongoose");
 | 
			
		||||
 | 
			
		||||
const dbFileName = path.resolve(".", "utils", "todo.json");
 | 
			
		||||
let database = [];
 | 
			
		||||
const todoSchema = new mongoose.Schema({
 | 
			
		||||
  uuid: String,
 | 
			
		||||
  author: String,
 | 
			
		||||
  time: String,
 | 
			
		||||
  channel: String,
 | 
			
		||||
  guild: String,
 | 
			
		||||
  message: String,
 | 
			
		||||
});
 | 
			
		||||
const Todo = mongoose.model("Todo", todoSchema);
 | 
			
		||||
 | 
			
		||||
module.exports = {
 | 
			
		||||
  name: "todo",
 | 
			
		||||
@@ -12,9 +18,9 @@ module.exports = {
 | 
			
		||||
  utilisation: "{prefix}todo <time> <salon> <message>",
 | 
			
		||||
 | 
			
		||||
  async onStart(client) {
 | 
			
		||||
    updateDatabase();
 | 
			
		||||
    const remainingTodos = await TodoUtils.loadAll();
 | 
			
		||||
    const currentTime = Date.now();
 | 
			
		||||
    database.forEach((reminder) => {
 | 
			
		||||
    remainingTodos.forEach(async reminder => {
 | 
			
		||||
      const delay = reminder.time - currentTime;
 | 
			
		||||
      if (delay < 0) {
 | 
			
		||||
        setTimeout(() => {
 | 
			
		||||
@@ -22,9 +28,7 @@ module.exports = {
 | 
			
		||||
          discordChannel.send(
 | 
			
		||||
            `La SNCF vous présente ses excuses pour le retard <@${reminder.author}> ! tu m'as demandé de te rappeler\n---------------------\n${reminder.message}`
 | 
			
		||||
          );
 | 
			
		||||
          updateDatabase();
 | 
			
		||||
          database = database.filter((struct) => struct.uuid !== reminder.uuid);
 | 
			
		||||
          saveDatabase();
 | 
			
		||||
          await TodoUtils.deleteOne(reminder.uuid);
 | 
			
		||||
        }, 1000);
 | 
			
		||||
      } else {
 | 
			
		||||
        setTimeout(() => {
 | 
			
		||||
@@ -32,13 +36,10 @@ module.exports = {
 | 
			
		||||
          discordChannel.send(
 | 
			
		||||
            `<@${reminder.author}>, tu m'as demandé de te rappeler\n---------------------\n${reminder.message}`
 | 
			
		||||
          );
 | 
			
		||||
          updateDatabase();
 | 
			
		||||
          database = database.filter((struct) => struct.uuid !== reminder.uuid);
 | 
			
		||||
          saveDatabase();
 | 
			
		||||
          await TodoUtils.deleteOne(reminder.uuid);
 | 
			
		||||
        }, delay);
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
    console.log("-> ON START !!!!! ça marche putain!");
 | 
			
		||||
  },
 | 
			
		||||
  async execute(client, message, args) {
 | 
			
		||||
    let reveilTime = ms(args[0]);
 | 
			
		||||
@@ -46,53 +47,36 @@ module.exports = {
 | 
			
		||||
    const channel = args[1].replace(/[^0-9]/g, "");
 | 
			
		||||
    let salon = parseInt(channel) ? channel : defaut;
 | 
			
		||||
    const reason = args.splice(salon == defaut ? 1 : 2).join(" ");
 | 
			
		||||
    const reminderStruct = {
 | 
			
		||||
 | 
			
		||||
    const reminder = new Todo({
 | 
			
		||||
      uuid: uuid(),
 | 
			
		||||
      author: message.author.id,
 | 
			
		||||
      time: Date.now() + reveilTime,
 | 
			
		||||
      channel: salon,
 | 
			
		||||
      guild: message.guild.id,
 | 
			
		||||
      message: reason,
 | 
			
		||||
    };
 | 
			
		||||
    });
 | 
			
		||||
    await reminder.save();
 | 
			
		||||
 | 
			
		||||
    setTimeout(function () {
 | 
			
		||||
      const discordChannel = message.guild.channels.cache.get(salon);
 | 
			
		||||
      const discordChannel = client.channels.resolve(salon);
 | 
			
		||||
      discordChannel.send(
 | 
			
		||||
        `<@${reminderStruct.author}>, tu m'as demandé de te rappeler\n---------------------\n${reminderStruct.message}`
 | 
			
		||||
        `<@${message.author.id}>, tu m'as demandé de te rappeler\n---------------------\n${reason}`
 | 
			
		||||
      );
 | 
			
		||||
      updateDatabase();
 | 
			
		||||
      database = database.filter(
 | 
			
		||||
        (struct) => struct.uuid !== reminderStruct.uuid
 | 
			
		||||
      );
 | 
			
		||||
      saveDatabase();
 | 
			
		||||
      await TodoUtils.deleteOne(reminder.uuid);
 | 
			
		||||
    }, reveilTime);
 | 
			
		||||
 | 
			
		||||
    //check if file todo.json content is empty
 | 
			
		||||
    updateDatabase();
 | 
			
		||||
    database.push(reminderStruct);
 | 
			
		||||
    saveDatabase();
 | 
			
		||||
 | 
			
		||||
    // message.react("🤌");
 | 
			
		||||
    // message.react("👌");
 | 
			
		||||
    message.delete().catch(() => message.react("🤌"));
 | 
			
		||||
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const updateDatabase = () => {
 | 
			
		||||
  if (fs.existsSync(dbFileName)) {
 | 
			
		||||
    const fileContent = fs.readFileSync(dbFileName);
 | 
			
		||||
    database.push(...JSON.parse(fileContent));
 | 
			
		||||
  }
 | 
			
		||||
const TodoUtils = {
 | 
			
		||||
  loadAll: async () => {
 | 
			
		||||
    return await Todo.find();
 | 
			
		||||
  },
 | 
			
		||||
  findOne: async (uuid) => {
 | 
			
		||||
    return await Todo.find({uuid});
 | 
			
		||||
  },
 | 
			
		||||
  deleteOne: async (uuid) => {
 | 
			
		||||
    return await Todo.deleteOne({uuid});
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
const saveDatabase = () => {
 | 
			
		||||
  const foundUUIDs = [];
 | 
			
		||||
  database = database.filter((struct) => {
 | 
			
		||||
    if (!foundUUIDs.includes(struct.uuid)) {
 | 
			
		||||
      foundUUIDs.push(struct.uuid);
 | 
			
		||||
      return true;
 | 
			
		||||
    }
 | 
			
		||||
    return false;
 | 
			
		||||
  });
 | 
			
		||||
  fs.writeFileSync(dbFileName, JSON.stringify(database, null, 2));
 | 
			
		||||
};
 | 
			
		||||
@@ -20,7 +20,7 @@ module.exports = {
 | 
			
		||||
        setTimeout(() => {
 | 
			
		||||
          const discordChannel = client.channels.resolve(reminder.channel);
 | 
			
		||||
          discordChannel.send(
 | 
			
		||||
            `La SNCF vous présente ses excuses pour le retard <@${reminder.author}> ! tu m'as demandé de te rappeler\n---------------------\n${reminder.message}`
 | 
			
		||||
            `La SNCF vous présente ses excuses pour le retard <@${reminder.user}> ! tu m'as demandé de te rappeler\n---------------------\n${reminder.message}`
 | 
			
		||||
          );
 | 
			
		||||
          updateDatabase();
 | 
			
		||||
          database = database.filter((struct) => struct.uuid !== reminder.uuid);
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										25
									
								
								config.example.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								config.example.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,25 @@
 | 
			
		||||
module.exports = {
 | 
			
		||||
    app: {
 | 
			
		||||
        prefix: '$',
 | 
			
		||||
        token: ''
 | 
			
		||||
    },
 | 
			
		||||
    db: {
 | 
			
		||||
        DATABASE_URI: "",
 | 
			
		||||
    },
 | 
			
		||||
    opt: {
 | 
			
		||||
        DJ: {
 | 
			
		||||
            enabled: false,
 | 
			
		||||
            roleName: 'DJ',
 | 
			
		||||
            commands: ['back', 'clear', 'filter', 'loop', 'pause', 'resume', 'seek', 'shuffle', 'skip', 'stop', 'volume']
 | 
			
		||||
        },
 | 
			
		||||
        maxVol: 100,
 | 
			
		||||
        loopMessage: false,
 | 
			
		||||
        discordPlayer: {
 | 
			
		||||
            ytdlOptions: {
 | 
			
		||||
                quality: 'highestaudio',
 | 
			
		||||
                highWaterMark: 1 << 25,
 | 
			
		||||
                type: 'opus',
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
@@ -1,9 +1,11 @@
 | 
			
		||||
module.exports = {
 | 
			
		||||
    app: {
 | 
			
		||||
        prefix: '$',
 | 
			
		||||
        token: ''
 | 
			
		||||
        token: 'ODg4NzQyNTI0NTE1MTUxOTMz.YUXH-Q.E0QEWePYlnkk89WTtVvMIt_qz7E'
 | 
			
		||||
    },
 | 
			
		||||
    db: {
 | 
			
		||||
        DATABASE_URI: "mongodb+srv://lantium:56Gt9q5877@lanbot.m4chu.mongodb.net/lanbotMusic?retryWrites=true&w=majority",
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    opt: {
 | 
			
		||||
        DJ: {
 | 
			
		||||
            enabled: false,
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								main.js
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								main.js
									
									
									
									
									
								
							@@ -1,5 +1,6 @@
 | 
			
		||||
const { Player } = require('discord-player');
 | 
			
		||||
const { Client, Intents } = require('discord.js');
 | 
			
		||||
const mongoose = require('mongoose');
 | 
			
		||||
 | 
			
		||||
global.client = new Client({
 | 
			
		||||
    intents: [
 | 
			
		||||
@@ -18,4 +19,13 @@ global.player = new Player(client, client.config.opt.discordPlayer);
 | 
			
		||||
require('./src/loader');
 | 
			
		||||
require('./src/events');
 | 
			
		||||
 | 
			
		||||
mongoose.connect(client.config.db.DATABASE_URI, {
 | 
			
		||||
    autoIndex: false,
 | 
			
		||||
    maxPoolSize: 10,
 | 
			
		||||
    serverSelectionTimeoutMS: 5000,
 | 
			
		||||
    socketTimeoutMS: 45000,
 | 
			
		||||
    family: 4,
 | 
			
		||||
}).then(() => {console.log('Le client DB est connecté')}).catch(err => console.log(err));
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
client.login(client.config.app.token);
 | 
			
		||||
							
								
								
									
										452
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										452
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@@ -13,6 +13,7 @@
 | 
			
		||||
        "discord.js": "^13.1.0",
 | 
			
		||||
        "ffmpeg-static": "^4.4.0",
 | 
			
		||||
        "fs": "^0.0.1-security",
 | 
			
		||||
        "mongoose": "^6.2.3",
 | 
			
		||||
        "ms": "^3.0.0-canary.1",
 | 
			
		||||
        "opusscript": "^0.0.8",
 | 
			
		||||
        "uuid": "^8.3.2",
 | 
			
		||||
@@ -130,6 +131,20 @@
 | 
			
		||||
        "node": ">= 6"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@types/webidl-conversions": {
 | 
			
		||||
      "version": "6.1.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-6.1.1.tgz",
 | 
			
		||||
      "integrity": "sha512-XAahCdThVuCFDQLT7R7Pk/vqeObFNL3YqRyFZg+AqAP/W1/w3xHaIxuW7WszQqTbIBOPRcItYJIou3i/mppu3Q=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@types/whatwg-url": {
 | 
			
		||||
      "version": "8.2.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.1.tgz",
 | 
			
		||||
      "integrity": "sha512-2YubE1sjj5ifxievI5Ge1sckb9k/Er66HyR2c+3+I6VDUUg1TLPdYYTEbQ+DjRkS4nTxMJhgWfSfMRD2sl2EYQ==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@types/node": "*",
 | 
			
		||||
        "@types/webidl-conversions": "*"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/@types/ws": {
 | 
			
		||||
      "version": "8.2.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.2.tgz",
 | 
			
		||||
@@ -154,11 +169,64 @@
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
 | 
			
		||||
      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/base64-js": {
 | 
			
		||||
      "version": "1.5.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
 | 
			
		||||
      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
 | 
			
		||||
      "funding": [
 | 
			
		||||
        {
 | 
			
		||||
          "type": "github",
 | 
			
		||||
          "url": "https://github.com/sponsors/feross"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "type": "patreon",
 | 
			
		||||
          "url": "https://www.patreon.com/feross"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "type": "consulting",
 | 
			
		||||
          "url": "https://feross.org/support"
 | 
			
		||||
        }
 | 
			
		||||
      ]
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/boolbase": {
 | 
			
		||||
      "version": "1.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
 | 
			
		||||
      "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/bson": {
 | 
			
		||||
      "version": "4.6.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/bson/-/bson-4.6.2.tgz",
 | 
			
		||||
      "integrity": "sha512-VeJKHShcu1b/ugl0QiujlVuBepab714X9nNyBdA1kfekuDGecxgpTA2Z6nYbagrWFeiIyzSWIOzju3lhj+RNyQ==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "buffer": "^5.6.0"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=6.9.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/buffer": {
 | 
			
		||||
      "version": "5.7.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
 | 
			
		||||
      "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
 | 
			
		||||
      "funding": [
 | 
			
		||||
        {
 | 
			
		||||
          "type": "github",
 | 
			
		||||
          "url": "https://github.com/sponsors/feross"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "type": "patreon",
 | 
			
		||||
          "url": "https://www.patreon.com/feross"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "type": "consulting",
 | 
			
		||||
          "url": "https://feross.org/support"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "base64-js": "^1.3.1",
 | 
			
		||||
        "ieee754": "^1.1.13"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/buffer-from": {
 | 
			
		||||
      "version": "1.1.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
 | 
			
		||||
@@ -297,6 +365,14 @@
 | 
			
		||||
        "node": ">=0.4.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/denque": {
 | 
			
		||||
      "version": "2.0.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/denque/-/denque-2.0.1.tgz",
 | 
			
		||||
      "integrity": "sha512-tfiWc6BQLXNLpNiR5iGd0Ocu3P3VpxfzFiqubLgMfhfOw9WyvgJBd46CClNn9k3qfbjvT//0cf7AlYRX/OslMQ==",
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=0.10"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/discord-api-types": {
 | 
			
		||||
      "version": "0.24.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.24.0.tgz",
 | 
			
		||||
@@ -520,16 +596,45 @@
 | 
			
		||||
        "node": ">= 6"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/ieee754": {
 | 
			
		||||
      "version": "1.2.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
 | 
			
		||||
      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
 | 
			
		||||
      "funding": [
 | 
			
		||||
        {
 | 
			
		||||
          "type": "github",
 | 
			
		||||
          "url": "https://github.com/sponsors/feross"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "type": "patreon",
 | 
			
		||||
          "url": "https://www.patreon.com/feross"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          "type": "consulting",
 | 
			
		||||
          "url": "https://feross.org/support"
 | 
			
		||||
        }
 | 
			
		||||
      ]
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/inherits": {
 | 
			
		||||
      "version": "2.0.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
 | 
			
		||||
      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/ip": {
 | 
			
		||||
      "version": "1.1.5",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
 | 
			
		||||
      "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/isarray": {
 | 
			
		||||
      "version": "1.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
 | 
			
		||||
      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/kareem": {
 | 
			
		||||
      "version": "2.3.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.4.tgz",
 | 
			
		||||
      "integrity": "sha512-Vcrt8lcpVl0s8ePx634BxwRqmFo+5DcOhlmNadehxreMTIQi/9hOL/B3hZQQbK5DgMS7Lem3xABXV7/S3jy+7g=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/libsodium": {
 | 
			
		||||
      "version": "0.7.9",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/libsodium/-/libsodium-0.7.9.tgz",
 | 
			
		||||
@@ -555,6 +660,12 @@
 | 
			
		||||
        "node": ">=12"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/memory-pager": {
 | 
			
		||||
      "version": "1.5.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
 | 
			
		||||
      "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
 | 
			
		||||
      "optional": true
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/mime-db": {
 | 
			
		||||
      "version": "1.51.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz",
 | 
			
		||||
@@ -582,6 +693,108 @@
 | 
			
		||||
        "node": ">=12"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/mongodb": {
 | 
			
		||||
      "version": "4.3.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.3.1.tgz",
 | 
			
		||||
      "integrity": "sha512-sNa8APSIk+r4x31ZwctKjuPSaeKuvUeNb/fu/3B6dRM02HpEgig7hTHM8A/PJQTlxuC/KFWlDlQjhsk/S43tBg==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "bson": "^4.6.1",
 | 
			
		||||
        "denque": "^2.0.1",
 | 
			
		||||
        "mongodb-connection-string-url": "^2.4.1",
 | 
			
		||||
        "socks": "^2.6.1"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=12.9.0"
 | 
			
		||||
      },
 | 
			
		||||
      "optionalDependencies": {
 | 
			
		||||
        "saslprep": "^1.0.3"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/mongodb-connection-string-url": {
 | 
			
		||||
      "version": "2.5.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.5.2.tgz",
 | 
			
		||||
      "integrity": "sha512-tWDyIG8cQlI5k3skB6ywaEA5F9f5OntrKKsT/Lteub2zgwSUlhqEN2inGgBTm8bpYJf8QYBdA/5naz65XDpczA==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "@types/whatwg-url": "^8.2.1",
 | 
			
		||||
        "whatwg-url": "^11.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/mongodb-connection-string-url/node_modules/tr46": {
 | 
			
		||||
      "version": "3.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "punycode": "^2.1.1"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=12"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/mongodb-connection-string-url/node_modules/webidl-conversions": {
 | 
			
		||||
      "version": "7.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=12"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/mongodb-connection-string-url/node_modules/whatwg-url": {
 | 
			
		||||
      "version": "11.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "tr46": "^3.0.0",
 | 
			
		||||
        "webidl-conversions": "^7.0.0"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=12"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/mongoose": {
 | 
			
		||||
      "version": "6.2.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.2.3.tgz",
 | 
			
		||||
      "integrity": "sha512-FxF2D0MGGIw9bAJ57nSyM4Hs4tDHbu6dn9gQwT1J/lxmRB8jfaWWJ3FSJXTmeYlQ6BpyKeIaT8fj6SAX0YMNBA==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "bson": "^4.2.2",
 | 
			
		||||
        "kareem": "2.3.4",
 | 
			
		||||
        "mongodb": "4.3.1",
 | 
			
		||||
        "mpath": "0.8.4",
 | 
			
		||||
        "mquery": "4.0.2",
 | 
			
		||||
        "ms": "2.1.3",
 | 
			
		||||
        "sift": "16.0.0"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=12.0.0"
 | 
			
		||||
      },
 | 
			
		||||
      "funding": {
 | 
			
		||||
        "type": "opencollective",
 | 
			
		||||
        "url": "https://opencollective.com/mongoose"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/mongoose/node_modules/ms": {
 | 
			
		||||
      "version": "2.1.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
 | 
			
		||||
      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/mpath": {
 | 
			
		||||
      "version": "0.8.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.8.4.tgz",
 | 
			
		||||
      "integrity": "sha512-DTxNZomBcTWlrMW76jy1wvV37X/cNNxPW1y2Jzd4DZkAaC5ZGsm8bfGfNOthcDuRJujXLqiuS6o3Tpy0JEoh7g==",
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=4.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/mquery": {
 | 
			
		||||
      "version": "4.0.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.2.tgz",
 | 
			
		||||
      "integrity": "sha512-oAVF0Nil1mT3rxty6Zln4YiD6x6QsUWYz927jZzjMxOK2aqmhEz5JQ7xmrKK7xRFA2dwV+YaOpKU/S+vfNqKxA==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "debug": "4.x"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=12.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/ms": {
 | 
			
		||||
      "version": "3.0.0-canary.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/ms/-/ms-3.0.0-canary.1.tgz",
 | 
			
		||||
@@ -681,6 +894,14 @@
 | 
			
		||||
        "node": ">=0.4.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/punycode": {
 | 
			
		||||
      "version": "2.1.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
 | 
			
		||||
      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=6"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/readable-stream": {
 | 
			
		||||
      "version": "2.3.7",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
 | 
			
		||||
@@ -700,11 +921,50 @@
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
 | 
			
		||||
      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/saslprep": {
 | 
			
		||||
      "version": "1.0.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz",
 | 
			
		||||
      "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==",
 | 
			
		||||
      "optional": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "sparse-bitfield": "^3.0.3"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">=6"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/sax": {
 | 
			
		||||
      "version": "1.2.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
 | 
			
		||||
      "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/sift": {
 | 
			
		||||
      "version": "16.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/sift/-/sift-16.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-ILTjdP2Mv9V1kIxWMXeMTIRbOBrqKc4JAXmFMnFq3fKeyQ2Qwa3Dw1ubcye3vR+Y6ofA0b9gNDr/y2t6eUeIzQ=="
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/smart-buffer": {
 | 
			
		||||
      "version": "4.2.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
 | 
			
		||||
      "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">= 6.0.0",
 | 
			
		||||
        "npm": ">= 3.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/socks": {
 | 
			
		||||
      "version": "2.6.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz",
 | 
			
		||||
      "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==",
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "ip": "^1.1.5",
 | 
			
		||||
        "smart-buffer": "^4.2.0"
 | 
			
		||||
      },
 | 
			
		||||
      "engines": {
 | 
			
		||||
        "node": ">= 10.13.0",
 | 
			
		||||
        "npm": ">= 3.0.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/soundcloud-scraper": {
 | 
			
		||||
      "version": "5.0.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/soundcloud-scraper/-/soundcloud-scraper-5.0.2.tgz",
 | 
			
		||||
@@ -715,6 +975,15 @@
 | 
			
		||||
        "node-fetch": "^2.6.1"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/sparse-bitfield": {
 | 
			
		||||
      "version": "3.0.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
 | 
			
		||||
      "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=",
 | 
			
		||||
      "optional": true,
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "memory-pager": "^1.0.2"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "node_modules/spotify-uri": {
 | 
			
		||||
      "version": "2.2.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/spotify-uri/-/spotify-uri-2.2.0.tgz",
 | 
			
		||||
@@ -928,6 +1197,20 @@
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@types/webidl-conversions": {
 | 
			
		||||
      "version": "6.1.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-6.1.1.tgz",
 | 
			
		||||
      "integrity": "sha512-XAahCdThVuCFDQLT7R7Pk/vqeObFNL3YqRyFZg+AqAP/W1/w3xHaIxuW7WszQqTbIBOPRcItYJIou3i/mppu3Q=="
 | 
			
		||||
    },
 | 
			
		||||
    "@types/whatwg-url": {
 | 
			
		||||
      "version": "8.2.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.1.tgz",
 | 
			
		||||
      "integrity": "sha512-2YubE1sjj5ifxievI5Ge1sckb9k/Er66HyR2c+3+I6VDUUg1TLPdYYTEbQ+DjRkS4nTxMJhgWfSfMRD2sl2EYQ==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@types/node": "*",
 | 
			
		||||
        "@types/webidl-conversions": "*"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "@types/ws": {
 | 
			
		||||
      "version": "8.2.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.2.tgz",
 | 
			
		||||
@@ -949,11 +1232,33 @@
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
 | 
			
		||||
      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
 | 
			
		||||
    },
 | 
			
		||||
    "base64-js": {
 | 
			
		||||
      "version": "1.5.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
 | 
			
		||||
      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
 | 
			
		||||
    },
 | 
			
		||||
    "boolbase": {
 | 
			
		||||
      "version": "1.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
 | 
			
		||||
      "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
 | 
			
		||||
    },
 | 
			
		||||
    "bson": {
 | 
			
		||||
      "version": "4.6.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/bson/-/bson-4.6.2.tgz",
 | 
			
		||||
      "integrity": "sha512-VeJKHShcu1b/ugl0QiujlVuBepab714X9nNyBdA1kfekuDGecxgpTA2Z6nYbagrWFeiIyzSWIOzju3lhj+RNyQ==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "buffer": "^5.6.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "buffer": {
 | 
			
		||||
      "version": "5.7.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
 | 
			
		||||
      "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "base64-js": "^1.3.1",
 | 
			
		||||
        "ieee754": "^1.1.13"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "buffer-from": {
 | 
			
		||||
      "version": "1.1.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
 | 
			
		||||
@@ -1059,6 +1364,11 @@
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
 | 
			
		||||
      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
 | 
			
		||||
    },
 | 
			
		||||
    "denque": {
 | 
			
		||||
      "version": "2.0.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/denque/-/denque-2.0.1.tgz",
 | 
			
		||||
      "integrity": "sha512-tfiWc6BQLXNLpNiR5iGd0Ocu3P3VpxfzFiqubLgMfhfOw9WyvgJBd46CClNn9k3qfbjvT//0cf7AlYRX/OslMQ=="
 | 
			
		||||
    },
 | 
			
		||||
    "discord-api-types": {
 | 
			
		||||
      "version": "0.24.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.24.0.tgz",
 | 
			
		||||
@@ -1228,16 +1538,31 @@
 | 
			
		||||
        "debug": "4"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "ieee754": {
 | 
			
		||||
      "version": "1.2.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
 | 
			
		||||
      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
 | 
			
		||||
    },
 | 
			
		||||
    "inherits": {
 | 
			
		||||
      "version": "2.0.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
 | 
			
		||||
      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
 | 
			
		||||
    },
 | 
			
		||||
    "ip": {
 | 
			
		||||
      "version": "1.1.5",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
 | 
			
		||||
      "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
 | 
			
		||||
    },
 | 
			
		||||
    "isarray": {
 | 
			
		||||
      "version": "1.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
 | 
			
		||||
      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
 | 
			
		||||
    },
 | 
			
		||||
    "kareem": {
 | 
			
		||||
      "version": "2.3.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.4.tgz",
 | 
			
		||||
      "integrity": "sha512-Vcrt8lcpVl0s8ePx634BxwRqmFo+5DcOhlmNadehxreMTIQi/9hOL/B3hZQQbK5DgMS7Lem3xABXV7/S3jy+7g=="
 | 
			
		||||
    },
 | 
			
		||||
    "libsodium": {
 | 
			
		||||
      "version": "0.7.9",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/libsodium/-/libsodium-0.7.9.tgz",
 | 
			
		||||
@@ -1260,6 +1585,12 @@
 | 
			
		||||
        "sax": "^1.2.4"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "memory-pager": {
 | 
			
		||||
      "version": "1.5.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
 | 
			
		||||
      "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
 | 
			
		||||
      "optional": true
 | 
			
		||||
    },
 | 
			
		||||
    "mime-db": {
 | 
			
		||||
      "version": "1.51.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz",
 | 
			
		||||
@@ -1278,6 +1609,85 @@
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/miniget/-/miniget-4.2.2.tgz",
 | 
			
		||||
      "integrity": "sha512-a7voNL1N5lDMxvTMExOkg+Fq89jM2vY8pAi9ZEWzZtfNmdfP6RXkvUtFnCAXoCv2T9k1v/fUJVaAEuepGcvLYA=="
 | 
			
		||||
    },
 | 
			
		||||
    "mongodb": {
 | 
			
		||||
      "version": "4.3.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.3.1.tgz",
 | 
			
		||||
      "integrity": "sha512-sNa8APSIk+r4x31ZwctKjuPSaeKuvUeNb/fu/3B6dRM02HpEgig7hTHM8A/PJQTlxuC/KFWlDlQjhsk/S43tBg==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "bson": "^4.6.1",
 | 
			
		||||
        "denque": "^2.0.1",
 | 
			
		||||
        "mongodb-connection-string-url": "^2.4.1",
 | 
			
		||||
        "saslprep": "^1.0.3",
 | 
			
		||||
        "socks": "^2.6.1"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "mongodb-connection-string-url": {
 | 
			
		||||
      "version": "2.5.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.5.2.tgz",
 | 
			
		||||
      "integrity": "sha512-tWDyIG8cQlI5k3skB6ywaEA5F9f5OntrKKsT/Lteub2zgwSUlhqEN2inGgBTm8bpYJf8QYBdA/5naz65XDpczA==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "@types/whatwg-url": "^8.2.1",
 | 
			
		||||
        "whatwg-url": "^11.0.0"
 | 
			
		||||
      },
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "tr46": {
 | 
			
		||||
          "version": "3.0.0",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
 | 
			
		||||
          "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
 | 
			
		||||
          "requires": {
 | 
			
		||||
            "punycode": "^2.1.1"
 | 
			
		||||
          }
 | 
			
		||||
        },
 | 
			
		||||
        "webidl-conversions": {
 | 
			
		||||
          "version": "7.0.0",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
 | 
			
		||||
          "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g=="
 | 
			
		||||
        },
 | 
			
		||||
        "whatwg-url": {
 | 
			
		||||
          "version": "11.0.0",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
 | 
			
		||||
          "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
 | 
			
		||||
          "requires": {
 | 
			
		||||
            "tr46": "^3.0.0",
 | 
			
		||||
            "webidl-conversions": "^7.0.0"
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "mongoose": {
 | 
			
		||||
      "version": "6.2.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.2.3.tgz",
 | 
			
		||||
      "integrity": "sha512-FxF2D0MGGIw9bAJ57nSyM4Hs4tDHbu6dn9gQwT1J/lxmRB8jfaWWJ3FSJXTmeYlQ6BpyKeIaT8fj6SAX0YMNBA==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "bson": "^4.2.2",
 | 
			
		||||
        "kareem": "2.3.4",
 | 
			
		||||
        "mongodb": "4.3.1",
 | 
			
		||||
        "mpath": "0.8.4",
 | 
			
		||||
        "mquery": "4.0.2",
 | 
			
		||||
        "ms": "2.1.3",
 | 
			
		||||
        "sift": "16.0.0"
 | 
			
		||||
      },
 | 
			
		||||
      "dependencies": {
 | 
			
		||||
        "ms": {
 | 
			
		||||
          "version": "2.1.3",
 | 
			
		||||
          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
 | 
			
		||||
          "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "mpath": {
 | 
			
		||||
      "version": "0.8.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.8.4.tgz",
 | 
			
		||||
      "integrity": "sha512-DTxNZomBcTWlrMW76jy1wvV37X/cNNxPW1y2Jzd4DZkAaC5ZGsm8bfGfNOthcDuRJujXLqiuS6o3Tpy0JEoh7g=="
 | 
			
		||||
    },
 | 
			
		||||
    "mquery": {
 | 
			
		||||
      "version": "4.0.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.2.tgz",
 | 
			
		||||
      "integrity": "sha512-oAVF0Nil1mT3rxty6Zln4YiD6x6QsUWYz927jZzjMxOK2aqmhEz5JQ7xmrKK7xRFA2dwV+YaOpKU/S+vfNqKxA==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "debug": "4.x"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "ms": {
 | 
			
		||||
      "version": "3.0.0-canary.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/ms/-/ms-3.0.0-canary.1.tgz",
 | 
			
		||||
@@ -1338,6 +1748,11 @@
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
 | 
			
		||||
      "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="
 | 
			
		||||
    },
 | 
			
		||||
    "punycode": {
 | 
			
		||||
      "version": "2.1.1",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
 | 
			
		||||
      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
 | 
			
		||||
    },
 | 
			
		||||
    "readable-stream": {
 | 
			
		||||
      "version": "2.3.7",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
 | 
			
		||||
@@ -1357,11 +1772,39 @@
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
 | 
			
		||||
      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
 | 
			
		||||
    },
 | 
			
		||||
    "saslprep": {
 | 
			
		||||
      "version": "1.0.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz",
 | 
			
		||||
      "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==",
 | 
			
		||||
      "optional": true,
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "sparse-bitfield": "^3.0.3"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "sax": {
 | 
			
		||||
      "version": "1.2.4",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
 | 
			
		||||
      "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
 | 
			
		||||
    },
 | 
			
		||||
    "sift": {
 | 
			
		||||
      "version": "16.0.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/sift/-/sift-16.0.0.tgz",
 | 
			
		||||
      "integrity": "sha512-ILTjdP2Mv9V1kIxWMXeMTIRbOBrqKc4JAXmFMnFq3fKeyQ2Qwa3Dw1ubcye3vR+Y6ofA0b9gNDr/y2t6eUeIzQ=="
 | 
			
		||||
    },
 | 
			
		||||
    "smart-buffer": {
 | 
			
		||||
      "version": "4.2.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
 | 
			
		||||
      "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg=="
 | 
			
		||||
    },
 | 
			
		||||
    "socks": {
 | 
			
		||||
      "version": "2.6.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz",
 | 
			
		||||
      "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==",
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "ip": "^1.1.5",
 | 
			
		||||
        "smart-buffer": "^4.2.0"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "soundcloud-scraper": {
 | 
			
		||||
      "version": "5.0.2",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/soundcloud-scraper/-/soundcloud-scraper-5.0.2.tgz",
 | 
			
		||||
@@ -1372,6 +1815,15 @@
 | 
			
		||||
        "node-fetch": "^2.6.1"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "sparse-bitfield": {
 | 
			
		||||
      "version": "3.0.3",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
 | 
			
		||||
      "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=",
 | 
			
		||||
      "optional": true,
 | 
			
		||||
      "requires": {
 | 
			
		||||
        "memory-pager": "^1.0.2"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "spotify-uri": {
 | 
			
		||||
      "version": "2.2.0",
 | 
			
		||||
      "resolved": "https://registry.npmjs.org/spotify-uri/-/spotify-uri-2.2.0.tgz",
 | 
			
		||||
 
 | 
			
		||||
@@ -14,6 +14,7 @@
 | 
			
		||||
    "discord.js": "^13.1.0",
 | 
			
		||||
    "ffmpeg-static": "^4.4.0",
 | 
			
		||||
    "fs": "^0.0.1-security",
 | 
			
		||||
    "mongoose": "^6.2.3",
 | 
			
		||||
    "ms": "^3.0.0-canary.1",
 | 
			
		||||
    "opusscript": "^0.0.8",
 | 
			
		||||
    "uuid": "^8.3.2",
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user