diff --git a/.gitignore b/.gitignore index ceaea36..b512c09 100644 --- a/.gitignore +++ b/.gitignore @@ -1,132 +1 @@ -# ---> Node -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* -.pnpm-debug.log* - -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# Snowpack dependency directory (https://snowpack.dev/) -web_modules/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional stylelint cache -.stylelintcache - -# Microbundle cache -.rpt2_cache/ -.rts2_cache_cjs/ -.rts2_cache_es/ -.rts2_cache_umd/ - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variable files -.env -.env.development.local -.env.test.local -.env.production.local -.env.local - -# parcel-bundler cache (https://parceljs.org/) -.cache -.parcel-cache - -# Next.js build output -.next -out - -# Nuxt.js build / generate output -.nuxt -dist - -# Gatsby files -.cache/ -# Comment in the public line in if your project uses Gatsby and not Next.js -# https://nextjs.org/blog/next-9-1#public-directory-support -# public - -# vuepress build output -.vuepress/dist - -# vuepress v2.x temp and cache directory -.temp -.cache - -# Docusaurus cache and generated files -.docusaurus - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port - -# Stores VSCode versions used for testing VSCode extensions -.vscode-test - -# yarn v2 -.yarn/cache -.yarn/unplugged -.yarn/build-state.yml -.yarn/install-state.gz -.pnp.* - +node_modules \ No newline at end of file diff --git a/commands/admin/activateStrikes.js b/commands/admin/activateStrikes.js new file mode 100644 index 0000000..81a7deb --- /dev/null +++ b/commands/admin/activateStrikes.js @@ -0,0 +1,57 @@ +const {Command, Random} = require('../../lib.js'); +const {EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle} = require('discord.js'); +const guildsM = require('../../models/guilds.js'); + +module.exports = class leave extends Command +{ + constructor(client) + { + super(client, { + name: 'activateStrikes', + group:'admin', + aliases: ['aStrike'], + description: 'Activates strikes for the guild. Can be called again to disable.', + needsAdmin:true + }) + } + async run(message, args) + { + const Author = message.author + const guild = message.guild.id + guildsM.findOne({gID:guild}).then(g=> + { + g.strikes =!g.strikes; + guildsM.updateOne({gID:guild}, g,{upsert:true}).then(updatedG=> + { + sendMessage(g.strikes); + }) + }) + async function sendMessage(active){ + console.log(active?'Activate Music: -':'Disable Music: -', Author.username, 'on guild:', guild); + const randomID = Random() + const embed = new EmbedBuilder() + .setColor(0xd31f1f) + .setTitle(active?'Music activated!':'Music disabled!') + .setAuthor( {name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png"}) + .setFooter({text:'Rem-chan on ', iconURL:"https://i.imgur.com/g6FSNhL.png"}) + .setTimestamp() + const row = new ActionRowBuilder() + .addComponents( + new ButtonBuilder() + .setCustomId(randomID) + .setLabel('Remove this.') + .setStyle(ButtonStyle.Primary), + ); + await message.channel.send({ephemeral: true, embeds: [embed], components: [row] }); + const filter = i => i.customId === randomID; + + const collector = message.channel.createMessageComponentCollector({ filter, time: 60000 }); + + collector.on('collect', async m => + { + message.delete(); + m.message.delete(); + }); + } + } +} \ No newline at end of file diff --git a/commands/admin/ban.js b/commands/admin/ban.js new file mode 100644 index 0000000..a881360 --- /dev/null +++ b/commands/admin/ban.js @@ -0,0 +1,31 @@ +const {Command} = require('../../lib.js') + + + class ban extends Command{ + constructor(client){ + super(client, { + name: 'ban', + group:'admin', + needsAdmin: true, + description: 'Bans a user from the server.' + + }) + } + async run(message, args) { + // Get the user mentioned in the message + const user = message.mentions.users.first(); + // Check if the user mentioned exists and is not a bot + if (!user || user.bot) { + return new ErrorMessage(this.client).send(ErrorType.Arguments, message, ['User is a bot, or you sent something wrong.']) + } + + // Ban the user + try { + await user.ban(); + return message.channel.send(`${user.tag} was banned from the server.`); + } catch (error) { + return console.log(`Ban: An error occurred: ${error.message}`); + } + } + +}module.exports = ban; \ No newline at end of file diff --git a/commands/admin/clearchat.js b/commands/admin/clearchat.js new file mode 100644 index 0000000..094b53b --- /dev/null +++ b/commands/admin/clearchat.js @@ -0,0 +1,122 @@ + +const {Command, ErrorMessage, ErrorType, Client, Message} = require('../../lib.js') + + + +class clearchat extends Command{ + constructor(client){ + super(client, { + name: 'clearchat', + needsAdmin: true, + aliases:['clear'], + description: 'Clears the channel where it was used, you can pass a message id to clear around it.' + }) + this.client = client; + } + async run(message, args) + { + //verificar admin + const Author = message.author.username; + const channel = message.channel.name; + console.log('ClearChat:',' - ', Author, 'on:', channel, args?args:'No limit' ) + //Verificar se está na sala bemvindo + if(bemvindo(message)) + { + clear(null, true, null); + } + else + { + //verificar se tem argumentos + if(args.length>0) + { + console.log("Info: !clearchat: has Args"); + if(correctArgs(this.client)) + { + console.log("Info: !clearchat: arround argument:",args); + clear(null,false, args,this.client); + } + else + { + console.log("Info: !clearchat: Ammount:",args); + clear(args, false, null,this.client); + } + //Quais-quer eventuais problemas são tratados na função + } + else + { + //caso normal, apenas apaga tudo. + clear(null, false,null,this.client); + } + } + //verificar se é a sala bem vindo + /** + * + * @param {Message} message + * @returns {boolean} + */ + function bemvindo(message){ + + if(message.channel.id==='434713876836122626')return true; + return false; + } + /** + * + * @param {number} costumLimit + * @param {boolean} bemvindo + * @param {string} around + * @param {Client} client + * @returns {void} + */ + async function clear(costumLimit, bemvindo, around,client) + { + message.delete(); + let limit = costumLimit || 99; + if (limit > 100) { + limit = 100; + } + var filter = {}; + filter.limit = limit; + if(bemvindo) filter.after = '436122906565804032' + filter.around = around; + const fetched = await message.channel.messages.fetch(filter); + //console.log("Info: !clearchat: ",fetched) + message.channel.bulkDelete(fetched, true) + .then(()=> + { + console.log("Info: !clearchat", 'CostumLimit?:',limit?limit:'N/A', 'Bemvindo?:', bemvindo,'Around?:', around?around:'N/A'); + }) + .catch((err)=> + { + //console.log(err) + new ErrorMessage(client).send(ErrorType.OldMessages,message, ['Messages are too old and powerfull!']); + }) + } + + //verificar se os argumentos estão corretos + /** + * + * @param {Client} client + * @returns {boolean} + */ + function correctArgs(client){ + + if(message.content.split(' ').length >2) { + new ErrorMessage(client).send(ErrorType.Arguments, message, ['Use just one ID.']); + }else{ + var arg = parseInt(message.content.split(' ')[1], 10); + var arglenght = message.content.split(' ')[1].split('').length; + + + if(typeof arg == "number"){ + + if(arglenght == 18) { + return true; + }else{ + return false; + } + }else { + new ErrorMessage(client).send(ErrorType.NoArguments, message, ['Messages are too old and powerfull!']); + } + } + } +}}module.exports = clearchat; \ No newline at end of file diff --git a/commands/admin/createchannel.js b/commands/admin/createchannel.js new file mode 100644 index 0000000..e7e87c8 --- /dev/null +++ b/commands/admin/createchannel.js @@ -0,0 +1,66 @@ + +const {Command, Random} = require('../../lib.js') + +const {EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle, ChannelType, } = require('discord.js'); + + + class createchannel extends Command{ + constructor(client){ + super(client, { + name: 'createchannel', + description: 'Creates a text based channel on the category the command was used.', + aliases: ['channel'], + needsAdmin:true, + + }) + } + + async run(message, args) + { + //Check admin privilege + var name = args.join(' '); + //log the creation of a new channel. + console.log("Creating a new channel on server:",message.guild.name," with the name:",name); + //Actually create the channel. + message.guild.channels.create({ + name: name, + type: ChannelType.GuildText, + parent: message.guild.channels.cache.get(message.channelId).parentId + }).then(()=> + { + sendMessage(name) + }) + + //Send message confirming the creation of said new channel. + + async function sendMessage(name){ + const randomID = Random() + const embed = new EmbedBuilder() + .setColor(0xd31f1f) + .setTitle('New channel created!') + .setAuthor( {name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png"}) + .setDescription(`${name}`) + .setFooter({text:'Rem-chan on ', iconURL:"https://i.imgur.com/g6FSNhL.png"}) + .setTimestamp() + const row = new ActionRowBuilder() + .addComponents( + new ButtonBuilder() + .setCustomId(randomID) + .setLabel('Remove this.') + .setStyle(ButtonStyle.Primary), + ); + await message.channel.send({ephemeral: true, embeds: [embed], components: [row] }); + const filter = i => i.customId === randomID; + + const collector = message.channel.createMessageComponentCollector({ filter, time: 60000 }); + + collector.on('collect', async m => + { + message.delete(); + m.message.delete(); + }); + + + } + } +}module.exports = createchannel; \ No newline at end of file diff --git a/commands/admin/createvoicechannel.js b/commands/admin/createvoicechannel.js new file mode 100644 index 0000000..a38627a --- /dev/null +++ b/commands/admin/createvoicechannel.js @@ -0,0 +1,83 @@ + +const {Command, Random} = require('../../lib.js') + +const {EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle, ChannelType, PermissionFlagsBits} = require('discord.js'); + + + class createchannel extends Command{ + constructor(client){ + super(client, { + name: 'createvoicechannel', + description: 'Creates a voice based channel on the category the command was used.', + aliases: ['voicechannel'], + needsAdmin:true, + + }) + } + + async run(message, args) { + // Check admin privilege + + // Store the channel name and the parent channel ID in local variables + const name = args.join(' '); + const parentId = message.guild.channels.cache.get(message.channelId).parentId; + + // Log the creation of a new channel + console.log(`Creating a new channel on server: ${message.guild.name} with the name: ${name}`); + + // Use Promise.all() to create the channel and send the message in parallel + await Promise.all([ + message.guild.channels.create({ + name, + type: ChannelType.GuildVoice, + parent: parentId + }), + sendMessage(name) + ]); + + // Define the sendMessage() function using the async/await syntax + async function sendMessage(name) { + const costumID = Random(); + const embed = new EmbedBuilder() + .setColor(0xd31f1f) + .setTitle('New voice channel created!') + .setAuthor({ + name: "Rem-chan", + iconURL: "https://i.imgur.com/g6FSNhL.png" + }) + .setDescription(`${name}`) + .setFooter({ + text: 'Rem-chan em ', + iconURL: "https://i.imgur.com/g6FSNhL.png" + }) + .setTimestamp(); + + const row = new ActionRowBuilder() + .addComponents( + new ButtonBuilder() + .setCustomId(costumID) + .setLabel('Remove this.') + .setStyle(ButtonStyle.Primary) + ); + + await message.channel.send({ + ephemeral: true, + embeds: [embed], + components: [row] + }); + + const filter = i => i.customId === costumID; + + const collector = message.channel.createMessageComponentCollector({ + filter, + time: 60000 + }); + + collector.on('collect', async m => { + message.delete(); + m.message.delete(); + }); + } + } + +}module.exports = createchannel; \ No newline at end of file diff --git a/commands/admin/deletechannel.js b/commands/admin/deletechannel.js new file mode 100644 index 0000000..5a14ca2 --- /dev/null +++ b/commands/admin/deletechannel.js @@ -0,0 +1,16 @@ +const {Command} = require('../../lib.js') + + + class prune extends Command{ + constructor(client){ + super(client, { + name: 'deletechannel', + aliases:['delchannel'], + description: 'Deletes the channel it was used in.', + needsAdmin:true, + }) + } + async run(message, args){ + return message.channel.delete() + } +}module.exports = prune; diff --git a/commands/admin/guilds.js b/commands/admin/guilds.js new file mode 100644 index 0000000..fbc80dc --- /dev/null +++ b/commands/admin/guilds.js @@ -0,0 +1,60 @@ +const {Command, Random} = require('../../lib.js') +const {EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle} = require('discord.js'); + +class Guilds extends Command +{ + constructor(client) + { + super(client, { + name: 'guilds', + group:'admin', + memberName: 'guilds', + description: 'Shows a list of guilds that are using Rem-chan.' + + }) + this.client = client; + } + async run(message, args) + { + const payload = {embeds:[]} + var i = 0; + for (const guild of this.client.guilds.cache) + { + if (!payload.embeds[Math.floor(i / 25)]) + { + payload.embeds.push( + new EmbedBuilder() + .setTitle('Servers hosting Rem-chan:') + .setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png"}) + .setColor(0xd31f1f) + .setFooter({text:'Rem-chan em ', iconURL:"https://i.imgur.com/g6FSNhL.png"}) + .setTimestamp() + ) + } + payload.embeds[Math.floor(i/25)].addFields({name:guild[1].name, value:'With '+guild[1].members.cache.size+' Members'}) + i++; + } + const costumID = Random(); + const row = new ActionRowBuilder() + .addComponents( + new ButtonBuilder() + .setCustomId(costumID) + .setLabel('Remove this.') + .setStyle(ButtonStyle.Primary), + ); + await message.channel.send({ephemeral: true, embeds: payload.embeds, components: [row] }); + const filter = i => i.customId === costumID; + + const collector = message.channel.createMessageComponentCollector({ filter, time: 60000 }); + + collector.on('collect', async m => + { + message.delete(); + m.message.delete(); + }); + + } + + + +}module.exports = Guilds; \ No newline at end of file diff --git a/commands/admin/kick.js b/commands/admin/kick.js new file mode 100644 index 0000000..c23b3ad --- /dev/null +++ b/commands/admin/kick.js @@ -0,0 +1,35 @@ + + +const {Command, ErrorMessage, ErrorType} = require('../../lib.js') + +class kick extends Command{ + constructor(client){ + super(client, { + name: 'kick', + group:'admin', + memberName: 'kick', + description: 'Kicks a member from the server.', + needsAdmin:true, + hidden:true, + + }) + this.client = client; + } + async run(message, args){ + + const user = message.mentions.users.first(); + // Check if the user mentioned exists and is not a bot + if (!user || user.bot) { + return new ErrorMessage(this.client).send(ErrorType.Arguments, message, ['User is a bot, or you sent something wrong.']) + } + + // Kick the user + try { + await user.kick(); + return message.channel.send(`${user.tag} was kicked from the server.`); + } catch (error) { + return console.log(`Kick: An error occurred: ${error.message}`); + } + } +}module.exports = kick; + diff --git a/commands/admin/prune.js b/commands/admin/prune.js new file mode 100644 index 0000000..c0b3a40 --- /dev/null +++ b/commands/admin/prune.js @@ -0,0 +1,22 @@ +const {Command} = require('../../lib.js') + + + class prune extends Command{ + constructor(client){ + super(client, { + name: 'prune', + group:'admin', + description: 'Rebuilds the channel it was used in.', + needsAdmin:true, + }) + } + async run(message, args){ + //Check administration privilege + + let name = message.channel.name; + + message.channel.clone([name, true, "text"]) + + message.channel.delete(); + } +}module.exports = prune; diff --git a/commands/admin/purge.js b/commands/admin/purge.js new file mode 100644 index 0000000..8e36bc9 --- /dev/null +++ b/commands/admin/purge.js @@ -0,0 +1,80 @@ +/* +Purge by servers +Acept multiple servers + + +Purge roleless members + + + + +*/ + +const {EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle} = require('discord.js'); + +const {Command} = require('../../lib.js') + + + class purge extends Command{ + constructor(client){ + super(client, { + name: 'purge', + group:'admin', + memberName: 'purge', + description: 'Kicks everyone that matches has no roles on the server and is on the server for more than 10 days.', + needsAdmin:true, + hidden:false + }) + this.client = client; + } + async run(message, args) + { + // Filter the guild members to only include those with 0 roles and a user age of at least 10 days + // console.log(message.guild.members.cache) + const now = Date.now(); + await message.guild.members.fetch() + const members = message.guild.members.cache.filter( + m => m._roles.length == 0 && now - m.joinedTimestamp >= 10 * 24 * 60 * 60 * 1000 + ); + // Use the for...of loop to iterate over the filtered members + for (const member of members) + { + // Kick each member with 0 roles and a user age of at least 10 days + const m = message.guild.members.cache.get(member[0]); + if (!m) return console.log('Purge: Member not valid') + m.kick('Optional reason that will be displayed in the audit logs') + .then(() => console.log(`Successfully kicked ${m.user.username}`)) + .catch(err => console.log(`Unable to kick ${member[0]}: ${err}`)); + } + console.log(`Prune: ${members.size} members with 0 roles and a user age of at least 10 days are going to be kicked.`) + // Send a confirmation message + const embed = new EmbedBuilder() + .setColor(0x0099FF) + .setTitle('Purging Users with no roles.') + .setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}) + .setDescription('Kicked Members') + .addFields( + { name: 'Kicked', value:`${members.size} members with 0 roles and a user age of at least 10 days.` } + ) + .setTimestamp() + .setFooter({text:'Rem-chan on ', iconURL:"https://i.imgur.com/g6FSNhL.png"}) + const costumID = require('../../lib').Random(); + const row = new ActionRowBuilder() + .addComponents( + new ButtonBuilder() + .setCustomId(costumID) + .setLabel('Remove this.') + .setStyle(ButtonStyle.Primary), + ); + await message.channel.send({ephemeral: true, embeds: [embed], components: [row] }); + const filter = i => i.customId === costumID; + + const collector = message.channel.createMessageComponentCollector({ filter, time: 60000 }); + + collector.on('collect', async m => + { + message.delete(); + m.message.delete(); + }); + } +}module.exports = purge; diff --git a/commands/admin/removerustcommitschannel.js b/commands/admin/removerustcommitschannel.js new file mode 100644 index 0000000..f902f13 --- /dev/null +++ b/commands/admin/removerustcommitschannel.js @@ -0,0 +1,73 @@ +/* +Purge by servers +Acept multiple servers + + +Purge roleless members? +Purge inactive members? +Purge specific role? + + + + +*/ +const {EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle} = require('discord.js'); +const channelM = require('../../models/channels') + +const {Command, } = require('../../lib.js'); + + + class purge extends Command{ + constructor(client){ + super(client, { + name: 'removerustcommitschannel', + aliases: ['unsetrustcommits','urustc'], + description: 'Removes a channel from the rust commits feed.', + needsAdmin:true, + hidden:true + }) + } + async run(message, args) + { + if(args.length==0) return sendMessage(false, 'No arguments') + if(!typeof args[0]=='string' && isNaN(parseInt(args[0])) && !args[0].length==19) return sendMessage(false, 'Incorrect Arguments') + channelM.find({cID:args[0]}).then(channel=> + { + if(channel.length==0) return sendMessage(false, 'ID not on the list.') + channelM.findOneAndRemove(channel.id, (err)=> + { + if(!err) + { + sendMessage(true) + } + }) + }).catch + + async function sendMessage(success,error) + { + const embed = new EmbedBuilder(); + embed.setColor(0x27e33d); + embed.setThumbnail('https://i.imgur.com/g6FSNhL.png'); + const row = new ActionRowBuilder() + .addComponents( + new ButtonBuilder() + .setCustomId('RemoveUnsetRustCommitsChannel') + .setLabel('Remove this.') + .setStyle(ButtonStyle.Primary), + ); + embed.addFields({name:success?'Removed':'Error', value:success?'Successfully removed from the list.':error}) + await message.channel.send({ephemeral: true, embeds: [embed], components: [row] }); + + const filter = i => i.customId === 'RemoveUnsetRustCommitsChannel'; + + const collector = message.channel.createMessageComponentCollector({ filter, time: 60000 }); + + collector.on('collect', async m => + { + message.delete(); + m.message.delete() + }); + } + + } +}module.exports = purge; \ No newline at end of file diff --git a/commands/admin/setFreeGamesChannel.js b/commands/admin/setFreeGamesChannel.js new file mode 100644 index 0000000..33eb2ff --- /dev/null +++ b/commands/admin/setFreeGamesChannel.js @@ -0,0 +1,88 @@ +const {Command} = require('../../lib.js') +const {EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle} = require('discord.js'); +const channelM = require('../../models/channels'); + +class setfreegameschannel extends Command{ + constructor(client){ + super(client, { + name: 'setFreegamesChannel', + aliases:['freegamesc','freec'], + description: 'Sets the channel that will receive the free games/deals updates.', + needsAdmin:true, + + }) + } + async run(message, args) + { + //Check admin privilege + if(args.length>0) + { + if(typeof args[0]=='string' && !isNaN(parseInt(args[0])) && args[0].length>17) + { + var newName = message.guild.channels.cache.get(args[0]).name; + addChannel(args[0], newName); + } + else + { + sendMessage(2); + } + } + else + { + sendMessage(2); + } + + //Message sending function + async function sendMessage(modifier, name) + { + const embed = new EmbedBuilder() + embed.setFooter({text:'Rem-chan on ', iconURL:"https://i.imgur.com/g6FSNhL.png"}) + embed.setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}); + embed.setColor(0x110809); + embed.setTimestamp() + switch (modifier) { + case 0: + embed.setTitle(`Channel ${name} defined.`) + break; + case 1: + embed.setTitle('Error'); + embed.setDescription('You do not have the required permissions') + break; + case 2: + embed.setTitle('Error'); + embed.setDescription('Verify the arguments used.') + break; + default: + break; + } + const row = new ActionRowBuilder() + .addComponents( + new ButtonBuilder() + .setCustomId('RemoveRustCommitsNewChannelMessage') + .setLabel('Remove this.') + .setStyle(ButtonStyle.Primary), + ); + const filter = i => i.customId === 'RemoveRustCommitsNewChannelMessage'; + + await message.channel.send({ephemeral: true, embeds: [embed], components: [row] }); + const collector = message.channel.createMessageComponentCollector({ filter, time: 60000 }); + collector.on('collect', async m => + { + message.delete(); + m.message.delete() + }); + } + function addChannel(id, name) + { + var channel = new channelM(); + channel.name = name; + channel.cID = id; + channel.for = 'freegames'; + channel.save(err=> + { + if(err)console.log(err); + sendMessage(0, name); + }) + } + } +}module.exports = setfreegameschannel; \ No newline at end of file diff --git a/commands/admin/setRoleRule.js b/commands/admin/setRoleRule.js new file mode 100644 index 0000000..8f8ae09 --- /dev/null +++ b/commands/admin/setRoleRule.js @@ -0,0 +1,108 @@ +const {Command, Random, ErrorMessage, ErrorType} = require('../../lib.js') +const {EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle} = require('discord.js'); +const roleRuleM = require('../../models/autoRoleRule'); +class setrustcommitschannel extends Command{ + constructor(client){ + super(client, { + name: 'setrolerule', + aliases:['rolerule','setrr'], + description: 'Sets a auto role rule. Requires four arguments in the following order: MessageID; RoleID; Emoji. \n MessageID refers to the message where Rem will look for reactions and then set a role to a user.', + needsAdmin:true, + }); + this.client = client; + } + async run(message, args) + { + + // Validate the command arguments + const validationResult = await this.confirmArgs(message, args); + if (validationResult === 'Error') return new ErrorMessage(this.client).send(ErrorType.Arguments, message) + // Create a new role rule object + //check if a role rule with there is already a role rule like this in this guild + // this is !roleID !roleEmoji !mID !roleEmoji + var rule = new roleRuleM(); + rule.gID = message.guildId + rule.mID = validationResult.mID; + rule.roleID = validationResult.roleID; + rule.roleEmoji = validationResult.roleEmoji; + rule.roleName = validationResult.roleName; + rule.save(err=> + { + if(err)console.log(err); + }) + + const embed = new EmbedBuilder() + const randomID = Random(); + embed.setFooter({text:'Rem-chan on ', iconURL:"https://i.imgur.com/g6FSNhL.png"}) + embed.setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}); + embed.setColor(0x110809); + embed.setTimestamp() + embed.setTitle(`${rule.roleName}'s rule defined.`) + + const row = new ActionRowBuilder() + .addComponents( + new ButtonBuilder() + .setCustomId(randomID) + .setLabel('Remove this.') + .setStyle(ButtonStyle.Primary), + ); + const filter = i => i.customId === randomID; + message.channel.send({embeds: [embed], components: [row] }); + const collector = message.channel.createMessageComponentCollector({ filter, time: 60000 }); + collector.on('collect', async m => + { + _delete(message, m); + }); + collector.on('end', async m=> + { + _delete(message,m); + }) + } + + + /** + * + * @param {Map} message + * @param {Array} args + * @returns {RoleModel} + * + */ + async confirmArgs(message,args) + { + if(args.length<3) return 'Error' + var mID = args[0]; + var roleID = args[1]; + var roleEmoji = args[2].split(':')[2].split('>')[0]; + var roleName; + var m = await (async ()=> + { + for(const [id, channel] of this.client.channels.cache) + { + if(channel.type == 0) + { + try { + const exists = await this.client.channels.cache.get(id).messages.fetch(mID); + if(exists) return m = true; + } catch (error) {} + } + } + })(); + const r = message.guild.roles.cache.get(roleID); + const e = message.guild.emojis.cache.get(roleEmoji); + + if(!m || !r || !e) return 'Error' + roleName = r.name; + return {mID, roleID, roleEmoji, roleName} + } + +}module.exports = setrustcommitschannel; + +function _delete(message, m) +{ + try { + message.delete(); + m.message.delete(); + } catch (error) { + console.log(error) + } +} \ No newline at end of file diff --git a/commands/admin/setcrackwatchchannel.js b/commands/admin/setcrackwatchchannel.js new file mode 100644 index 0000000..349b093 --- /dev/null +++ b/commands/admin/setcrackwatchchannel.js @@ -0,0 +1,60 @@ +const {EmbedBuilder} = require('discord.js'); + +const {Command} = require('../../lib.js') +const channelModel = require('../../models/channels'); + + class setcrackwatchchannel extends Command{ + constructor(client){ + super(client, { + name: 'setcrackwatchchannel', + group:'admin', + memberName: 'setcrackwatchchannel', + hidden:true, + //! Crack watch is broken Not about to do a reddit crawler for this BS + description: 'Este comando irá usar o canal indicado para mostrar os updates do site crackwatch. É necessário voltar a usar este comando cada vez que o bot tem uma atialização.' + + }) + } + async run(message, args){ + //start channel array var + + //Check admin privilege + if(args.length>0) + { + sendMessage(0, novo); + } + else + { + sendMessage(2); + } + //Message sending function + function sendMessage(modifier,channel2) + { + const embed = new EmbedBuilder + embed.setFooter('Rem-chan em ', "https://i.imgur.com/g6FSNhL.png") + embed.setAuthor("Rem-chan", "https://i.imgur.com/g6FSNhL.png") + embed.setColor(0x11080981) // Alterar a cor + embed.setTimestamp() + switch (modifier) { + case 0: + embed.setTitle('Canal definido') + + + + break; + case 1: + embed.setTitle('Erro'); + embed.setDescription('Não tem as permissões necessárias.') + break; + case 2: + embed.setTitle('Erro'); + embed.setDescription('Verifique os parametros utilizados.') + break; + + default: + break; + } + message.channel.send({embed}); + } + } +}module.exports = setcrackwatchchannel; \ No newline at end of file diff --git a/commands/admin/setrustcommitschannel.js b/commands/admin/setrustcommitschannel.js new file mode 100644 index 0000000..2b4f826 --- /dev/null +++ b/commands/admin/setrustcommitschannel.js @@ -0,0 +1,63 @@ +const {Command} = require('../../lib.js') +const {EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle} = require('discord.js'); +const channelM = require('../../models/channels'); + +class setrustcommitschannel extends Command{ + constructor(client){ + super(client, { + name: 'setrustcommitschannel', + aliases:['rustcommits','rustc'], + description: 'Sets the channel that will receive the rust commits.', + needsAdmin:true, + + }) + } + async run(message, args) + { + //Check admin privilege + if(args.length>0) return sendMessage(2); + if(typeof args[0]=='string' && !isNaN(parseInt(args[0])) && args[0].length>17) return sendMessage(2); + var newName = message.guild.channels.cache.get(args[0]).name; + addChannel(args[0], newName); + + //Message sending function + async function sendMessage(modifier, name) + { + const embed = new EmbedBuilder() + embed.setFooter({text:'Rem-chan on ', iconURL:"https://i.imgur.com/g6FSNhL.png"}) + embed.setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}); + embed.setColor(0x110809); + embed.setTimestamp() + embed.setTitle(`Channel ${name} defined.`) + + const row = new ActionRowBuilder() + .addComponents( + new ButtonBuilder() + .setCustomId('RemoveRustCommitsNewChannelMessage') + .setLabel('Remove this.') + .setStyle(ButtonStyle.Primary), + ); + const filter = i => i.customId === 'RemoveRustCommitsNewChannelMessage'; + + await message.channel.send({ephemeral: true, embeds: [embed], components: [row] }); + const collector = message.channel.createMessageComponentCollector({ filter, time: 60000 }); + collector.on('collect', async m => + { + message.delete(); + m.message.delete() + }); + } + function addChannel(id, name) + { + var channel = new channelM(); + channel.name = name; + channel.cID = id; + channel.for = 'rust'; + channel.save(err=> + { + if(err)console.log(err); + sendMessage(0, name); + }) + } + } +}module.exports = setrustcommitschannel; \ No newline at end of file diff --git a/commands/admin/strike.js b/commands/admin/strike.js new file mode 100644 index 0000000..cd9bc40 --- /dev/null +++ b/commands/admin/strike.js @@ -0,0 +1,81 @@ + + +const {Command,ErrorMessage, ErrorType, EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle} = require('../../lib.js') +const strikeM = require('../../models/strikes'); + + class strike extends Command{ + constructor(client){ + super(client, { + name: 'strike', + group:'admin', + description: 'Strikes an user. Usage !strike @USER REASON', + needsAdmin:true, + }) + this.client = client; + this.message; + } + async run(message, args) + { + //Check admin privilege + this.message = message; + var confirm = await this.confirmArgs(message,args); + if(confirm=='Error') return new ErrorMessage(this.client).send(ErrorType.Arguments, message, ['Use the mention method to pass the user.', 'Make sure you provide a reason.']) + var strike = new strikeM(); + strike.strikerID = confirm.strikerID; + strike.strokedID = confirm.strokedID; + strike.guildName = message.guild.name; + strike.guildID = message.guild.id + strike.reason = confirm.reason; + strike.date = Date.now(); + strike.save(err=> + { + if(err)console.log(err); + this.sendMessage(confirm.strokedID,confirm.reason); + message.delete(); + }) + } + async sendMessage(strokedID, reason) + { + let name = this.client.guilds.cache.get(this.message.guildId).members.cache.get(strokedID); + const embed = new EmbedBuilder() + embed.setFooter({text:'Rem-chan on ', iconURL:"https://i.imgur.com/g6FSNhL.png"}) + embed.setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}); + embed.setColor(0x110809); + embed.setTimestamp() + embed.setTitle(`Strike`) + embed.setDescription(`${name} has been struck.`) + embed.addFields({name:'Reason:', value:reason}) + + const row = new ActionRowBuilder() + .addComponents( + new ButtonBuilder() + .setCustomId('RemoveStrikeMessage') + .setLabel('Remove this.') + .setStyle(ButtonStyle.Primary), + ); + const filter = i => i.customId === 'RemoveStrikeMessage'; + + await this.message.channel.send({ephemeral: true, embeds: [embed], components: [row] }); + const collector = this.message.channel.createMessageComponentCollector({ filter, time: 60000 }); + collector.on('collect', async m => + { + m.message.delete() + .then(()=> + { + // console.log('Strikes: Embed Message: Deleted'); + }) + .catch(()=> + { + // console.log('Strikes: Embed Message: failed to delete.'); + }) + }); + } + async confirmArgs(message,args) + { + if(args.length<2) return 'Error' + if(!args[0].split('@')) return 'Error' + let strikerID = message.author.id; + let strokedID = args[0].split('@')[1].split('>')[0]; + return {strikerID, strokedID, reason:args.splice(-1,1).join(' ')} + } +}module.exports = strike; diff --git a/commands/games/coinflip.js b/commands/games/coinflip.js new file mode 100644 index 0000000..04f59b8 --- /dev/null +++ b/commands/games/coinflip.js @@ -0,0 +1,33 @@ +const {Command} = require('../../lib.js') +const {EmbedBuilder } = require('discord.js'); + + class coinflip extends Command{ + constructor(client){ + super(client, { + name: 'coinflip', + description: 'Flips a coin.' + }) + } + async run(message, args){ + var rand = 1 + Math.floor(Math.random() * 100); + var title; + var url; + if (rand > 50) { + url = 'https://cdn.ram.moe/HJSEfDUbl.gif'; + title = 'Tails'; + } else { + url = 'https://cdn.ram.moe/Byu2fPLWg.png'; + title = 'Heads'; + } + + const embed = new EmbedBuilder() + .setColor(0x0099FF) + .setTitle(title) + .setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}) + .setThumbnail(url) + .setTimestamp() + .setFooter({ text: 'Rem-Chan on', iconURL: 'https://i.imgur.com/g6FSNhL.png' }); + message.channel.send({embeds:[embed]}) + } + + }module.exports = coinflip; \ No newline at end of file diff --git a/commands/games/dice_roll.js b/commands/games/dice_roll.js new file mode 100644 index 0000000..2da773f --- /dev/null +++ b/commands/games/dice_roll.js @@ -0,0 +1,19 @@ +const {Command} = require('../../lib.js') + + + + class diceroll extends Command{ + constructor(client){ + super(client, { + name: 'roll', + aliases:['diceroll'], + description: 'Rolls an icosahedral dice. (d20).' + + }) + } + async run(message, args){ + var roll = Math.floor(Math.random()*20)+1; + message.channel.send('Face shows the number:'+ roll); + } + } + module.exports = diceroll; \ No newline at end of file diff --git a/commands/image/certificate.js b/commands/image/certificate.js new file mode 100644 index 0000000..01410e2 --- /dev/null +++ b/commands/image/certificate.js @@ -0,0 +1,26 @@ +const {Command} = require('../../lib.js') +const {EmbedBuilder} = require('discord.js') +module.exports = class report extends Command{ + constructor(client){ + super(client, { + name: 'certificate', + group:'image', + memberName: 'certificate', + description: 'Coninhas certificate.' + + }) + } + async run(message, args) + { + + const embed = new EmbedBuilder; + embed.setColor(0xeb7d00); + embed.setTitle('Pode recolher o seu certificado na loja do cidadão mais proxima.') + embed.setImage(`https://media.discordapp.net/attachments/662397316744871937/960689544003481600/unknown.png?width=912&height=701`); + embed.setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}) + embed.setFooter({text:'Rem-chan em ', iconUrl:"https://i.imgur.com/g6FSNhL.png"}) + embed.setTimestamp(); + + message.channel.send({embeds: [embed]}); + } +} \ No newline at end of file diff --git a/commands/image/cry.js b/commands/image/cry.js new file mode 100644 index 0000000..e03154d --- /dev/null +++ b/commands/image/cry.js @@ -0,0 +1,32 @@ +const {Command} = require('../../lib.js') + +const {EmbedBuilder} = require('discord.js') +const axios = require('axios'); +class cry extends Command{ + constructor(client){ + super(client, { + name: 'cry', + description: 'Publishes an images of the theme: cry.' + + }) + } + async run(message, args) + { + var cmd = 'cry'; + var res = await axios.get('https://rra.ram.moe/i/r', {params: {"type": cmd}}); + var path = res.data.path.replace('/i/', ''); + + const embed = new EmbedBuilder() + embed.setColor(0xb50000); + embed.setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}) + embed.setTitle('Imagem:') + embed.setImage(`https://cdn.ram.moe/${path}`); + embed.setFooter({text:'Rem-chan em ', iconUrl:"https://i.imgur.com/g6FSNhL.png"}) + embed.setTimestamp(); + + + message.channel.send({embeds: [embed]}); + + + } +}module.exports = cry; diff --git a/commands/image/cuddle.js b/commands/image/cuddle.js new file mode 100644 index 0000000..4e111aa --- /dev/null +++ b/commands/image/cuddle.js @@ -0,0 +1,31 @@ +const {Command} = require('../../lib.js') +const axios = require('axios') +const {EmbedBuilder} = require('discord.js') +class cuddle extends Command{ + constructor(client){ + super(client, { + name: 'cuddle', + group:'image', + memberName: 'cuddle', + description: 'Publishes an image of the theme: cuddle.' + + }) + } + async run(message, args){ + var cmd = 'cuddle'; + var res = await axios.get('https://rra.ram.moe/i/r', {params: {"type": cmd}}); + var path = res.data.path.replace('/i/', ''); + + const embed = new EmbedBuilder() + embed.setColor(0xb50000); + embed.setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}) + embed.setTitle('Imagem:') + embed.setImage(`https://cdn.ram.moe/${path}`); + embed.setFooter({text:'Rem-chan em ', iconUrl:"https://i.imgur.com/g6FSNhL.png"}) + embed.setTimestamp(); + + + message.channel.send({embeds: [embed]}); + + } + }module.exports = cuddle; diff --git a/commands/image/hug.js b/commands/image/hug.js new file mode 100644 index 0000000..60673e6 --- /dev/null +++ b/commands/image/hug.js @@ -0,0 +1,32 @@ +const {Command} = require('../../lib.js') + +const axios = require('axios') +const {EmbedBuilder} = require('discord.js') +class hug extends Command{ + constructor(client){ + super(client, { + name: 'hug', + group:'image', + memberName: 'hug', + description: 'Publishes an image of the theme: hug.' + + }) + } + async run(message, args){ + var cmd = 'hug'; + var res = await axios.get('https://rra.ram.moe/i/r', {params: {"type": cmd}}); + var path = res.data.path.replace('/i/', ''); + + + const embed = new EmbedBuilder() + embed.setColor(0xb50000); + embed.setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}) + embed.setTitle('Imagem:') + embed.setImage(`https://cdn.ram.moe/${path}`); + embed.setFooter({text:'Rem-chan em ', iconUrl:"https://i.imgur.com/g6FSNhL.png"}) + embed.setTimestamp(); + + + message.channel.send({embeds: [embed]}); + } + }module.exports = hug; \ No newline at end of file diff --git a/commands/image/kiss.js b/commands/image/kiss.js new file mode 100644 index 0000000..1ddb15b --- /dev/null +++ b/commands/image/kiss.js @@ -0,0 +1,32 @@ +const {Command} = require('../../lib.js') + +const axios = require('axios') +const {EmbedBuilder} = require('discord.js') +class kiss extends Command{ + constructor(client){ + super(client, { + name: 'kiss', + group:'image', + memberName: 'kiss', + description: 'Publishes an image of the theme: kiss.' + + }) + } + async run(message, args){ + var cmd = 'kiss'; + var res = await axios.get('https://rra.ram.moe/i/r', {params: {"type": cmd}}); + var path = res.data.path.replace('/i/', ''); + + + const embed = new EmbedBuilder() + embed.setColor(0xb50000); + embed.setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}) + embed.setTitle('Imagem:') + embed.setImage(`https://cdn.ram.moe/${path}`); + embed.setFooter({text:'Rem-chan em ', iconUrl:"https://i.imgur.com/g6FSNhL.png"}) + embed.setTimestamp(); + + + message.channel.send({embeds: [embed]}); + } +}module.exports = kiss; diff --git a/commands/image/lewd.js b/commands/image/lewd.js new file mode 100644 index 0000000..c9e05f6 --- /dev/null +++ b/commands/image/lewd.js @@ -0,0 +1,33 @@ +const {Command} = require('../../lib.js') + +const axios = require('axios') +const {EmbedBuilder} = require('discord.js') +class lewd extends Command{ + constructor(client){ + super(client, { + name: 'lewd', + group:'image', + memberName: 'lewd', + description: 'Publishes an image of the theme: lewd' + + }) + } + async run(message, args){ + var cmd = 'lewd'; + var res = await axios.get('https://rra.ram.moe/i/r', {params: {"type": cmd}}); + var path = res.data.path.replace('/i/', ''); + + + const embed = new EmbedBuilder() + embed.setColor(0xb50000); + embed.setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}) + embed.setTitle('Imagem:') + embed.setImage(`https://cdn.ram.moe/${path}`); + embed.setFooter({text:'Rem-chan em ', iconUrl:"https://i.imgur.com/g6FSNhL.png"}) + embed.setTimestamp(); + + + message.channel.send({embeds: [embed]}); + + } + }module.exports = lewd; \ No newline at end of file diff --git a/commands/image/lick.js b/commands/image/lick.js new file mode 100644 index 0000000..524af27 --- /dev/null +++ b/commands/image/lick.js @@ -0,0 +1,34 @@ +const {Command} = require('../../lib.js') + +const axios = require('axios') +const {EmbedBuilder} = require('discord.js') + +class lick extends Command{ + constructor(client){ + super(client, { + name: 'lick', + group:'image', + memberName: 'lick', + description: 'Publishes an images of the theme: lick.' + + }) + } + async run(message, args){ + var cmd = 'lick'; + var res = await axios.get('https://rra.ram.moe/i/r', {params: {"type": cmd}}); + var path = res.data.path.replace('/i/', ''); + + + const embed = new EmbedBuilder() + embed.setColor(0xb50000); + embed.setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}) + embed.setTitle('Imagem:') + embed.setImage(`https://cdn.ram.moe/${path}`); + embed.setFooter({text:'Rem-chan em ', iconUrl:"https://i.imgur.com/g6FSNhL.png"}) + embed.setTimestamp(); + + + message.channel.send({embeds: [embed]}); + + } + }module.exports = lick; diff --git a/commands/image/owo.js b/commands/image/owo.js new file mode 100644 index 0000000..14bc580 --- /dev/null +++ b/commands/image/owo.js @@ -0,0 +1,33 @@ +const {Command} = require('../../lib.js') + +const axios = require('axios') +const {EmbedBuilder} = require('discord.js') + +class owo extends Command{ + constructor(client){ + super(client, { + name: 'owo', + group:'image', + memberName: 'owo', + description: 'Publishes an images of the theme: OwO.' + + }) + } + async run(message, args){ + var cmd = 'owo'; + var res = await axios.get('https://rra.ram.moe/i/r', {params: {"type": cmd}}); + var path = res.data.path.replace('/i/', ''); + + const embed = new EmbedBuilder() + embed.setColor(0xb50000); + embed.setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}) + embed.setTitle('Imagem:') + embed.setImage(`https://cdn.ram.moe/${path}`); + embed.setFooter({text:'Rem-chan em ', iconUrl:"https://i.imgur.com/g6FSNhL.png"}) + embed.setTimestamp(); + + + message.channel.send({embeds: [embed]}); + + } + }module.exports = owo; diff --git a/commands/image/pat.js b/commands/image/pat.js new file mode 100644 index 0000000..01d8b37 --- /dev/null +++ b/commands/image/pat.js @@ -0,0 +1,34 @@ +const {Command} = require('../../lib.js') + +const axios = require('axios') +const {EmbedBuilder} = require('discord.js') + +class pat extends Command{ + constructor(client){ + super(client, { + name: 'pat', + group:'image', + memberName: 'pat', + description: 'Publishes an images of the theme: pat.' + + }) + } + async run(message, args){ + var cmd = 'pat'; + var res = await axios.get('https://rra.ram.moe/i/r', {params: {"type": cmd}}); + var path = res.data.path.replace('/i/', ''); + + + const embed = new EmbedBuilder() + embed.setColor(0xb50000); + embed.setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}) + embed.setTitle('Imagem:') + embed.setImage(`https://cdn.ram.moe/${path}`); + embed.setFooter({text:'Rem-chan em ', iconUrl:"https://i.imgur.com/g6FSNhL.png"}) + embed.setTimestamp(); + + + message.channel.send({embeds: [embed]}); + + } + }module.exports = pat; \ No newline at end of file diff --git a/commands/image/pout.js b/commands/image/pout.js new file mode 100644 index 0000000..deb4f3a --- /dev/null +++ b/commands/image/pout.js @@ -0,0 +1,34 @@ +const {Command} = require('../../lib.js') + +const axios = require('axios') +const {EmbedBuilder} = require('discord.js') + +class pout extends Command{ + constructor(client){ + super(client, { + name: 'pout', + group:'image', + memberName: 'pout', + description: 'Publishes an images of the theme: pout.' + + }) + } + async run(message, args){ + var cmd = 'pout'; + var res = await axios.get('https://rra.ram.moe/i/r', {params: {"type": cmd}}); + var path = res.data.path.replace('/i/', ''); + + + const embed = new EmbedBuilder() + embed.setColor(0xb50000); + embed.setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}) + embed.setTitle('Imagem:') + embed.setImage(`https://cdn.ram.moe/${path}`); + embed.setFooter({text:'Rem-chan em ', iconUrl:"https://i.imgur.com/g6FSNhL.png"}) + embed.setTimestamp(); + + + message.channel.send({embeds: [embed]}); + + } + }module.exports = pout; diff --git a/commands/image/rem.js b/commands/image/rem.js new file mode 100644 index 0000000..b09f6d7 --- /dev/null +++ b/commands/image/rem.js @@ -0,0 +1,36 @@ +const {Command} = require('../../lib.js') + +const axios = require('axios') +const {EmbedBuilder} = require('discord.js') + +class rem extends Command{ + constructor(client){ + super(client, { + name: 'rem', + group:'image', + memberName: 'rem', + description: 'Publishes an images of the theme: Our only waifu REM.' + + }) + } + async run(message, args){ + + var res = await axios.get('https://rra.ram.moe/i/r', {params: {"type": "rem"}}); + var path = res.data.path.replace('/i/', ''); + + + + + const embed = new EmbedBuilder() + embed.setColor(0xb50000); + embed.setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}) + embed.setTitle('Imagem:') + embed.setImage(`https://cdn.ram.moe/${path}`); + embed.setFooter({text:'Rem-chan em ', iconUrl:"https://i.imgur.com/g6FSNhL.png"}) + embed.setTimestamp(); + + + message.channel.send({embeds: [embed]}); + + } + }module.exports = rem; diff --git a/commands/image/report.js b/commands/image/report.js new file mode 100644 index 0000000..d098c31 --- /dev/null +++ b/commands/image/report.js @@ -0,0 +1,27 @@ +const {Command} = require('../../lib.js') + +const {EmbedBuilder} = require('discord.js') +module.exports = class report extends Command{ + constructor(client){ + super(client, { + name: 'report', + group:'image', + memberName: 'report', + description: 'Coninhas Report.' + + }) + } + async run(message, args) + { + + const embed = new EmbedBuilder; + embed.setColor(0xeb7d00); + embed.setTitle('É favor preencher:') + embed.setImage(`https://cdn.discordapp.com/attachments/662397316744871937/852352291428499456/64327307_2251125638288816_7660501929683845120_n.jpg`); + embed.setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}) + embed.setFooter({text:'Rem-chan em ', iconUrl:"https://i.imgur.com/g6FSNhL.png"}) + embed.setTimestamp(); + + message.channel.send({embeds: [embed]}); + } +} \ No newline at end of file diff --git a/commands/image/slap.js b/commands/image/slap.js new file mode 100644 index 0000000..70ac92b --- /dev/null +++ b/commands/image/slap.js @@ -0,0 +1,35 @@ +const {Command} = require('../../lib.js') + +const axios = require('axios') +const {EmbedBuilder} = require('discord.js') + +class slap extends Command{ + constructor(client){ + super(client, { + name: 'slap', + group:'image', + memberName: 'slap', + description: 'PPublishes an images of the theme: slap.' + + }) + } + async run(message, args){ + var cmd = 'slap'; + var res = await axios.get('https://rra.ram.moe/i/r', {params: {"type": cmd}}); + var path = res.data.path.replace('/i/', ''); + + + + const embed = new EmbedBuilder() + embed.setColor(0xb50000); + embed.setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}) + embed.setTitle('Imagem:') + embed.setImage(`https://cdn.ram.moe/${path}`); + embed.setFooter({text:'Rem-chan em ', iconUrl:"https://i.imgur.com/g6FSNhL.png"}) + embed.setTimestamp(); + + + message.channel.send({embeds: [embed]}); + + } + }module.exports = slap; diff --git a/commands/image/smug.js b/commands/image/smug.js new file mode 100644 index 0000000..aecdad7 --- /dev/null +++ b/commands/image/smug.js @@ -0,0 +1,35 @@ +const {Command} = require('../../lib.js') + +const axios = require('axios') +const {EmbedBuilder} = require('discord.js') + +class smug extends Command{ + constructor(client){ + super(client, { + name: 'smug', + group:'image', + memberName: 'smug', + description: 'Publishes an images of the theme: smug.' + + }) + } + async run(message, args){ + var cmd = 'smug'; + var res = await axios.get('https://rra.ram.moe/i/r', {params: {"type": cmd}}); + var path = res.data.path.replace('/i/', ''); + + + + const embed = new EmbedBuilder() + embed.setColor(0xb50000); + embed.setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}) + embed.setTitle('Imagem:') + embed.setImage(`https://cdn.ram.moe/${path}`); + embed.setFooter({text:'Rem-chan em ', iconUrl:"https://i.imgur.com/g6FSNhL.png"}) + embed.setTimestamp(); + + + message.channel.send({embeds: [embed]}); + + } + }module.exports = smug; \ No newline at end of file diff --git a/commands/image/stare.js b/commands/image/stare.js new file mode 100644 index 0000000..8f9e986 --- /dev/null +++ b/commands/image/stare.js @@ -0,0 +1,35 @@ +const {Command} = require('../../lib.js') + +const axios = require('axios') +const {EmbedBuilder} = require('discord.js') + +class stare extends Command{ + constructor(client){ + super(client, { + name: 'stare', + group:'image', + memberName: 'stare', + description: 'Publishes an images of the theme: stare.' + + }) + } + async run(message, args){ + var cmd = 'stare'; + var res = await axios.get('https://rra.ram.moe/i/r', {params: {"type": cmd}}); + var path = res.data.path.replace('/i/', ''); + + + + const embed = new EmbedBuilder() + embed.setColor(0xb50000); + embed.setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}) + embed.setTitle('Imagem:') + embed.setImage(`https://cdn.ram.moe/${path}`); + embed.setFooter({text:'Rem-chan em ', iconUrl:"https://i.imgur.com/g6FSNhL.png"}) + embed.setTimestamp(); + + + message.channel.send({embeds: [embed]}); + + } + }module.exports = stare; \ No newline at end of file diff --git a/commands/image/tickle.js b/commands/image/tickle.js new file mode 100644 index 0000000..68bc4bf --- /dev/null +++ b/commands/image/tickle.js @@ -0,0 +1,35 @@ +const {Command} = require('../../lib.js') +; +const axios = require('axios') +const {EmbedBuilder} = require('discord.js') + +class tickle extends Command{ + constructor(client){ + super(client, { + name: 'tickle', + group:'image', + memberName: 'tickle', + description: 'Publishes an images of the theme: tickle.' + + }) + } + async run(message, args){ + var cmd = 'tickle'; + var res = await axios.get('https://rra.ram.moe/i/r', {params: {"type": cmd}}); + var path = res.data.path.replace('/i/', ''); + + + const embed = new EmbedBuilder() + embed.setColor(0xb50000); + embed.setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}) + embed.setTitle('Imagem:') + embed.setImage(`https://cdn.ram.moe/${path}`); + embed.setFooter({text:'Rem-chan em ', iconUrl:"https://i.imgur.com/g6FSNhL.png"}) + embed.setTimestamp(); + + + message.channel.send({embeds: [embed]}); + + + } + }module.exports = tickle; \ No newline at end of file diff --git a/commands/image/triggered.js b/commands/image/triggered.js new file mode 100644 index 0000000..1e98537 --- /dev/null +++ b/commands/image/triggered.js @@ -0,0 +1,35 @@ +const {Command} = require('../../lib.js') + +const axios = require('axios') +const {EmbedBuilder} = require('discord.js') + +class triggered extends Command{ + constructor(client){ + super(client, { + name: 'triggered', + group:'image', + memberName: 'triggered', + description: 'Publishes an images of the theme: TRIGGERED!' + + }) + } + async run(message, args){ + var cmd = 'triggered'; + var res = await axios.get('https://rra.ram.moe/i/r', {params: {"type": cmd}}); + var path = res.data.path.replace('/i/', ''); + + + const embed = new EmbedBuilder() + embed.setColor(0xb50000); + embed.setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}) + embed.setTitle('Imagem:') + embed.setImage(`https://cdn.ram.moe/${path}`); + embed.setFooter({text:'Rem-chan em ', iconUrl:"https://i.imgur.com/g6FSNhL.png"}) + embed.setTimestamp(); + + + message.channel.send({embeds: [embed]}); + + + } + }module.exports = triggered; \ No newline at end of file diff --git a/commands/music/activateMusic.js b/commands/music/activateMusic.js new file mode 100644 index 0000000..9f556d5 --- /dev/null +++ b/commands/music/activateMusic.js @@ -0,0 +1,57 @@ +const {Command, Random} = require('../../lib.js'); +const {EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle} = require('discord.js'); +const guildsM = require('../../models/guilds.js'); + +module.exports = class leave extends Command +{ + constructor(client) + { + super(client, { + name: 'activateMusic', + group:'music', + aliases: ['music','amusic'], + description: 'Activates music for the guild. Can be called again to disable.', + needsAdmin:true + }) + } + async run(message, args) + { + const Author = message.author + const guild = message.guild.id + guildsM.findOne({gID:guild}).then(g=> + { + g.music =!g.music; + guildsM.updateOne({gID:guild}, g,{upsert:true}).then(updatedG=> + { + sendMessage(g.music); + }) + }) + async function sendMessage(active){ + console.log(active?'Activate Music: -':'Disable Music: -', Author.username, 'on guild:', guild); + const randomID = Random() + const embed = new EmbedBuilder() + .setColor(0xd31f1f) + .setTitle(active?'Music activated!':'Music disabled!') + .setAuthor( {name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png"}) + .setFooter({text:'Rem-chan on ', iconURL:"https://i.imgur.com/g6FSNhL.png"}) + .setTimestamp() + const row = new ActionRowBuilder() + .addComponents( + new ButtonBuilder() + .setCustomId(randomID) + .setLabel('Remove this.') + .setStyle(ButtonStyle.Primary), + ); + await message.channel.send({ephemeral: true, embeds: [embed], components: [row] }); + const filter = i => i.customId === randomID; + + const collector = message.channel.createMessageComponentCollector({ filter, time: 60000 }); + + collector.on('collect', async m => + { + message.delete(); + m.message.delete(); + }); + } + } +} \ No newline at end of file diff --git a/commands/music/leave.js b/commands/music/leave.js new file mode 100644 index 0000000..8e49c24 --- /dev/null +++ b/commands/music/leave.js @@ -0,0 +1,50 @@ +const {Command} = require('../../lib.js') + +const mCommandModel = require('../../models/mcommands'); +const {ChannelType} = require('discord.js'); +module.exports = class leave extends Command +{ + constructor(client) + { + super(client, { + name: 'leave', + group:'music', + memberName: 'leave', + description: 'Leaves the voice channel you currently are in.' + + }) + } + async run(message, args) + { + const Author = message.author + console.log('Leave: -', Author.username); + const guild = message.guild.id + const channel = message.channel.id + const voice = message.member.voice.channel.id; + const {ChannelType} = require('discord.js'); + if(message.guild.channels.cache.some(channel =>(channel.type == ChannelType.GuildText && channel.members.has('356104008366030863')&& channel.members.has(Author.id)))) + { + addToDB('leave', guild, channel,voice); + message.guild.voiceStates.cache.get('356104008366030863').disconnect() + message.delete(); + } + else + { + message.reply('Rem isn`t in voice channel!') + } + + } +} +function addToDB(Command, guild, channel, voice) +{ + var command = new mCommandModel(); + command.command = Command; + command.guild = guild; + command.textchannel = channel; + command.voice = voice; + command.save(err=> + { + if(err)console.error(err) + console.log(Command, '- added to DB') + }) +} \ No newline at end of file diff --git a/commands/music/pause.js b/commands/music/pause.js new file mode 100644 index 0000000..b307091 --- /dev/null +++ b/commands/music/pause.js @@ -0,0 +1,53 @@ +const {Command} = require('../../lib.js') + +const mCommandModel = require('../../models/mcommands'); + + + +module.exports = class skip extends Command +{ + constructor(client) + { + super(client, { + name: 'pause', + group:'music', + memberName: 'pause', + description: 'Pauses the currently playing music' + }) + } + async run(message, args) + { + const Author = message.author + console.log('Pause: -', Author.username) + const guild = message.guild.id + const channel = message.channel.id + const voice = message.member.voice.channel.id; + const {ChannelType} = require('discord.js'); + if(message.guild.channels.cache.some(channel =>(channel.type == ChannelType.GuildText && channel.members.has('356104008366030863')&& channel.members.has(Author.id)))) + { + addToDB('pause', guild, channel,voice); + + message.delete(); + } + else + { + message.reply('Not in voice channel!') + } + + + + } +} +function addToDB(Command, guild, channel, voice) +{ + var command = new mCommandModel(); + command.command = Command; + command.guild = guild; + command.textchannel = channel; + command.voice = voice; + command.save(err=> + { + if(err)console.error(err) + console.log(Command, '- added to DB') + }) +} \ No newline at end of file diff --git a/commands/music/play.js b/commands/music/play.js new file mode 100644 index 0000000..b057a94 --- /dev/null +++ b/commands/music/play.js @@ -0,0 +1,162 @@ +const {Command, Random} = require('../../lib.js') + +const {EmbedBuilder, ActionRowBuilder,ButtonBuilder, ButtonStyle} = require('discord.js'); +const yts = require('yt-search'); +const QueueM = require('../../models/queue'); + +module.exports = class play extends Command +{ + constructor(client) + { + super(client, { + name: 'play', + group:'music', + memberName: 'play', + description: 'Plays on the voice channel you currently are in. Supports youtube search and links.' + + }) + } + async run(message, args) + { + const {voice} = message.member; + const guild = message.channel.guild.id; + var content = message.content; + const channel = message.channel.id; + const Author = message.author; + + try + { + if(!voice.channel) + { + console.log('Play: Err: Not currently in a voice channel.') + message.reply('Not currently in a voice channel.') + return + } + else + { + if(content.includes('https')||content.includes('www'))//LINK + { + console.log('Play: -', Author.username,'Queued this link:',content.split('!play')[1],'on',message.channel.guild.name,"'s", message.channel.name) + + if(content.includes('youtube') || content.includes('youtu.be'))//YT LINK + { + console.time('SearchL') + if(!isPlayList(content)) + { + content = content.split('&time=')?content.split('&time=')[0]:content; + content = content.split('&ab_channel=')?content.split('&ab_channel=')[0]:content; + const r = await yts( content.split('!play ')[1] ) + console.timeEnd('SearchL') + addToQ(r.videos[0]); + message.delete() + } + else + { + try + { + + var listID + if(content.split('&list=')[1].includes('&')) + { + listID = content.split('&list=')[1].split('&')[0] + } + else listID = content.split('&list=')[1] + console.log('Play: List: ListID:',listID) + const list = await yts({listId:listID}) + list.videos.forEach(video=> + { + //console.log('Teste: PlayList: ForEach(video): video:', video) + addToQ(video) + }) + message.delete(); + } + catch (error) + { + console.log('Play: List: Error:', error) + } + } + } + else //GET OUTTA HERE + { + message.channel.send('Either use a link from youtube or try searching by keywords.') + } + } + else//search + { + console.log('Play: Searching for:', content.split('!play')[1]) + const r = await yts(content.split('!play ')[1]) + const videos = r.videos.slice( 0, 3) + const embed = new EmbedBuilder(); + embed.setFooter({text:'Rem-chan on ', iconURL:"https://i.imgur.com/g6FSNhL.png"}) + embed.setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}); + embed.setTimestamp(); + embed.setColor(0xb50000); + embed.setTitle('Searching for:'+ args.join(' ')) + embed.setImage(videos[0].thumbnail) + const row = new ActionRowBuilder(); + const randomID = Random(); + videos.forEach( function ( v , i) { + //console.log('Search:', v) + const views = String( v.views ).padStart( 10, ' ' ) + embed.addFields( {name:`[ ${i} ] - ${ v.title }`,value:`${ v.author.name } | (${v.timestamp }) | ${ views } views`} ) + row.addComponents( + new ButtonBuilder() + .setCustomId(`${randomID}PlayUserChoice${i}`) + .setLabel(` ${i} `) + .setStyle(ButtonStyle.Primary), + ); + } ) + embed.addFields({name:'Cancel', value:'Press X'}); + row.addComponents( + new ButtonBuilder() + .setCustomId(`${randomID}PlayUserChoice`) + .setLabel(` X `) + .setStyle(ButtonStyle.Danger), + ); + await message.channel.send({ephemeral: true, embeds: [embed], components: [row] }); + + const filter = i => i.customId.startsWith(`${randomID}PlayUserChoice`); + const collector = message.channel.createMessageComponentCollector({ filter, time: 60000 }); + collector.on('collect', async m => + { + // console.log(m) + message.delete(); + m.message.delete(); + if(m.customId != 'PlayUserChoice') + { + addToQ(videos[parseInt(m.customId.split(`${randomID}PlayUserChoice`)[1])]) + } + }); + } + } + + function isPlayList(content) + { + if(content.includes('&list=')) + { + return true; + } + else return false; + } + function addToQ(video) + { + + var queueItem = new QueueM(); + queueItem.songname = video.title; + queueItem.songtime = video.seconds||video.duration.seconds; + queueItem.songURL = video.url||'https://youtube.com/watch?v='+video.videoId + queueItem.guild = guild; + queueItem.textchannel = channel; + queueItem.voice = voice.channel.id; + queueItem.requester = Author.username; + queueItem.save(err=> + { + if(err)console.error(err) + //console.log('Play: Search: Item added to queue:', queueItem) + }) + } + } catch (error) { + console.log('Play: Error:', error); + } + } +} \ No newline at end of file diff --git a/commands/music/queue.js b/commands/music/queue.js new file mode 100644 index 0000000..96124c1 --- /dev/null +++ b/commands/music/queue.js @@ -0,0 +1,52 @@ + +const {Command} = require('../../lib.js') + +const mCommandModel = require('../../models/mcommands'); + + +module.exports = class leave extends Command +{ + constructor(client) + { + super(client, { + name: 'queue', + group:'music', + memberName: 'queue', + description: 'Shows the queue for the current server.' + + }) + } + async run(message, args) + { + const Author = message.author + console.log('Queue: -', Author.username); + const guild = message.guild.id + const channel = message.channel.id + const voice = message.member.voice.channel.id; + const {ChannelType} = require('discord.js'); + if(message.guild.channels.cache.some(channel =>(channel.type == ChannelType.GuildText && channel.members.has('356104008366030863')&& channel.members.has(Author.id)))) + { + addToDB('queue', guild, channel,voice); + + message.delete(); + } + else + { + message.reply('Rem isn`t in a voice channel!') + } + + } +} +function addToDB(Command, guild, channel, voice) +{ + var command = new mCommandModel(); + command.command = Command; + command.guild = guild; + command.textchannel = channel; + command.voice = voice; + command.save(err=> + { + if(err)console.error(err) + console.log(Command, '- added to DB') + }) +} \ No newline at end of file diff --git a/commands/music/resume.js b/commands/music/resume.js new file mode 100644 index 0000000..862c465 --- /dev/null +++ b/commands/music/resume.js @@ -0,0 +1,51 @@ +const {Command} = require('../../lib.js') +const mCommandModel = require('../../models/mcommands'); + + +module.exports = class resume extends Command +{ + constructor(client) + { + super(client, { + name: 'resume', + group:'music', + memberName: 'resume', + description: 'Resumes the currently playing music' + }) + } + async run(message, args) + { + const Author = message.author + console.log('Resume: -', Author.username); + const guild = message.guild.id + const channel = message.channel.id + const voice = message.member.voice.channel.id; + const {ChannelType} = require('discord.js'); + if(message.guild.channels.cache.some(channel =>(channel.type == ChannelType.GuildText && channel.members.has('356104008366030863')&& channel.members.has(Author.id)))) + { + addToDB('leave', guild, channel,voice); + + message.delete(); + } + else + { + message.reply('Not in voice channel!') + } + + + + } +} +function addToDB(Command, guild, channel, voice) +{ + var command = new mCommandModel(); + command.command = Command; + command.guild = guild; + command.textchannel = channel; + command.voice = voice; + command.save(err=> + { + if(err)console.error(err) + console.log(Command, '- added to DB') + }) +} \ No newline at end of file diff --git a/commands/music/skip.js b/commands/music/skip.js new file mode 100644 index 0000000..01d339f --- /dev/null +++ b/commands/music/skip.js @@ -0,0 +1,53 @@ +const {Command} = require('../../lib.js') + + + +const mCommandModel = require('../../models/mcommands'); + +module.exports = class skip extends Command +{ + constructor(client) + { + super(client, { + name: 'skip', + group:'music', + memberName: 'skip', + description: 'Skips the currently playing music' + }) + } + async run(message, args) + { + const Author = message.author + console.log('Skip: -', Author.username); + const guild = message.guild.id + const channel = message.channel.id + const voice = message.member.voice.channel.id; + const {ChannelType} = require('discord.js'); + if(message.guild.channels.cache.some(channel =>(channel.type == ChannelType.GuildText && channel.members.has('356104008366030863')&& channel.members.has(Author.id)))) + { + addToDB('skip', guild, channel,voice); + + message.delete(); + } + else + { + message.reply('Not in voice channel!') + } + + + + } +} +function addToDB(Command, guild, channel, voice) +{ + var command = new mCommandModel(); + command.command = Command; + command.guild = guild; + command.textchannel = channel; + command.voice = voice; + command.save(err=> + { + if(err)console.error(err) + console.log(Command, '- added to DB') + }) +} \ No newline at end of file diff --git a/commands/random/help.js b/commands/random/help.js new file mode 100644 index 0000000..f9fd21f --- /dev/null +++ b/commands/random/help.js @@ -0,0 +1,72 @@ +const {Command} = require('../../lib.js'); +const find = require('findit'); +const path = require('path') +const {EmbedBuilder} = require('discord.js'); + + + class help extends Command{ + constructor(client){ + super(client, { + name: 'help', + memberName: 'help', + aliases:['command'], + description: 'Displays a list of available commands, or the details of a specified command.', + }) + this.client = client; + } + async run(message, args) + { + if(args.length==0) + { + let finder = find(path.resolve('commands')); + let payload = {embeds:[]}; + var Fields = []; + finder.on('file', file=> + { + let command = require(file); + if(typeof command === 'function') + { + let c = new command(this); + let _aliases = c.aliases; + let needsAdmin = c.needsAdmin; + if(!c.hidden) + { + Fields.push( + { + name: '!'+c.name+(needsAdmin?' - Requires administrator permissions:':' :'), + value: '–'+c.description + (_aliases?(' Can also be called using an aliases:'+_aliases.join(' ')):'') + }); + } + } + }) + finder.on('end', ()=> + { + var i = 0; + for(var f in Fields) + { + if (!payload.embeds[Math.floor(i / 25)]) + { //checks if the embed with the required fields already exists in our array + payload.embeds.push( + new EmbedBuilder() + .setColor(0x0099FF) + .setTitle('List of Commands:') + .setAuthor({ name: 'Rem-Chan', iconURL: 'https://i.imgur.com/g6FSNhL.png', url:'https://rem.wordfights.com/addtodiscord'}) + .setTimestamp() + .setFooter({ text: 'Rem-Chan on ', iconURL: 'https://i.imgur.com/g6FSNhL.png'}) + ) + } + payload.embeds[Math.floor(i / 25)].addFields(Fields[f]); + i++; + } + }) + + + message.author.send(payload); + + } + + + //message.author.send() + } + } + module.exports = help; \ No newline at end of file diff --git a/commands/random/say.js b/commands/random/say.js new file mode 100644 index 0000000..7e230b5 --- /dev/null +++ b/commands/random/say.js @@ -0,0 +1,23 @@ +const {Command} = require('../../lib.js') + + + + class say extends Command{ + constructor(client){ + super(client, { + name: 'say', + group:'random', + memberName: 'say', + description: 'Rem-chan will send a message that you define.' + + }) + } + async run(message, args){ + //say on channel + console.log("Say: -",message.author.username,"- on: ",message.guild.name,"'s ",message.channel.name.toLowerCase(),":",args.join(' ')) + message.delete(); + message.channel.send(args.join(' ')); + + } + } + module.exports = say; \ No newline at end of file diff --git a/commands/random/suggest.js b/commands/random/suggest.js new file mode 100644 index 0000000..27abad9 --- /dev/null +++ b/commands/random/suggest.js @@ -0,0 +1,39 @@ +const {Command} = require('../../lib.js') +const suggestionM = require('../../models/suggestion.js'); + + + class suggest extends Command{ + constructor(client){ + super(client, { + name: 'suggest', + memberName: 'suggest', + aliases: ['suggestion'], + description: `You can suggest a command. Use the following format: !suggest COMMANDNAME ARGUMENTS -> ACTION ` + + }) + } + async run(message, args) + { + console.log('Suggestion:', message.author.username, 'suggested', args); + if(args.length>0) + { + var suggestion = new suggestionM(); + suggestion.authorID = message.author.id; + suggestion.authorName = message.author.username; + suggestion.authorPermissions = message.member.permissions.toArray(); + suggestion.guildID = message.guildId; + suggestion.suggestion = message.content; + suggestion.save(err=> + { + if(err)console.error(err) + message.channel.send(`${message.author} your suggestion has been saved for future consideration, thank you.`); + }) + } + else + { + message.channel.send(`${message.author} sent an empty suggestion. Use the command correctly by following the format: !suggest COMMANDNAME ARGUMENTS -> ACTION`); + } + + } + } + module.exports = suggest; \ No newline at end of file diff --git a/commands/random/tableflip.js b/commands/random/tableflip.js new file mode 100644 index 0000000..9c0c441 --- /dev/null +++ b/commands/random/tableflip.js @@ -0,0 +1,21 @@ +const {Command} = require('../../lib.js') + + + + class tableflip extends Command{ + constructor(client){ + super(client, { + name: 'tableflip', + group:'random', + memberName: 'tableflip', + description: 'Flips a table.' + + }) + } + async run(message, args){ + message.channel.send('(╯°□°)╯︵ ┻━┻'); + + + } + } + module.exports = tableflip; \ No newline at end of file diff --git a/commands/search/searchAnime.js b/commands/search/searchAnime.js new file mode 100644 index 0000000..6b7fa0f --- /dev/null +++ b/commands/search/searchAnime.js @@ -0,0 +1,52 @@ +const {Command, aniList, Random} = require('../../lib.js') + +const {EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle} = require('discord.js'); + + + +class anime extends Command{ + constructor(client){ + super(client, { + name: 'anime', + group:'pesquisa', + memberName: 'anime', + description: 'Shows info about a anime.' + + }) + } + async run(message, args){ + const data = await new aniList().searchAnime(args.join(' ')); + + const embed = new EmbedBuilder() + .setTitle(`${data.title.romaji} (${data.title.native} / ${data.title.english})`) + .setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}) + .setColor(0x003284) + .setDescription(data.description.replaceAll('
',' ')) + .setFooter({ text: 'Rem-Chan on', iconURL: 'https://i.imgur.com/g6FSNhL.png' }) + .setImage(data.coverImage) + .setThumbnail(data.coverImage) + .setTimestamp() + .addFields( + {name:'Status:', value:data.status, inline:true}, + {name:'Episodes:', value:data.episodes.toString(), inline:true}, + {name:'Trailer:', value:data.trailer?(data.trailer.site=='yotube'?`https://www.youtube.com/watch?v=${data.trailer.id}`:`https://www.dailymotion.com/video/${data.trailer.id}`):'N/A'}); + const randomID = Random(); + const row = new ActionRowBuilder() + .addComponents( + new ButtonBuilder() + .setCustomId(randomID) + .setLabel('Remove this.') + .setStyle(ButtonStyle.Primary), + ); + const filter = i => i.customId === randomID; + await message.channel.send({ephemeral: true, embeds: [embed], components: [row] }); + const collector = message.channel.createMessageComponentCollector({ filter, time: 60000 }); + collector.on('collect', async m => + { + message.delete(); + m.message.delete(); + }); + } + +}module.exports = anime; + diff --git a/commands/search/searchChar.js b/commands/search/searchChar.js new file mode 100644 index 0000000..6743f1c --- /dev/null +++ b/commands/search/searchChar.js @@ -0,0 +1,50 @@ +const {Command, aniList, Random} = require('../../lib.js') + +const {EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle} = require('discord.js'); + + +class char extends Command{ + constructor(client){ + super(client, { + name: 'char', + group:'pesquisa', + memberName: 'char', + description: 'Shows info about a character.' + + }) + } + async run(message, args) + { + const data = await new aniList().searchChar(args.join(' ')); + const embed = new EmbedBuilder() + .setTitle(`${data.name.full} (${data.name.native})`) + .setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}) + .setColor(0x003284) + .setDescription(data.description)//.split('~! ')[1].replaceAll('
', ' ').substring(0, 1500) + "...") + .setFooter({ text: 'Rem-Chan on', iconURL: 'https://i.imgur.com/g6FSNhL.png' }) + .setImage(data.image) + .setThumbnail(data.image) + .setTimestamp() + .addFields( + {name:'Gender:', value:data.gender, inline:true}); + const randomID = Random(); + const row = new ActionRowBuilder() + .addComponents( + new ButtonBuilder() + .setCustomId(randomID) + .setLabel('Remove this.') + .setStyle(ButtonStyle.Primary), + ); + const filter = i => i.customId === randomID; + await message.channel.send({ephemeral: true, embeds: [embed], components: [row] }); + const collector = message.channel.createMessageComponentCollector({ filter, time: 60000 }); + collector.on('collect', async m => + { + message.delete(); + m.message.delete(); + }); + } + + + +}module.exports = char; diff --git a/commands/search/searchManga.js b/commands/search/searchManga.js new file mode 100644 index 0000000..e949a76 --- /dev/null +++ b/commands/search/searchManga.js @@ -0,0 +1,45 @@ +const {Command, aniList, Random} = require('../../lib.js') + +const {EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle} = require('discord.js'); + + +class manga extends Command{ + constructor(client){ + super(client, { + name: 'manga', + group:'pesquisa', + memberName: 'manga', + description: 'Shows info about a manga.' + + }) + } + async run(message, args) + { + const data = await new aniList().searchManga(args.join(' ')); + const embed = new EmbedBuilder() + .setTitle(`${data.title.romaji} (${data.title.native} / ${data.title.english})`) + .setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}) + .setColor(0x003284) + .setDescription(data.description)//.replaceAll('
', ' ').substring(0, 1500) + "...") + .setFooter({ text: 'Rem-Chan on', iconURL: 'https://i.imgur.com/g6FSNhL.png' }) + .setImage(data.coverImage) + .setThumbnail(data.coverImage) + .setTimestamp() + const randomID = Random(); + const row = new ActionRowBuilder() + .addComponents( + new ButtonBuilder() + .setCustomId(randomID) + .setLabel('Remove this.') + .setStyle(ButtonStyle.Primary), + ); + const filter = i => i.customId === randomID; + await message.channel.send({ephemeral: true, embeds: [embed], components: [row] }); + const collector = message.channel.createMessageComponentCollector({ filter, time: 60000 }); + collector.on('collect', async m => + { + message.delete(); + m.message.delete(); + }); + } +}module.exports = manga; diff --git a/controller/bot.js b/controller/bot.js new file mode 100644 index 0000000..8e9ff2d --- /dev/null +++ b/controller/bot.js @@ -0,0 +1,7 @@ +exports.get = (io)=> +{ + return(req,res)=> + { + res.render('addtodiscord') + } +} \ No newline at end of file diff --git a/controller/home.js b/controller/home.js new file mode 100644 index 0000000..3f05e1c --- /dev/null +++ b/controller/home.js @@ -0,0 +1,7 @@ +exports.home = (io)=> +{ + return(req,res)=> + { + res.render('home') + } +} \ No newline at end of file diff --git a/dist/controller/bot.d.ts b/dist/controller/bot.d.ts new file mode 100644 index 0000000..21814da --- /dev/null +++ b/dist/controller/bot.d.ts @@ -0,0 +1,2 @@ +export function get(io: any): (req: any, res: any) => void; +//# sourceMappingURL=bot.d.ts.map \ No newline at end of file diff --git a/dist/controller/bot.d.ts.map b/dist/controller/bot.d.ts.map new file mode 100644 index 0000000..8d68c3c --- /dev/null +++ b/dist/controller/bot.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../../controller/bot.js"],"names":[],"mappings":"AAAc,2DAMb"} \ No newline at end of file diff --git a/dist/controller/home.d.ts b/dist/controller/home.d.ts new file mode 100644 index 0000000..38cbf12 --- /dev/null +++ b/dist/controller/home.d.ts @@ -0,0 +1,2 @@ +export function home(io: any): (req: any, res: any) => void; +//# sourceMappingURL=home.d.ts.map \ No newline at end of file diff --git a/dist/controller/home.d.ts.map b/dist/controller/home.d.ts.map new file mode 100644 index 0000000..2cd907f --- /dev/null +++ b/dist/controller/home.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"home.d.ts","sourceRoot":"","sources":["../../controller/home.js"],"names":[],"mappings":"AAAe,4DAMd"} \ No newline at end of file diff --git a/dist/lib.d.ts b/dist/lib.d.ts new file mode 100644 index 0000000..036e88a --- /dev/null +++ b/dist/lib.d.ts @@ -0,0 +1,10108 @@ +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +export const Random: string; +import { GatewayIntentBits } from "discord-api-types/gateway/v10"; +import { Partials } from "discord.js"; +import { ActivityType } from "discord-api-types/payloads/v10/gateway"; +import { Message } from "discord.js"; +declare class command { + /** + * @param {_Client} client extends discord.js.Client + * @param {CommandOptions} options extends Lib.Options + */ + constructor(client: _Client, options: CommandOptions); + name: string; + aliases: string[]; + description: string; + needsAdmin: boolean; + hidden: boolean; + client: _Client; +} +declare class _Client extends Client { + /** + * + * @param {ClientOptions} options + */ + constructor(options: ClientOptions); + commands: any[]; + rustCommits: rustCommits; + freegames: FreeGames; + /** + * Register a group of commands under the folder commands + * @param {String} name - Name of the group. + * @param {String} folderName - Name of the folder. + */ + enableCommands(): Promise; + /** + * + * @param {String} name - Command Name + * @returns {command} + */ + onList(name: string): command; + RoleSetter(): Promise; +} +export namespace ErrorType { + const Permissions: string; + const Arguments: string; + const NoArguments: string; + const NotOnTheList: string; + const OldMessages: string; +} +export class Channel { + /** + * + * @param {String} channelID + */ + constructor(channelID: string); + channel: string; +} +export class ErrorMessage { + /** + * @param {_Client} client + */ + constructor(client: _Client); + client: _Client; + /** + * + * @param {ErrorType} errorType + * @param {Message} message + * @param {String[]} extraMessages + */ + send(errorType: { + Permissions: string; + Arguments: string; + NoArguments: string; + NotOnTheList: string; + OldMessages: string; + }, message: Message, extraMessages: string[]): Promise; +} +declare class aniListCli { + /** + * + * @param {String} ss - Search Query + * @returns {AnimeInfo} + */ + searchAnime(ss: string): AnimeInfo; + /** + * + * @param {String} ss - Search Query + * @returns {CharInfo} + */ + searchChar(ss: string): CharInfo; + /** + * + * @param {String} ss - Search Query + * @returns {MangaInfo} + */ + searchManga(ss: string): MangaInfo; +} +declare class CommandOptions { + /** + * + * @param {String} name + * @param {String[]} aliases + * @param {String} description + * @param {Boolean} needsAdmin + * @param {Boolean} hidden + */ + constructor(name: string, aliases: string[], description: string, needsAdmin: boolean, hidden: boolean); + name: string; + aliases: string[]; + description: string; + needsAdmin: boolean; + hidden: boolean; +} +import { Client } from "discord.js"; +declare class rustCommits { + /** + * + * @param {_Client} client + */ + constructor(client: _Client); + client: _Client; + update(): Promise; + channels: { + new (doc?: DocType, fields?: any, options?: boolean | import("mongoose").AnyObject): import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }; + aggregate(pipeline?: import("mongoose").PipelineStage[], options?: import("mongodb").AggregateOptions, callback?: import("mongoose").Callback): import("mongoose").Aggregate; + aggregate(pipeline: import("mongoose").PipelineStage[], callback?: import("mongoose").Callback): import("mongoose").Aggregate; + base: typeof import("mongoose"); + baseModelName: string; + castObject(obj: import("mongoose").AnyObject, options?: { + ignoreCastErrors?: boolean; + }): { + cID: string; + for: string; + name?: string; + }; + bulkWrite(writes: import("mongodb").AnyBulkWriteOperation<{ + cID: string; + for: string; + name?: string; + }>[], options: import("mongodb").BulkWriteOptions & import("mongoose").MongooseBulkWriteOptions, callback: import("mongoose").Callback): void; + bulkWrite(writes: import("mongodb").AnyBulkWriteOperation<{ + cID: string; + for: string; + name?: string; + }>[], callback: import("mongoose").Callback): void; + bulkWrite(writes: import("mongodb").AnyBulkWriteOperation<{ + cID: string; + for: string; + name?: string; + }>[], options?: import("mongodb").BulkWriteOptions & import("mongoose").MongooseBulkWriteOptions): Promise; + bulkSave(documents: import("mongoose").Document[], options?: import("mongodb").BulkWriteOptions & { + timestamps?: boolean; + }): Promise; + collection: import("mongoose").Collection; + count(callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + count(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + countDocuments(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + countDocuments(callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + create>(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents)[], options?: import("mongoose").SaveOptions): Promise<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>; + create>(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_1)[], options?: import("mongoose").SaveOptions, callback?: import("mongoose").Callback<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>): Promise<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>; + create>(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_2)[], callback: import("mongoose").Callback<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>): void; + create>(doc: { + cID: string; + for: string; + name?: string; + } | DocContents_3): Promise & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>; + create>(...docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_4)[]): Promise<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>; + create>(doc: { + cID: string; + for: string; + name?: string; + } | DocContents_5, callback: import("mongoose").Callback & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>): void; + createCollection(options: import("mongodb").CreateCollectionOptions & Pick, "expires">, callback: import("mongoose").Callback>): void; + createCollection(callback: import("mongoose").Callback>): void; + createCollection(options?: import("mongodb").CreateCollectionOptions & Pick, "expires">): Promise>; + db: import("mongoose").Connection; + deleteMany(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteMany(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteMany(callback: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteOne(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteOne(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteOne(callback: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + events: NodeJS.EventEmitter; + findById & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + findById & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + findOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + findOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + findOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + hydrate(obj: any, projection?: import("mongoose").AnyObject, options?: { + setters?: boolean; + }): import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }; + init(callback?: import("mongoose").CallbackWithoutResult): Promise & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_6)[], options: import("mongoose").InsertManyOptions & { + lean: true; + }, callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>[]>): void; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_7)[], options: import("mongoose").InsertManyOptions & { + rawResult: true; + }, callback: import("mongoose").Callback>): void; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_8)[], callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>): void; + insertMany(doc: DocContents_9, options: import("mongoose").InsertManyOptions & { + lean: true; + }, callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>[]>): void; + insertMany(doc: DocContents_10, options: import("mongoose").InsertManyOptions & { + rawResult: true; + }, callback: import("mongoose").Callback>): void; + insertMany(doc: DocContents_11, options: import("mongoose").InsertManyOptions & { + lean?: false; + }, callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>): void; + insertMany(doc: DocContents_12, callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>): void; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_13)[], options: import("mongoose").InsertManyOptions & { + lean: true; + }): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>[]>; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_14)[], options: import("mongoose").InsertManyOptions & { + rawResult: true; + }): Promise>; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_15)[]): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>; + insertMany(doc: DocContents_16, options: import("mongoose").InsertManyOptions & { + lean: true; + }): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>[]>; + insertMany(doc: DocContents_17, options: import("mongoose").InsertManyOptions & { + rawResult: true; + }): Promise>; + insertMany(doc: DocContents_18, options: import("mongoose").InsertManyOptions): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>; + insertMany(doc: DocContents_19): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>; + modelName: string; + populate(docs: any[], options: string | import("mongoose").PopulateOptions | import("mongoose").PopulateOptions[], callback?: import("mongoose").Callback<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>): Promise<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>; + populate(doc: any, options: string | import("mongoose").PopulateOptions | import("mongoose").PopulateOptions[], callback?: import("mongoose").Callback & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>): Promise & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>; + validate(callback?: import("mongoose").CallbackWithoutResult): Promise; + validate(optional: any, callback?: import("mongoose").CallbackWithoutResult): Promise; + validate(optional: any, pathsToValidate: import("mongoose").PathsToValidate, callback?: import("mongoose").CallbackWithoutResult): Promise; + watch(pipeline?: Record[], options?: import("mongodb").ChangeStreamOptions & { + hydrate?: boolean; + }): import("mongodb").ChangeStream>; + $where(argument: string | Function): import("mongoose").Query<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[], import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + discriminators: { + [name: string]: import("mongoose").Model; + }; + translateAliases(raw: any): any; + distinct(field: string, filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + estimatedDocumentCount(options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + exists(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback: import("mongoose").Callback<{ + _id: import("mongoose").Types.ObjectId; + }>): import("mongoose").Query, "_id">, import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + exists(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>): import("mongoose").Query<{ + _id: import("mongoose").Types.ObjectId; + }, import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + find & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + find & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + find & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + find & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(callback?: import("mongoose").Callback): import("mongoose").Query; + findByIdAndDelete & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id?: any, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_9, res: any) => void): import("mongoose").Query; + findByIdAndRemove & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id?: any, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_10, res: any) => void): import("mongoose").Query; + findByIdAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + rawResult: true; + }, callback?: (err: NativeError, doc: any, res: any) => void): import("mongoose").Query, ResultDoc_11, {}, { + cID: string; + for: string; + name?: string; + }>; + findByIdAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + upsert: true; + } & import("mongoose").ReturnsNewDoc, callback?: (err: NativeError, doc: ResultDoc_12, res: any) => void): import("mongoose").Query; + findByIdAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id?: any, update?: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_13, res: any) => void): import("mongoose").Query; + findByIdAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, callback: (err: NativeError, doc: ResultDoc_14, res: any) => void): import("mongoose").Query; + findOneAndDelete & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_15, res: any) => void): import("mongoose").Query; + findOneAndRemove & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_16, res: any) => void): import("mongoose").Query; + findOneAndReplace & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, replacement: import("mongoose").AnyObject | { + cID: string; + for: string; + name?: string; + }, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + rawResult: true; + }, callback?: (err: NativeError, doc: any, res: any) => void): import("mongoose").Query, ResultDoc_17, {}, { + cID: string; + for: string; + name?: string; + }>; + findOneAndReplace & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, replacement: import("mongoose").AnyObject | { + cID: string; + for: string; + name?: string; + }, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + upsert: true; + } & import("mongoose").ReturnsNewDoc, callback?: (err: NativeError, doc: ResultDoc_18, res: any) => void): import("mongoose").Query; + findOneAndReplace & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, replacement?: import("mongoose").AnyObject | { + cID: string; + for: string; + name?: string; + }, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_19, res: any) => void): import("mongoose").Query; + findOneAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + rawResult: true; + }, callback?: (err: NativeError, doc: any, res: any) => void): import("mongoose").Query, ResultDoc_20, {}, { + cID: string; + for: string; + name?: string; + }>; + findOneAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + upsert: true; + } & import("mongoose").ReturnsNewDoc, callback?: (err: NativeError, doc: ResultDoc_21, res: any) => void): import("mongoose").Query; + findOneAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update?: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: { + cID: string; + for: string; + name?: string; + }, res: any) => void): import("mongoose").Query; + geoSearch & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").GeoSearchOptions, callback?: import("mongoose").Callback): import("mongoose").Query; + mapReduce(o: import("mongoose").MapReduceOptions<{ + cID: string; + for: string; + name?: string; + }, Key, Value>, callback?: import("mongoose").Callback): Promise; + remove & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: any, callback?: import("mongoose").CallbackWithoutResult): import("mongoose").Query; + remove & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: any, options?: import("mongoose").RemoveOptions, callback?: import("mongoose").CallbackWithoutResult): import("mongoose").Query; + replaceOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, replacement?: import("mongoose").AnyObject | { + cID: string; + for: string; + name?: string; + }, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + schema: import("mongoose").Schema<{ + cID: string; + for: string; + name?: string; + }, import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, any, any, any, any>, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>; + update & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update?: import("mongoose").UpdateWithAggregationPipeline | import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + updateMany & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update?: import("mongoose").UpdateWithAggregationPipeline | import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + updateOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update?: import("mongoose").UpdateWithAggregationPipeline | import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + where & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(path: string, val?: any): import("mongoose").Query; + where & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(obj: object): import("mongoose").Query; + where & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(): import("mongoose").Query; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + on(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + once(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + off(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + removeAllListeners(event?: string | symbol): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + setMaxListeners(n: number): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + getMaxListeners(): number; + listeners(eventName: string | symbol): Function[]; + rawListeners(eventName: string | symbol): Function[]; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount(eventName: string | symbol): number; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + eventNames(): (string | symbol)[]; + discriminator(name: string | number, schema: import("mongoose").Schema, {}, {}, {}, {}, "type", { + [x: string]: any; + }>, value?: string | number | import("mongoose").Schema.Types.ObjectId | import("mongoose").DiscriminatorOptions): import("mongoose").Model; + discriminator(name: string | number, schema: import("mongoose").Schema>, value?: string | number | import("mongoose").Schema.Types.ObjectId | import("mongoose").DiscriminatorOptions): U; + createIndexes(options: import("mongodb").CreateIndexesOptions, callback: import("mongoose").CallbackWithoutResult): void; + createIndexes(callback: import("mongoose").CallbackWithoutResult): void; + createIndexes(options?: import("mongodb").CreateIndexesOptions): Promise; + diffIndexes(options: Record, callback: import("mongoose").Callback): void; + diffIndexes(callback: import("mongoose").Callback): void; + diffIndexes(options?: Record): Promise; + ensureIndexes(options: import("mongodb").CreateIndexesOptions, callback: import("mongoose").CallbackWithoutResult): void; + ensureIndexes(callback: import("mongoose").CallbackWithoutResult): void; + ensureIndexes(options?: import("mongodb").CreateIndexesOptions): Promise; + listIndexes(callback: import("mongoose").Callback): void; + listIndexes(): Promise; + syncIndexes(options: import("mongoose").SyncIndexesOptions, callback: import("mongoose").Callback): void; + syncIndexes(options?: import("mongoose").SyncIndexesOptions): Promise; + startSession(options: import("mongodb").ClientSessionOptions, callback: import("mongoose").Callback): void; + startSession(callback: import("mongoose").Callback): void; + startSession(options?: import("mongodb").ClientSessionOptions): Promise; + get: (callback: any, limit: any) => void; + }; + /** + * + * @param {channelM} channels + */ + resolveChannels(channels: { + new (doc?: DocType, fields?: any, options?: boolean | import("mongoose").AnyObject): import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }; + aggregate(pipeline?: import("mongoose").PipelineStage[], options?: import("mongodb").AggregateOptions, callback?: import("mongoose").Callback): import("mongoose").Aggregate; + aggregate(pipeline: import("mongoose").PipelineStage[], callback?: import("mongoose").Callback): import("mongoose").Aggregate; + base: typeof import("mongoose"); + baseModelName: string; + castObject(obj: import("mongoose").AnyObject, options?: { + ignoreCastErrors?: boolean; + }): { + cID: string; + for: string; + name?: string; + }; + bulkWrite(writes: import("mongodb").AnyBulkWriteOperation<{ + cID: string; + for: string; + name?: string; + }>[], options: import("mongodb").BulkWriteOptions & import("mongoose").MongooseBulkWriteOptions, callback: import("mongoose").Callback): void; + bulkWrite(writes: import("mongodb").AnyBulkWriteOperation<{ + cID: string; + for: string; + name?: string; + }>[], callback: import("mongoose").Callback): void; + bulkWrite(writes: import("mongodb").AnyBulkWriteOperation<{ + cID: string; + for: string; + name?: string; + }>[], options?: import("mongodb").BulkWriteOptions & import("mongoose").MongooseBulkWriteOptions): Promise; + bulkSave(documents: import("mongoose").Document[], options?: import("mongodb").BulkWriteOptions & { + timestamps?: boolean; + }): Promise; + collection: import("mongoose").Collection; + count(callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + count(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + countDocuments(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + countDocuments(callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + create>(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents)[], options?: import("mongoose").SaveOptions): Promise<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>; + create>(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_1)[], options?: import("mongoose").SaveOptions, callback?: import("mongoose").Callback<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>): Promise<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>; + create>(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_2)[], callback: import("mongoose").Callback<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>): void; + create>(doc: { + cID: string; + for: string; + name?: string; + } | DocContents_3): Promise & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>; + create>(...docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_4)[]): Promise<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>; + create>(doc: { + cID: string; + for: string; + name?: string; + } | DocContents_5, callback: import("mongoose").Callback & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>): void; + createCollection(options: import("mongodb").CreateCollectionOptions & Pick, "expires">, callback: import("mongoose").Callback>): void; + createCollection(callback: import("mongoose").Callback>): void; + createCollection(options?: import("mongodb").CreateCollectionOptions & Pick, "expires">): Promise>; + db: import("mongoose").Connection; + deleteMany(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteMany(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteMany(callback: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteOne(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteOne(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteOne(callback: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + events: NodeJS.EventEmitter; + findById & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + findById & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + findOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + findOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + findOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + hydrate(obj: any, projection?: import("mongoose").AnyObject, options?: { + setters?: boolean; + }): import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }; + init(callback?: import("mongoose").CallbackWithoutResult): Promise & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_6)[], options: import("mongoose").InsertManyOptions & { + lean: true; + }, callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>[]>): void; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_7)[], options: import("mongoose").InsertManyOptions & { + rawResult: true; + }, callback: import("mongoose").Callback>): void; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_8)[], callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>): void; + insertMany(doc: DocContents_9, options: import("mongoose").InsertManyOptions & { + lean: true; + }, callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>[]>): void; + insertMany(doc: DocContents_10, options: import("mongoose").InsertManyOptions & { + rawResult: true; + }, callback: import("mongoose").Callback>): void; + insertMany(doc: DocContents_11, options: import("mongoose").InsertManyOptions & { + lean?: false; + }, callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>): void; + insertMany(doc: DocContents_12, callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>): void; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_13)[], options: import("mongoose").InsertManyOptions & { + lean: true; + }): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>[]>; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_14)[], options: import("mongoose").InsertManyOptions & { + rawResult: true; + }): Promise>; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_15)[]): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>; + insertMany(doc: DocContents_16, options: import("mongoose").InsertManyOptions & { + lean: true; + }): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>[]>; + insertMany(doc: DocContents_17, options: import("mongoose").InsertManyOptions & { + rawResult: true; + }): Promise>; + insertMany(doc: DocContents_18, options: import("mongoose").InsertManyOptions): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>; + insertMany(doc: DocContents_19): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>; + modelName: string; + populate(docs: any[], options: string | import("mongoose").PopulateOptions | import("mongoose").PopulateOptions[], callback?: import("mongoose").Callback<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>): Promise<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>; + populate(doc: any, options: string | import("mongoose").PopulateOptions | import("mongoose").PopulateOptions[], callback?: import("mongoose").Callback & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>): Promise & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>; + validate(callback?: import("mongoose").CallbackWithoutResult): Promise; + validate(optional: any, callback?: import("mongoose").CallbackWithoutResult): Promise; + validate(optional: any, pathsToValidate: import("mongoose").PathsToValidate, callback?: import("mongoose").CallbackWithoutResult): Promise; + watch(pipeline?: Record[], options?: import("mongodb").ChangeStreamOptions & { + hydrate?: boolean; + }): import("mongodb").ChangeStream>; + $where(argument: string | Function): import("mongoose").Query<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[], import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + discriminators: { + [name: string]: import("mongoose").Model; + }; + translateAliases(raw: any): any; + distinct(field: string, filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + estimatedDocumentCount(options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + exists(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback: import("mongoose").Callback<{ + _id: import("mongoose").Types.ObjectId; + }>): import("mongoose").Query, "_id">, import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + exists(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>): import("mongoose").Query<{ + _id: import("mongoose").Types.ObjectId; + }, import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + find & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + find & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + find & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + find & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(callback?: import("mongoose").Callback): import("mongoose").Query; + findByIdAndDelete & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id?: any, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_9, res: any) => void): import("mongoose").Query; + findByIdAndRemove & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id?: any, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_10, res: any) => void): import("mongoose").Query; + findByIdAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + rawResult: true; + }, callback?: (err: NativeError, doc: any, res: any) => void): import("mongoose").Query, ResultDoc_11, {}, { + cID: string; + for: string; + name?: string; + }>; + findByIdAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + upsert: true; + } & import("mongoose").ReturnsNewDoc, callback?: (err: NativeError, doc: ResultDoc_12, res: any) => void): import("mongoose").Query; + findByIdAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id?: any, update?: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_13, res: any) => void): import("mongoose").Query; + findByIdAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, callback: (err: NativeError, doc: ResultDoc_14, res: any) => void): import("mongoose").Query; + findOneAndDelete & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_15, res: any) => void): import("mongoose").Query; + findOneAndRemove & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_16, res: any) => void): import("mongoose").Query; + findOneAndReplace & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, replacement: import("mongoose").AnyObject | { + cID: string; + for: string; + name?: string; + }, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + rawResult: true; + }, callback?: (err: NativeError, doc: any, res: any) => void): import("mongoose").Query, ResultDoc_17, {}, { + cID: string; + for: string; + name?: string; + }>; + findOneAndReplace & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, replacement: import("mongoose").AnyObject | { + cID: string; + for: string; + name?: string; + }, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + upsert: true; + } & import("mongoose").ReturnsNewDoc, callback?: (err: NativeError, doc: ResultDoc_18, res: any) => void): import("mongoose").Query; + findOneAndReplace & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, replacement?: import("mongoose").AnyObject | { + cID: string; + for: string; + name?: string; + }, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_19, res: any) => void): import("mongoose").Query; + findOneAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + rawResult: true; + }, callback?: (err: NativeError, doc: any, res: any) => void): import("mongoose").Query, ResultDoc_20, {}, { + cID: string; + for: string; + name?: string; + }>; + findOneAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + upsert: true; + } & import("mongoose").ReturnsNewDoc, callback?: (err: NativeError, doc: ResultDoc_21, res: any) => void): import("mongoose").Query; + findOneAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update?: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: { + cID: string; + for: string; + name?: string; + }, res: any) => void): import("mongoose").Query; + geoSearch & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").GeoSearchOptions, callback?: import("mongoose").Callback): import("mongoose").Query; + mapReduce(o: import("mongoose").MapReduceOptions<{ + cID: string; + for: string; + name?: string; + }, Key, Value>, callback?: import("mongoose").Callback): Promise; + remove & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: any, callback?: import("mongoose").CallbackWithoutResult): import("mongoose").Query; + remove & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: any, options?: import("mongoose").RemoveOptions, callback?: import("mongoose").CallbackWithoutResult): import("mongoose").Query; + replaceOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, replacement?: import("mongoose").AnyObject | { + cID: string; + for: string; + name?: string; + }, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + schema: import("mongoose").Schema<{ + cID: string; + for: string; + name?: string; + }, import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, any, any, any, any>, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>; + update & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update?: import("mongoose").UpdateWithAggregationPipeline | import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + updateMany & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update?: import("mongoose").UpdateWithAggregationPipeline | import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + updateOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update?: import("mongoose").UpdateWithAggregationPipeline | import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + where & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(path: string, val?: any): import("mongoose").Query; + where & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(obj: object): import("mongoose").Query; + where & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(): import("mongoose").Query; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + on(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + once(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + off(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + removeAllListeners(event?: string | symbol): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + setMaxListeners(n: number): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + getMaxListeners(): number; + listeners(eventName: string | symbol): Function[]; + rawListeners(eventName: string | symbol): Function[]; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount(eventName: string | symbol): number; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + eventNames(): (string | symbol)[]; + discriminator(name: string | number, schema: import("mongoose").Schema, {}, {}, {}, {}, "type", { + [x: string]: any; + }>, value?: string | number | import("mongoose").Schema.Types.ObjectId | import("mongoose").DiscriminatorOptions): import("mongoose").Model; + discriminator(name: string | number, schema: import("mongoose").Schema>, value?: string | number | import("mongoose").Schema.Types.ObjectId | import("mongoose").DiscriminatorOptions): U; + createIndexes(options: import("mongodb").CreateIndexesOptions, callback: import("mongoose").CallbackWithoutResult): void; + createIndexes(callback: import("mongoose").CallbackWithoutResult): void; + createIndexes(options?: import("mongodb").CreateIndexesOptions): Promise; + diffIndexes(options: Record, callback: import("mongoose").Callback): void; + diffIndexes(callback: import("mongoose").Callback): void; + diffIndexes(options?: Record): Promise; + ensureIndexes(options: import("mongodb").CreateIndexesOptions, callback: import("mongoose").CallbackWithoutResult): void; + ensureIndexes(callback: import("mongoose").CallbackWithoutResult): void; + ensureIndexes(options?: import("mongodb").CreateIndexesOptions): Promise; + listIndexes(callback: import("mongoose").Callback): void; + listIndexes(): Promise; + syncIndexes(options: import("mongoose").SyncIndexesOptions, callback: import("mongoose").Callback): void; + syncIndexes(options?: import("mongoose").SyncIndexesOptions): Promise; + startSession(options: import("mongodb").ClientSessionOptions, callback: import("mongoose").Callback): void; + startSession(callback: import("mongoose").Callback): void; + startSession(options?: import("mongodb").ClientSessionOptions): Promise; + get: (callback: any, limit: any) => void; + }): Promise<{ + new (doc?: DocType, fields?: any, options?: boolean | import("mongoose").AnyObject): import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }; + aggregate(pipeline?: import("mongoose").PipelineStage[], options?: import("mongodb").AggregateOptions, callback?: import("mongoose").Callback): import("mongoose").Aggregate; + aggregate(pipeline: import("mongoose").PipelineStage[], callback?: import("mongoose").Callback): import("mongoose").Aggregate; + base: typeof import("mongoose"); + baseModelName: string; + castObject(obj: import("mongoose").AnyObject, options?: { + ignoreCastErrors?: boolean; + }): { + cID: string; + for: string; + name?: string; + }; + bulkWrite(writes: import("mongodb").AnyBulkWriteOperation<{ + cID: string; + for: string; + name?: string; + }>[], options: import("mongodb").BulkWriteOptions & import("mongoose").MongooseBulkWriteOptions, callback: import("mongoose").Callback): void; + bulkWrite(writes: import("mongodb").AnyBulkWriteOperation<{ + cID: string; + for: string; + name?: string; + }>[], callback: import("mongoose").Callback): void; + bulkWrite(writes: import("mongodb").AnyBulkWriteOperation<{ + cID: string; + for: string; + name?: string; + }>[], options?: import("mongodb").BulkWriteOptions & import("mongoose").MongooseBulkWriteOptions): Promise; + bulkSave(documents: import("mongoose").Document[], options?: import("mongodb").BulkWriteOptions & { + timestamps?: boolean; + }): Promise; + collection: import("mongoose").Collection; + count(callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + count(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + countDocuments(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + countDocuments(callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + create>(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents)[], options?: import("mongoose").SaveOptions): Promise<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>; + create>(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_1)[], options?: import("mongoose").SaveOptions, callback?: import("mongoose").Callback<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>): Promise<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>; + create>(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_2)[], callback: import("mongoose").Callback<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>): void; + create>(doc: { + cID: string; + for: string; + name?: string; + } | DocContents_3): Promise & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>; + create>(...docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_4)[]): Promise<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>; + create>(doc: { + cID: string; + for: string; + name?: string; + } | DocContents_5, callback: import("mongoose").Callback & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>): void; + createCollection(options: import("mongodb").CreateCollectionOptions & Pick, "expires">, callback: import("mongoose").Callback>): void; + createCollection(callback: import("mongoose").Callback>): void; + createCollection(options?: import("mongodb").CreateCollectionOptions & Pick, "expires">): Promise>; + db: import("mongoose").Connection; + deleteMany(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteMany(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteMany(callback: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteOne(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteOne(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteOne(callback: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + events: NodeJS.EventEmitter; + findById & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + findById & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + findOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + findOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + findOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + hydrate(obj: any, projection?: import("mongoose").AnyObject, options?: { + setters?: boolean; + }): import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }; + init(callback?: import("mongoose").CallbackWithoutResult): Promise & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_6)[], options: import("mongoose").InsertManyOptions & { + lean: true; + }, callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>[]>): void; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_7)[], options: import("mongoose").InsertManyOptions & { + rawResult: true; + }, callback: import("mongoose").Callback>): void; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_8)[], callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>): void; + insertMany(doc: DocContents_9, options: import("mongoose").InsertManyOptions & { + lean: true; + }, callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>[]>): void; + insertMany(doc: DocContents_10, options: import("mongoose").InsertManyOptions & { + rawResult: true; + }, callback: import("mongoose").Callback>): void; + insertMany(doc: DocContents_11, options: import("mongoose").InsertManyOptions & { + lean?: false; + }, callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>): void; + insertMany(doc: DocContents_12, callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>): void; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_13)[], options: import("mongoose").InsertManyOptions & { + lean: true; + }): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>[]>; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_14)[], options: import("mongoose").InsertManyOptions & { + rawResult: true; + }): Promise>; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_15)[]): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>; + insertMany(doc: DocContents_16, options: import("mongoose").InsertManyOptions & { + lean: true; + }): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>[]>; + insertMany(doc: DocContents_17, options: import("mongoose").InsertManyOptions & { + rawResult: true; + }): Promise>; + insertMany(doc: DocContents_18, options: import("mongoose").InsertManyOptions): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>; + insertMany(doc: DocContents_19): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>; + modelName: string; + populate(docs: any[], options: string | import("mongoose").PopulateOptions | import("mongoose").PopulateOptions[], callback?: import("mongoose").Callback<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>): Promise<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>; + populate(doc: any, options: string | import("mongoose").PopulateOptions | import("mongoose").PopulateOptions[], callback?: import("mongoose").Callback & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>): Promise & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>; + validate(callback?: import("mongoose").CallbackWithoutResult): Promise; + validate(optional: any, callback?: import("mongoose").CallbackWithoutResult): Promise; + validate(optional: any, pathsToValidate: import("mongoose").PathsToValidate, callback?: import("mongoose").CallbackWithoutResult): Promise; + watch(pipeline?: Record[], options?: import("mongodb").ChangeStreamOptions & { + hydrate?: boolean; + }): import("mongodb").ChangeStream>; + $where(argument: string | Function): import("mongoose").Query<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[], import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + discriminators: { + [name: string]: import("mongoose").Model; + }; + translateAliases(raw: any): any; + distinct(field: string, filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + estimatedDocumentCount(options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + exists(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback: import("mongoose").Callback<{ + _id: import("mongoose").Types.ObjectId; + }>): import("mongoose").Query, "_id">, import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + exists(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>): import("mongoose").Query<{ + _id: import("mongoose").Types.ObjectId; + }, import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + find & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + find & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + find & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + find & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(callback?: import("mongoose").Callback): import("mongoose").Query; + findByIdAndDelete & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id?: any, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_9, res: any) => void): import("mongoose").Query; + findByIdAndRemove & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id?: any, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_10, res: any) => void): import("mongoose").Query; + findByIdAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + rawResult: true; + }, callback?: (err: NativeError, doc: any, res: any) => void): import("mongoose").Query, ResultDoc_11, {}, { + cID: string; + for: string; + name?: string; + }>; + findByIdAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + upsert: true; + } & import("mongoose").ReturnsNewDoc, callback?: (err: NativeError, doc: ResultDoc_12, res: any) => void): import("mongoose").Query; + findByIdAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id?: any, update?: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_13, res: any) => void): import("mongoose").Query; + findByIdAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, callback: (err: NativeError, doc: ResultDoc_14, res: any) => void): import("mongoose").Query; + findOneAndDelete & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_15, res: any) => void): import("mongoose").Query; + findOneAndRemove & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_16, res: any) => void): import("mongoose").Query; + findOneAndReplace & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, replacement: import("mongoose").AnyObject | { + cID: string; + for: string; + name?: string; + }, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + rawResult: true; + }, callback?: (err: NativeError, doc: any, res: any) => void): import("mongoose").Query, ResultDoc_17, {}, { + cID: string; + for: string; + name?: string; + }>; + findOneAndReplace & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, replacement: import("mongoose").AnyObject | { + cID: string; + for: string; + name?: string; + }, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + upsert: true; + } & import("mongoose").ReturnsNewDoc, callback?: (err: NativeError, doc: ResultDoc_18, res: any) => void): import("mongoose").Query; + findOneAndReplace & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, replacement?: import("mongoose").AnyObject | { + cID: string; + for: string; + name?: string; + }, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_19, res: any) => void): import("mongoose").Query; + findOneAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + rawResult: true; + }, callback?: (err: NativeError, doc: any, res: any) => void): import("mongoose").Query, ResultDoc_20, {}, { + cID: string; + for: string; + name?: string; + }>; + findOneAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + upsert: true; + } & import("mongoose").ReturnsNewDoc, callback?: (err: NativeError, doc: ResultDoc_21, res: any) => void): import("mongoose").Query; + findOneAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update?: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: { + cID: string; + for: string; + name?: string; + }, res: any) => void): import("mongoose").Query; + geoSearch & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").GeoSearchOptions, callback?: import("mongoose").Callback): import("mongoose").Query; + mapReduce(o: import("mongoose").MapReduceOptions<{ + cID: string; + for: string; + name?: string; + }, Key, Value>, callback?: import("mongoose").Callback): Promise; + remove & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: any, callback?: import("mongoose").CallbackWithoutResult): import("mongoose").Query; + remove & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: any, options?: import("mongoose").RemoveOptions, callback?: import("mongoose").CallbackWithoutResult): import("mongoose").Query; + replaceOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, replacement?: import("mongoose").AnyObject | { + cID: string; + for: string; + name?: string; + }, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + schema: import("mongoose").Schema<{ + cID: string; + for: string; + name?: string; + }, import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, any, any, any, any>, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>; + update & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update?: import("mongoose").UpdateWithAggregationPipeline | import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + updateMany & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update?: import("mongoose").UpdateWithAggregationPipeline | import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + updateOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update?: import("mongoose").UpdateWithAggregationPipeline | import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + where & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(path: string, val?: any): import("mongoose").Query; + where & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(obj: object): import("mongoose").Query; + where & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(): import("mongoose").Query; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + on(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + once(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + off(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + removeAllListeners(event?: string | symbol): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + setMaxListeners(n: number): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + getMaxListeners(): number; + listeners(eventName: string | symbol): Function[]; + rawListeners(eventName: string | symbol): Function[]; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount(eventName: string | symbol): number; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + eventNames(): (string | symbol)[]; + discriminator(name: string | number, schema: import("mongoose").Schema, {}, {}, {}, {}, "type", { + [x: string]: any; + }>, value?: string | number | import("mongoose").Schema.Types.ObjectId | import("mongoose").DiscriminatorOptions): import("mongoose").Model; + discriminator(name: string | number, schema: import("mongoose").Schema>, value?: string | number | import("mongoose").Schema.Types.ObjectId | import("mongoose").DiscriminatorOptions): U; + createIndexes(options: import("mongodb").CreateIndexesOptions, callback: import("mongoose").CallbackWithoutResult): void; + createIndexes(callback: import("mongoose").CallbackWithoutResult): void; + createIndexes(options?: import("mongodb").CreateIndexesOptions): Promise; + diffIndexes(options: Record, callback: import("mongoose").Callback): void; + diffIndexes(callback: import("mongoose").Callback): void; + diffIndexes(options?: Record): Promise; + ensureIndexes(options: import("mongodb").CreateIndexesOptions, callback: import("mongoose").CallbackWithoutResult): void; + ensureIndexes(callback: import("mongoose").CallbackWithoutResult): void; + ensureIndexes(options?: import("mongodb").CreateIndexesOptions): Promise; + listIndexes(callback: import("mongoose").Callback): void; + listIndexes(): Promise; + syncIndexes(options: import("mongoose").SyncIndexesOptions, callback: import("mongoose").Callback): void; + syncIndexes(options?: import("mongoose").SyncIndexesOptions): Promise; + startSession(options: import("mongodb").ClientSessionOptions, callback: import("mongoose").Callback): void; + startSession(callback: import("mongoose").Callback): void; + startSession(options?: import("mongodb").ClientSessionOptions): Promise; + get: (callback: any, limit: any) => void; + }>; +} +declare class FreeGames { + /** + * + * @param {_Client} client + */ + constructor(client: _Client); + client: _Client; + update(): Promise; + channels: { + new (doc?: DocType, fields?: any, options?: boolean | import("mongoose").AnyObject): import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }; + aggregate(pipeline?: import("mongoose").PipelineStage[], options?: import("mongodb").AggregateOptions, callback?: import("mongoose").Callback): import("mongoose").Aggregate; + aggregate(pipeline: import("mongoose").PipelineStage[], callback?: import("mongoose").Callback): import("mongoose").Aggregate; + base: typeof import("mongoose"); + baseModelName: string; + castObject(obj: import("mongoose").AnyObject, options?: { + ignoreCastErrors?: boolean; + }): { + cID: string; + for: string; + name?: string; + }; + bulkWrite(writes: import("mongodb").AnyBulkWriteOperation<{ + cID: string; + for: string; + name?: string; + }>[], options: import("mongodb").BulkWriteOptions & import("mongoose").MongooseBulkWriteOptions, callback: import("mongoose").Callback): void; + bulkWrite(writes: import("mongodb").AnyBulkWriteOperation<{ + cID: string; + for: string; + name?: string; + }>[], callback: import("mongoose").Callback): void; + bulkWrite(writes: import("mongodb").AnyBulkWriteOperation<{ + cID: string; + for: string; + name?: string; + }>[], options?: import("mongodb").BulkWriteOptions & import("mongoose").MongooseBulkWriteOptions): Promise; + bulkSave(documents: import("mongoose").Document[], options?: import("mongodb").BulkWriteOptions & { + timestamps?: boolean; + }): Promise; + collection: import("mongoose").Collection; + count(callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + count(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + countDocuments(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + countDocuments(callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + create>(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents)[], options?: import("mongoose").SaveOptions): Promise<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>; + create>(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_1)[], options?: import("mongoose").SaveOptions, callback?: import("mongoose").Callback<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>): Promise<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>; + create>(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_2)[], callback: import("mongoose").Callback<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>): void; + create>(doc: { + cID: string; + for: string; + name?: string; + } | DocContents_3): Promise & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>; + create>(...docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_4)[]): Promise<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>; + create>(doc: { + cID: string; + for: string; + name?: string; + } | DocContents_5, callback: import("mongoose").Callback & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>): void; + createCollection(options: import("mongodb").CreateCollectionOptions & Pick, "expires">, callback: import("mongoose").Callback>): void; + createCollection(callback: import("mongoose").Callback>): void; + createCollection(options?: import("mongodb").CreateCollectionOptions & Pick, "expires">): Promise>; + db: import("mongoose").Connection; + deleteMany(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteMany(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteMany(callback: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteOne(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteOne(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteOne(callback: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + events: NodeJS.EventEmitter; + findById & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + findById & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + findOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + findOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + findOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + hydrate(obj: any, projection?: import("mongoose").AnyObject, options?: { + setters?: boolean; + }): import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }; + init(callback?: import("mongoose").CallbackWithoutResult): Promise & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_6)[], options: import("mongoose").InsertManyOptions & { + lean: true; + }, callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>[]>): void; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_7)[], options: import("mongoose").InsertManyOptions & { + rawResult: true; + }, callback: import("mongoose").Callback>): void; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_8)[], callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>): void; + insertMany(doc: DocContents_9, options: import("mongoose").InsertManyOptions & { + lean: true; + }, callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>[]>): void; + insertMany(doc: DocContents_10, options: import("mongoose").InsertManyOptions & { + rawResult: true; + }, callback: import("mongoose").Callback>): void; + insertMany(doc: DocContents_11, options: import("mongoose").InsertManyOptions & { + lean?: false; + }, callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>): void; + insertMany(doc: DocContents_12, callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>): void; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_13)[], options: import("mongoose").InsertManyOptions & { + lean: true; + }): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>[]>; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_14)[], options: import("mongoose").InsertManyOptions & { + rawResult: true; + }): Promise>; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_15)[]): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>; + insertMany(doc: DocContents_16, options: import("mongoose").InsertManyOptions & { + lean: true; + }): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>[]>; + insertMany(doc: DocContents_17, options: import("mongoose").InsertManyOptions & { + rawResult: true; + }): Promise>; + insertMany(doc: DocContents_18, options: import("mongoose").InsertManyOptions): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>; + insertMany(doc: DocContents_19): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>; + modelName: string; + populate(docs: any[], options: string | import("mongoose").PopulateOptions | import("mongoose").PopulateOptions[], callback?: import("mongoose").Callback<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>): Promise<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>; + populate(doc: any, options: string | import("mongoose").PopulateOptions | import("mongoose").PopulateOptions[], callback?: import("mongoose").Callback & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>): Promise & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>; + validate(callback?: import("mongoose").CallbackWithoutResult): Promise; + validate(optional: any, callback?: import("mongoose").CallbackWithoutResult): Promise; + validate(optional: any, pathsToValidate: import("mongoose").PathsToValidate, callback?: import("mongoose").CallbackWithoutResult): Promise; + watch(pipeline?: Record[], options?: import("mongodb").ChangeStreamOptions & { + hydrate?: boolean; + }): import("mongodb").ChangeStream>; + $where(argument: string | Function): import("mongoose").Query<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[], import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + discriminators: { + [name: string]: import("mongoose").Model; + }; + translateAliases(raw: any): any; + distinct(field: string, filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + estimatedDocumentCount(options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + exists(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback: import("mongoose").Callback<{ + _id: import("mongoose").Types.ObjectId; + }>): import("mongoose").Query, "_id">, import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + exists(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>): import("mongoose").Query<{ + _id: import("mongoose").Types.ObjectId; + }, import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + find & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + find & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + find & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + find & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(callback?: import("mongoose").Callback): import("mongoose").Query; + findByIdAndDelete & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id?: any, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_9, res: any) => void): import("mongoose").Query; + findByIdAndRemove & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id?: any, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_10, res: any) => void): import("mongoose").Query; + findByIdAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + rawResult: true; + }, callback?: (err: NativeError, doc: any, res: any) => void): import("mongoose").Query, ResultDoc_11, {}, { + cID: string; + for: string; + name?: string; + }>; + findByIdAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + upsert: true; + } & import("mongoose").ReturnsNewDoc, callback?: (err: NativeError, doc: ResultDoc_12, res: any) => void): import("mongoose").Query; + findByIdAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id?: any, update?: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_13, res: any) => void): import("mongoose").Query; + findByIdAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, callback: (err: NativeError, doc: ResultDoc_14, res: any) => void): import("mongoose").Query; + findOneAndDelete & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_15, res: any) => void): import("mongoose").Query; + findOneAndRemove & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_16, res: any) => void): import("mongoose").Query; + findOneAndReplace & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, replacement: import("mongoose").AnyObject | { + cID: string; + for: string; + name?: string; + }, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + rawResult: true; + }, callback?: (err: NativeError, doc: any, res: any) => void): import("mongoose").Query, ResultDoc_17, {}, { + cID: string; + for: string; + name?: string; + }>; + findOneAndReplace & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, replacement: import("mongoose").AnyObject | { + cID: string; + for: string; + name?: string; + }, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + upsert: true; + } & import("mongoose").ReturnsNewDoc, callback?: (err: NativeError, doc: ResultDoc_18, res: any) => void): import("mongoose").Query; + findOneAndReplace & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, replacement?: import("mongoose").AnyObject | { + cID: string; + for: string; + name?: string; + }, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_19, res: any) => void): import("mongoose").Query; + findOneAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + rawResult: true; + }, callback?: (err: NativeError, doc: any, res: any) => void): import("mongoose").Query, ResultDoc_20, {}, { + cID: string; + for: string; + name?: string; + }>; + findOneAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + upsert: true; + } & import("mongoose").ReturnsNewDoc, callback?: (err: NativeError, doc: ResultDoc_21, res: any) => void): import("mongoose").Query; + findOneAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update?: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: { + cID: string; + for: string; + name?: string; + }, res: any) => void): import("mongoose").Query; + geoSearch & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").GeoSearchOptions, callback?: import("mongoose").Callback): import("mongoose").Query; + mapReduce(o: import("mongoose").MapReduceOptions<{ + cID: string; + for: string; + name?: string; + }, Key, Value>, callback?: import("mongoose").Callback): Promise; + remove & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: any, callback?: import("mongoose").CallbackWithoutResult): import("mongoose").Query; + remove & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: any, options?: import("mongoose").RemoveOptions, callback?: import("mongoose").CallbackWithoutResult): import("mongoose").Query; + replaceOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, replacement?: import("mongoose").AnyObject | { + cID: string; + for: string; + name?: string; + }, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + schema: import("mongoose").Schema<{ + cID: string; + for: string; + name?: string; + }, import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, any, any, any, any>, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>; + update & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update?: import("mongoose").UpdateWithAggregationPipeline | import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + updateMany & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update?: import("mongoose").UpdateWithAggregationPipeline | import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + updateOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update?: import("mongoose").UpdateWithAggregationPipeline | import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + where & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(path: string, val?: any): import("mongoose").Query; + where & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(obj: object): import("mongoose").Query; + where & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(): import("mongoose").Query; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + on(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + once(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + off(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + removeAllListeners(event?: string | symbol): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + setMaxListeners(n: number): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + getMaxListeners(): number; + listeners(eventName: string | symbol): Function[]; + rawListeners(eventName: string | symbol): Function[]; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount(eventName: string | symbol): number; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + eventNames(): (string | symbol)[]; + discriminator(name: string | number, schema: import("mongoose").Schema, {}, {}, {}, {}, "type", { + [x: string]: any; + }>, value?: string | number | import("mongoose").Schema.Types.ObjectId | import("mongoose").DiscriminatorOptions): import("mongoose").Model; + discriminator(name: string | number, schema: import("mongoose").Schema>, value?: string | number | import("mongoose").Schema.Types.ObjectId | import("mongoose").DiscriminatorOptions): U; + createIndexes(options: import("mongodb").CreateIndexesOptions, callback: import("mongoose").CallbackWithoutResult): void; + createIndexes(callback: import("mongoose").CallbackWithoutResult): void; + createIndexes(options?: import("mongodb").CreateIndexesOptions): Promise; + diffIndexes(options: Record, callback: import("mongoose").Callback): void; + diffIndexes(callback: import("mongoose").Callback): void; + diffIndexes(options?: Record): Promise; + ensureIndexes(options: import("mongodb").CreateIndexesOptions, callback: import("mongoose").CallbackWithoutResult): void; + ensureIndexes(callback: import("mongoose").CallbackWithoutResult): void; + ensureIndexes(options?: import("mongodb").CreateIndexesOptions): Promise; + listIndexes(callback: import("mongoose").Callback): void; + listIndexes(): Promise; + syncIndexes(options: import("mongoose").SyncIndexesOptions, callback: import("mongoose").Callback): void; + syncIndexes(options?: import("mongoose").SyncIndexesOptions): Promise; + startSession(options: import("mongodb").ClientSessionOptions, callback: import("mongoose").Callback): void; + startSession(callback: import("mongoose").Callback): void; + startSession(options?: import("mongodb").ClientSessionOptions): Promise; + get: (callback: any, limit: any) => void; + }; + /** + * + * @param {channelM} channels + */ + resolveChannels(channels: { + new (doc?: DocType, fields?: any, options?: boolean | import("mongoose").AnyObject): import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }; + aggregate(pipeline?: import("mongoose").PipelineStage[], options?: import("mongodb").AggregateOptions, callback?: import("mongoose").Callback): import("mongoose").Aggregate; + aggregate(pipeline: import("mongoose").PipelineStage[], callback?: import("mongoose").Callback): import("mongoose").Aggregate; + base: typeof import("mongoose"); + baseModelName: string; + castObject(obj: import("mongoose").AnyObject, options?: { + ignoreCastErrors?: boolean; + }): { + cID: string; + for: string; + name?: string; + }; + bulkWrite(writes: import("mongodb").AnyBulkWriteOperation<{ + cID: string; + for: string; + name?: string; + }>[], options: import("mongodb").BulkWriteOptions & import("mongoose").MongooseBulkWriteOptions, callback: import("mongoose").Callback): void; + bulkWrite(writes: import("mongodb").AnyBulkWriteOperation<{ + cID: string; + for: string; + name?: string; + }>[], callback: import("mongoose").Callback): void; + bulkWrite(writes: import("mongodb").AnyBulkWriteOperation<{ + cID: string; + for: string; + name?: string; + }>[], options?: import("mongodb").BulkWriteOptions & import("mongoose").MongooseBulkWriteOptions): Promise; + bulkSave(documents: import("mongoose").Document[], options?: import("mongodb").BulkWriteOptions & { + timestamps?: boolean; + }): Promise; + collection: import("mongoose").Collection; + count(callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + count(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + countDocuments(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + countDocuments(callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + create>(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents)[], options?: import("mongoose").SaveOptions): Promise<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>; + create>(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_1)[], options?: import("mongoose").SaveOptions, callback?: import("mongoose").Callback<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>): Promise<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>; + create>(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_2)[], callback: import("mongoose").Callback<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>): void; + create>(doc: { + cID: string; + for: string; + name?: string; + } | DocContents_3): Promise & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>; + create>(...docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_4)[]): Promise<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>; + create>(doc: { + cID: string; + for: string; + name?: string; + } | DocContents_5, callback: import("mongoose").Callback & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>): void; + createCollection(options: import("mongodb").CreateCollectionOptions & Pick, "expires">, callback: import("mongoose").Callback>): void; + createCollection(callback: import("mongoose").Callback>): void; + createCollection(options?: import("mongodb").CreateCollectionOptions & Pick, "expires">): Promise>; + db: import("mongoose").Connection; + deleteMany(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteMany(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteMany(callback: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteOne(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteOne(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteOne(callback: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + events: NodeJS.EventEmitter; + findById & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + findById & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + findOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + findOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + findOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + hydrate(obj: any, projection?: import("mongoose").AnyObject, options?: { + setters?: boolean; + }): import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }; + init(callback?: import("mongoose").CallbackWithoutResult): Promise & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_6)[], options: import("mongoose").InsertManyOptions & { + lean: true; + }, callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>[]>): void; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_7)[], options: import("mongoose").InsertManyOptions & { + rawResult: true; + }, callback: import("mongoose").Callback>): void; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_8)[], callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>): void; + insertMany(doc: DocContents_9, options: import("mongoose").InsertManyOptions & { + lean: true; + }, callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>[]>): void; + insertMany(doc: DocContents_10, options: import("mongoose").InsertManyOptions & { + rawResult: true; + }, callback: import("mongoose").Callback>): void; + insertMany(doc: DocContents_11, options: import("mongoose").InsertManyOptions & { + lean?: false; + }, callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>): void; + insertMany(doc: DocContents_12, callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>): void; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_13)[], options: import("mongoose").InsertManyOptions & { + lean: true; + }): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>[]>; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_14)[], options: import("mongoose").InsertManyOptions & { + rawResult: true; + }): Promise>; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_15)[]): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>; + insertMany(doc: DocContents_16, options: import("mongoose").InsertManyOptions & { + lean: true; + }): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>[]>; + insertMany(doc: DocContents_17, options: import("mongoose").InsertManyOptions & { + rawResult: true; + }): Promise>; + insertMany(doc: DocContents_18, options: import("mongoose").InsertManyOptions): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>; + insertMany(doc: DocContents_19): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>; + modelName: string; + populate(docs: any[], options: string | import("mongoose").PopulateOptions | import("mongoose").PopulateOptions[], callback?: import("mongoose").Callback<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>): Promise<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>; + populate(doc: any, options: string | import("mongoose").PopulateOptions | import("mongoose").PopulateOptions[], callback?: import("mongoose").Callback & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>): Promise & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>; + validate(callback?: import("mongoose").CallbackWithoutResult): Promise; + validate(optional: any, callback?: import("mongoose").CallbackWithoutResult): Promise; + validate(optional: any, pathsToValidate: import("mongoose").PathsToValidate, callback?: import("mongoose").CallbackWithoutResult): Promise; + watch(pipeline?: Record[], options?: import("mongodb").ChangeStreamOptions & { + hydrate?: boolean; + }): import("mongodb").ChangeStream>; + $where(argument: string | Function): import("mongoose").Query<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[], import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + discriminators: { + [name: string]: import("mongoose").Model; + }; + translateAliases(raw: any): any; + distinct(field: string, filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + estimatedDocumentCount(options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + exists(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback: import("mongoose").Callback<{ + _id: import("mongoose").Types.ObjectId; + }>): import("mongoose").Query, "_id">, import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + exists(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>): import("mongoose").Query<{ + _id: import("mongoose").Types.ObjectId; + }, import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + find & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + find & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + find & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + find & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(callback?: import("mongoose").Callback): import("mongoose").Query; + findByIdAndDelete & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id?: any, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_9, res: any) => void): import("mongoose").Query; + findByIdAndRemove & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id?: any, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_10, res: any) => void): import("mongoose").Query; + findByIdAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + rawResult: true; + }, callback?: (err: NativeError, doc: any, res: any) => void): import("mongoose").Query, ResultDoc_11, {}, { + cID: string; + for: string; + name?: string; + }>; + findByIdAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + upsert: true; + } & import("mongoose").ReturnsNewDoc, callback?: (err: NativeError, doc: ResultDoc_12, res: any) => void): import("mongoose").Query; + findByIdAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id?: any, update?: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_13, res: any) => void): import("mongoose").Query; + findByIdAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, callback: (err: NativeError, doc: ResultDoc_14, res: any) => void): import("mongoose").Query; + findOneAndDelete & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_15, res: any) => void): import("mongoose").Query; + findOneAndRemove & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_16, res: any) => void): import("mongoose").Query; + findOneAndReplace & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, replacement: import("mongoose").AnyObject | { + cID: string; + for: string; + name?: string; + }, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + rawResult: true; + }, callback?: (err: NativeError, doc: any, res: any) => void): import("mongoose").Query, ResultDoc_17, {}, { + cID: string; + for: string; + name?: string; + }>; + findOneAndReplace & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, replacement: import("mongoose").AnyObject | { + cID: string; + for: string; + name?: string; + }, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + upsert: true; + } & import("mongoose").ReturnsNewDoc, callback?: (err: NativeError, doc: ResultDoc_18, res: any) => void): import("mongoose").Query; + findOneAndReplace & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, replacement?: import("mongoose").AnyObject | { + cID: string; + for: string; + name?: string; + }, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_19, res: any) => void): import("mongoose").Query; + findOneAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + rawResult: true; + }, callback?: (err: NativeError, doc: any, res: any) => void): import("mongoose").Query, ResultDoc_20, {}, { + cID: string; + for: string; + name?: string; + }>; + findOneAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + upsert: true; + } & import("mongoose").ReturnsNewDoc, callback?: (err: NativeError, doc: ResultDoc_21, res: any) => void): import("mongoose").Query; + findOneAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update?: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: { + cID: string; + for: string; + name?: string; + }, res: any) => void): import("mongoose").Query; + geoSearch & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").GeoSearchOptions, callback?: import("mongoose").Callback): import("mongoose").Query; + mapReduce(o: import("mongoose").MapReduceOptions<{ + cID: string; + for: string; + name?: string; + }, Key, Value>, callback?: import("mongoose").Callback): Promise; + remove & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: any, callback?: import("mongoose").CallbackWithoutResult): import("mongoose").Query; + remove & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: any, options?: import("mongoose").RemoveOptions, callback?: import("mongoose").CallbackWithoutResult): import("mongoose").Query; + replaceOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, replacement?: import("mongoose").AnyObject | { + cID: string; + for: string; + name?: string; + }, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + schema: import("mongoose").Schema<{ + cID: string; + for: string; + name?: string; + }, import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, any, any, any, any>, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>; + update & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update?: import("mongoose").UpdateWithAggregationPipeline | import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + updateMany & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update?: import("mongoose").UpdateWithAggregationPipeline | import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + updateOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update?: import("mongoose").UpdateWithAggregationPipeline | import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + where & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(path: string, val?: any): import("mongoose").Query; + where & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(obj: object): import("mongoose").Query; + where & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(): import("mongoose").Query; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + on(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + once(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + off(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + removeAllListeners(event?: string | symbol): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + setMaxListeners(n: number): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + getMaxListeners(): number; + listeners(eventName: string | symbol): Function[]; + rawListeners(eventName: string | symbol): Function[]; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount(eventName: string | symbol): number; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + eventNames(): (string | symbol)[]; + discriminator(name: string | number, schema: import("mongoose").Schema, {}, {}, {}, {}, "type", { + [x: string]: any; + }>, value?: string | number | import("mongoose").Schema.Types.ObjectId | import("mongoose").DiscriminatorOptions): import("mongoose").Model; + discriminator(name: string | number, schema: import("mongoose").Schema>, value?: string | number | import("mongoose").Schema.Types.ObjectId | import("mongoose").DiscriminatorOptions): U; + createIndexes(options: import("mongodb").CreateIndexesOptions, callback: import("mongoose").CallbackWithoutResult): void; + createIndexes(callback: import("mongoose").CallbackWithoutResult): void; + createIndexes(options?: import("mongodb").CreateIndexesOptions): Promise; + diffIndexes(options: Record, callback: import("mongoose").Callback): void; + diffIndexes(callback: import("mongoose").Callback): void; + diffIndexes(options?: Record): Promise; + ensureIndexes(options: import("mongodb").CreateIndexesOptions, callback: import("mongoose").CallbackWithoutResult): void; + ensureIndexes(callback: import("mongoose").CallbackWithoutResult): void; + ensureIndexes(options?: import("mongodb").CreateIndexesOptions): Promise; + listIndexes(callback: import("mongoose").Callback): void; + listIndexes(): Promise; + syncIndexes(options: import("mongoose").SyncIndexesOptions, callback: import("mongoose").Callback): void; + syncIndexes(options?: import("mongoose").SyncIndexesOptions): Promise; + startSession(options: import("mongodb").ClientSessionOptions, callback: import("mongoose").Callback): void; + startSession(callback: import("mongoose").Callback): void; + startSession(options?: import("mongodb").ClientSessionOptions): Promise; + get: (callback: any, limit: any) => void; + }): Promise<{ + new (doc?: DocType, fields?: any, options?: boolean | import("mongoose").AnyObject): import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }; + aggregate(pipeline?: import("mongoose").PipelineStage[], options?: import("mongodb").AggregateOptions, callback?: import("mongoose").Callback): import("mongoose").Aggregate; + aggregate(pipeline: import("mongoose").PipelineStage[], callback?: import("mongoose").Callback): import("mongoose").Aggregate; + base: typeof import("mongoose"); + baseModelName: string; + castObject(obj: import("mongoose").AnyObject, options?: { + ignoreCastErrors?: boolean; + }): { + cID: string; + for: string; + name?: string; + }; + bulkWrite(writes: import("mongodb").AnyBulkWriteOperation<{ + cID: string; + for: string; + name?: string; + }>[], options: import("mongodb").BulkWriteOptions & import("mongoose").MongooseBulkWriteOptions, callback: import("mongoose").Callback): void; + bulkWrite(writes: import("mongodb").AnyBulkWriteOperation<{ + cID: string; + for: string; + name?: string; + }>[], callback: import("mongoose").Callback): void; + bulkWrite(writes: import("mongodb").AnyBulkWriteOperation<{ + cID: string; + for: string; + name?: string; + }>[], options?: import("mongodb").BulkWriteOptions & import("mongoose").MongooseBulkWriteOptions): Promise; + bulkSave(documents: import("mongoose").Document[], options?: import("mongodb").BulkWriteOptions & { + timestamps?: boolean; + }): Promise; + collection: import("mongoose").Collection; + count(callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + count(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + countDocuments(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + countDocuments(callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + create>(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents)[], options?: import("mongoose").SaveOptions): Promise<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>; + create>(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_1)[], options?: import("mongoose").SaveOptions, callback?: import("mongoose").Callback<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>): Promise<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>; + create>(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_2)[], callback: import("mongoose").Callback<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>): void; + create>(doc: { + cID: string; + for: string; + name?: string; + } | DocContents_3): Promise & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>; + create>(...docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_4)[]): Promise<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>; + create>(doc: { + cID: string; + for: string; + name?: string; + } | DocContents_5, callback: import("mongoose").Callback & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>): void; + createCollection(options: import("mongodb").CreateCollectionOptions & Pick, "expires">, callback: import("mongoose").Callback>): void; + createCollection(callback: import("mongoose").Callback>): void; + createCollection(options?: import("mongodb").CreateCollectionOptions & Pick, "expires">): Promise>; + db: import("mongoose").Connection; + deleteMany(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteMany(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteMany(callback: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteOne(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteOne(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteOne(callback: import("mongoose").CallbackWithoutResult): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + events: NodeJS.EventEmitter; + findById & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + findById & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + findOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + findOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + findOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + hydrate(obj: any, projection?: import("mongoose").AnyObject, options?: { + setters?: boolean; + }): import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }; + init(callback?: import("mongoose").CallbackWithoutResult): Promise & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_6)[], options: import("mongoose").InsertManyOptions & { + lean: true; + }, callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>[]>): void; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_7)[], options: import("mongoose").InsertManyOptions & { + rawResult: true; + }, callback: import("mongoose").Callback>): void; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_8)[], callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>): void; + insertMany(doc: DocContents_9, options: import("mongoose").InsertManyOptions & { + lean: true; + }, callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>[]>): void; + insertMany(doc: DocContents_10, options: import("mongoose").InsertManyOptions & { + rawResult: true; + }, callback: import("mongoose").Callback>): void; + insertMany(doc: DocContents_11, options: import("mongoose").InsertManyOptions & { + lean?: false; + }, callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>): void; + insertMany(doc: DocContents_12, callback: import("mongoose").Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>): void; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_13)[], options: import("mongoose").InsertManyOptions & { + lean: true; + }): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>[]>; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_14)[], options: import("mongoose").InsertManyOptions & { + rawResult: true; + }): Promise>; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_15)[]): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>; + insertMany(doc: DocContents_16, options: import("mongoose").InsertManyOptions & { + lean: true; + }): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>[]>; + insertMany(doc: DocContents_17, options: import("mongoose").InsertManyOptions & { + rawResult: true; + }): Promise>; + insertMany(doc: DocContents_18, options: import("mongoose").InsertManyOptions): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>; + insertMany(doc: DocContents_19): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>, {}, {}>[]>; + modelName: string; + populate(docs: any[], options: string | import("mongoose").PopulateOptions | import("mongoose").PopulateOptions[], callback?: import("mongoose").Callback<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>): Promise<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[]>; + populate(doc: any, options: string | import("mongoose").PopulateOptions | import("mongoose").PopulateOptions[], callback?: import("mongoose").Callback & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>): Promise & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>; + validate(callback?: import("mongoose").CallbackWithoutResult): Promise; + validate(optional: any, callback?: import("mongoose").CallbackWithoutResult): Promise; + validate(optional: any, pathsToValidate: import("mongoose").PathsToValidate, callback?: import("mongoose").CallbackWithoutResult): Promise; + watch(pipeline?: Record[], options?: import("mongodb").ChangeStreamOptions & { + hydrate?: boolean; + }): import("mongodb").ChangeStream>; + $where(argument: string | Function): import("mongoose").Query<(import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + })[], import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + discriminators: { + [name: string]: import("mongoose").Model; + }; + translateAliases(raw: any): any; + distinct(field: string, filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + estimatedDocumentCount(options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + exists(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback: import("mongoose").Callback<{ + _id: import("mongoose").Types.ObjectId; + }>): import("mongoose").Query, "_id">, import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + exists(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>): import("mongoose").Query<{ + _id: import("mongoose").Types.ObjectId; + }, import("mongoose").Document & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + find & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + find & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, projection?: import("mongoose").ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + find & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + find & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(callback?: import("mongoose").Callback): import("mongoose").Query; + findByIdAndDelete & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id?: any, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_9, res: any) => void): import("mongoose").Query; + findByIdAndRemove & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id?: any, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_10, res: any) => void): import("mongoose").Query; + findByIdAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + rawResult: true; + }, callback?: (err: NativeError, doc: any, res: any) => void): import("mongoose").Query, ResultDoc_11, {}, { + cID: string; + for: string; + name?: string; + }>; + findByIdAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + upsert: true; + } & import("mongoose").ReturnsNewDoc, callback?: (err: NativeError, doc: ResultDoc_12, res: any) => void): import("mongoose").Query; + findByIdAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id?: any, update?: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_13, res: any) => void): import("mongoose").Query; + findByIdAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(id: any, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, callback: (err: NativeError, doc: ResultDoc_14, res: any) => void): import("mongoose").Query; + findOneAndDelete & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_15, res: any) => void): import("mongoose").Query; + findOneAndRemove & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_16, res: any) => void): import("mongoose").Query; + findOneAndReplace & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, replacement: import("mongoose").AnyObject | { + cID: string; + for: string; + name?: string; + }, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + rawResult: true; + }, callback?: (err: NativeError, doc: any, res: any) => void): import("mongoose").Query, ResultDoc_17, {}, { + cID: string; + for: string; + name?: string; + }>; + findOneAndReplace & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, replacement: import("mongoose").AnyObject | { + cID: string; + for: string; + name?: string; + }, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + upsert: true; + } & import("mongoose").ReturnsNewDoc, callback?: (err: NativeError, doc: ResultDoc_18, res: any) => void): import("mongoose").Query; + findOneAndReplace & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, replacement?: import("mongoose").AnyObject | { + cID: string; + for: string; + name?: string; + }, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_19, res: any) => void): import("mongoose").Query; + findOneAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + rawResult: true; + }, callback?: (err: NativeError, doc: any, res: any) => void): import("mongoose").Query, ResultDoc_20, {}, { + cID: string; + for: string; + name?: string; + }>; + findOneAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + upsert: true; + } & import("mongoose").ReturnsNewDoc, callback?: (err: NativeError, doc: ResultDoc_21, res: any) => void): import("mongoose").Query; + findOneAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update?: import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: { + cID: string; + for: string; + name?: string; + }, res: any) => void): import("mongoose").Query; + geoSearch & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").GeoSearchOptions, callback?: import("mongoose").Callback): import("mongoose").Query; + mapReduce(o: import("mongoose").MapReduceOptions<{ + cID: string; + for: string; + name?: string; + }, Key, Value>, callback?: import("mongoose").Callback): Promise; + remove & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: any, callback?: import("mongoose").CallbackWithoutResult): import("mongoose").Query; + remove & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: any, options?: import("mongoose").RemoveOptions, callback?: import("mongoose").CallbackWithoutResult): import("mongoose").Query; + replaceOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, replacement?: import("mongoose").AnyObject | { + cID: string; + for: string; + name?: string; + }, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + schema: import("mongoose").Schema<{ + cID: string; + for: string; + name?: string; + }, import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, any, any, any, any>, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>; + update & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update?: import("mongoose").UpdateWithAggregationPipeline | import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + updateMany & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update?: import("mongoose").UpdateWithAggregationPipeline | import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + updateOne & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(filter?: import("mongoose").FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update?: import("mongoose").UpdateWithAggregationPipeline | import("mongoose").UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: import("mongoose").QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: import("mongoose").Callback): import("mongoose").Query; + where & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(path: string, val?: any): import("mongoose").Query; + where & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(obj: object): import("mongoose").Query; + where & { + cID: string; + for: string; + name?: string; + } & { + _id: import("mongoose").Types.ObjectId; + }>(): import("mongoose").Query; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + on(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + once(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + off(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + removeAllListeners(event?: string | symbol): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + setMaxListeners(n: number): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + getMaxListeners(): number; + listeners(eventName: string | symbol): Function[]; + rawListeners(eventName: string | symbol): Function[]; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount(eventName: string | symbol): number; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): import("mongoose").Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, import("mongoose").Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + eventNames(): (string | symbol)[]; + discriminator(name: string | number, schema: import("mongoose").Schema, {}, {}, {}, {}, "type", { + [x: string]: any; + }>, value?: string | number | import("mongoose").Schema.Types.ObjectId | import("mongoose").DiscriminatorOptions): import("mongoose").Model; + discriminator(name: string | number, schema: import("mongoose").Schema>, value?: string | number | import("mongoose").Schema.Types.ObjectId | import("mongoose").DiscriminatorOptions): U; + createIndexes(options: import("mongodb").CreateIndexesOptions, callback: import("mongoose").CallbackWithoutResult): void; + createIndexes(callback: import("mongoose").CallbackWithoutResult): void; + createIndexes(options?: import("mongodb").CreateIndexesOptions): Promise; + diffIndexes(options: Record, callback: import("mongoose").Callback): void; + diffIndexes(callback: import("mongoose").Callback): void; + diffIndexes(options?: Record): Promise; + ensureIndexes(options: import("mongodb").CreateIndexesOptions, callback: import("mongoose").CallbackWithoutResult): void; + ensureIndexes(callback: import("mongoose").CallbackWithoutResult): void; + ensureIndexes(options?: import("mongodb").CreateIndexesOptions): Promise; + listIndexes(callback: import("mongoose").Callback): void; + listIndexes(): Promise; + syncIndexes(options: import("mongoose").SyncIndexesOptions, callback: import("mongoose").Callback): void; + syncIndexes(options?: import("mongoose").SyncIndexesOptions): Promise; + startSession(options: import("mongodb").ClientSessionOptions, callback: import("mongoose").Callback): void; + startSession(callback: import("mongoose").Callback): void; + startSession(options?: import("mongodb").ClientSessionOptions): Promise; + get: (callback: any, limit: any) => void; + }>; +} +import { ClientOptions } from "discord.js"; +/** + * AniList Client -> Search Functions + */ +declare class AnimeInfo { + /** + * + * @param {String} title + * @param {String} status + * @param {String} episodes + * @param {String} trailer + * @param {String} description + * @param {String} coverImage + */ + constructor(title: string, status: string, episodes: string, trailer: string, description: string, coverImage: string); + title: string; + status: string; + episodes: string; + trailer: string; + description: string; + coverImage: string; +} +declare class CharInfo { + /** + * + * @param {String} name + * @param {String} gender + * @param {String} image + * @param {String} description + */ + constructor(name: string, gender: string, image: string, description: string); + name: string; + gender: string; + image: string; + description: string; +} +declare class MangaInfo { + /** + * + * @param {String} title + * @param {String} status + * @param {String} description + * @param {String} coverImage + */ + constructor(title: string, status: string, description: string, coverImage: string); + title: string; + status: string; + description: string; + coverImage: string; +} +export { GatewayIntentBits, Partials, ActivityType, Message, command as Command, _Client as Client, aniListCli as aniList }; +//# sourceMappingURL=lib.d.ts.map \ No newline at end of file diff --git a/dist/lib.d.ts.map b/dist/lib.d.ts.map new file mode 100644 index 0000000..b8f37c4 --- /dev/null +++ b/dist/lib.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../lib.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA;IAEI;;;OAGG;IACH,oBAHW,OAAO,WACP,cAAc,EAUxB;IANG,aAAwB;IACxB,kBAA+B;IAC/B,oBAAsC;IACtC,oBAAmC;IACnC,gBAA4B;IAC5B,gBAAoB;CAE3B;AAKD;IAEI;;;OAGG;IACH,qBAFW,aAAa,EAgCvB;IA3BG,gBAAkB;IAwBlB,yBAAwC;IACxC,qBAAoC;IAGxC;;;;OAIG;IACH,gCAmBC;IACD;;;;OAIG;IACH,sBAFa,OAAO,CAKnB;IACD,4BA0BC;CAEJ;;;;;;;;AAWD;IAEI;;;OAGG;IACH,+BAGC;IADG,gBAAwB;CAE/B;AAoBD;IAEI;;OAEG;IACH,oBAFW,OAAO,EAKjB;IADG,gBAAoB;IAExB;;;;;OAKG;IACH;;;;;;gBAHW,OAAO,iBACP,QAAQ,iBA2DlB;CAEJ;AA6DD;IACI;;;;OAIG;IACH,yBAFa,SAAS,CAgErB;IACD;;;;OAIG;IACH,wBAFa,QAAQ,CAyDpB;IACD;;;;OAIG;IACH,yBAFa,SAAS,CAyDrB;CAEJ;AA1fD;IAEI;;;;;;;OAOG;IACH,mCALW,QAAQ,6DAYlB;IALG,aAAgB;IAChB,kBAAsB;IACtB,oBAA8B;IAC9B,oBAA4B;IAC5B,gBAAoB;CAE3B;;AA4eD;IAEI;;;OAGG;IACH,oBAFW,OAAO,EAUjB;IANG,gBAAoB;IAOxB,wBAmEC;IAhEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAoD;IAiEvD;;;MAGE;IACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkBC;CACN;AAwBD;IAEI;;;OAGG;IACH,oBAFW,OAAO,EASjB;IALG,gBAAoB;IAMxB,wBA0EC;IAvEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAoD;IAwExD;;;OAGG;IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkBC;CACJ;;AAjfD;;GAEG;AACH;IAEI;;;;;;;;OAQG;IACH,uHAQC;IANG,cAAkB;IAClB,eAAoB;IACpB,iBAAsB;IACtB,gBAAsB;IACtB,oBAA8B;IAC9B,mBAA4B;CAEnC;AACD;IAEI;;;;;;OAMG;IACH,8EAMC;IAJG,aAAgB;IAChB,eAAoB;IACpB,cAAgB;IAChB,oBAA8B;CAErC;AACD;IAEI;;;;;;OAMG;IACH,oFAMC;IAJG,cAAkB;IAClB,eAAoB;IACpB,oBAA8B;IAC9B,mBAA4B;CAEnC"} \ No newline at end of file diff --git a/dist/models/channels.d.ts b/dist/models/channels.d.ts new file mode 100644 index 0000000..eb72f67 --- /dev/null +++ b/dist/models/channels.d.ts @@ -0,0 +1,1677 @@ +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +declare const _exports: { + new (doc?: DocType, fields?: any, options?: boolean | mongoose.AnyObject): mongoose.Document & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }; + aggregate(pipeline?: mongoose.PipelineStage[], options?: import("mongodb").AggregateOptions, callback?: mongoose.Callback): mongoose.Aggregate; + aggregate(pipeline: mongoose.PipelineStage[], callback?: mongoose.Callback): mongoose.Aggregate; + base: typeof mongoose; + baseModelName: string; + castObject(obj: mongoose.AnyObject, options?: { + ignoreCastErrors?: boolean; + }): { + cID: string; + for: string; + name?: string; + }; + bulkWrite(writes: import("mongodb").AnyBulkWriteOperation<{ + cID: string; + for: string; + name?: string; + }>[], options: import("mongodb").BulkWriteOptions & mongoose.MongooseBulkWriteOptions, callback: mongoose.Callback): void; + bulkWrite(writes: import("mongodb").AnyBulkWriteOperation<{ + cID: string; + for: string; + name?: string; + }>[], callback: mongoose.Callback): void; + bulkWrite(writes: import("mongodb").AnyBulkWriteOperation<{ + cID: string; + for: string; + name?: string; + }>[], options?: import("mongodb").BulkWriteOptions & mongoose.MongooseBulkWriteOptions): Promise; + bulkSave(documents: mongoose.Document[], options?: import("mongodb").BulkWriteOptions & { + timestamps?: boolean; + }): Promise; + collection: mongoose.Collection; + count(callback?: mongoose.Callback): mongoose.Query & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + count(filter: mongoose.FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback?: mongoose.Callback): mongoose.Query & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + countDocuments(filter: mongoose.FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: mongoose.QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: mongoose.Callback): mongoose.Query & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + countDocuments(callback?: mongoose.Callback): mongoose.Query & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + create>(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents)[], options?: mongoose.SaveOptions): Promise<(mongoose.Document & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + })[]>; + create>(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_1)[], options?: mongoose.SaveOptions, callback?: mongoose.Callback<(mongoose.Document & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + })[]>): Promise<(mongoose.Document & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + })[]>; + create>(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_2)[], callback: mongoose.Callback<(mongoose.Document & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + })[]>): void; + create>(doc: { + cID: string; + for: string; + name?: string; + } | DocContents_3): Promise & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>; + create>(...docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_4)[]): Promise<(mongoose.Document & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + })[]>; + create>(doc: { + cID: string; + for: string; + name?: string; + } | DocContents_5, callback: mongoose.Callback & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>): void; + createCollection(options: import("mongodb").CreateCollectionOptions & Pick, "expires">, callback: mongoose.Callback>): void; + createCollection(callback: mongoose.Callback>): void; + createCollection(options?: import("mongodb").CreateCollectionOptions & Pick, "expires">): Promise>; + db: mongoose.Connection; + deleteMany(filter?: mongoose.FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: mongoose.QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: mongoose.CallbackWithoutResult): mongoose.Query & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteMany(filter: mongoose.FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback: mongoose.CallbackWithoutResult): mongoose.Query & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteMany(callback: mongoose.CallbackWithoutResult): mongoose.Query & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteOne(filter?: mongoose.FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: mongoose.QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: mongoose.CallbackWithoutResult): mongoose.Query & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteOne(filter: mongoose.FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback: mongoose.CallbackWithoutResult): mongoose.Query & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + deleteOne(callback: mongoose.CallbackWithoutResult): mongoose.Query & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + events: NodeJS.EventEmitter; + findById & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(id: any, projection?: mongoose.ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, options?: mongoose.QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: mongoose.Callback): mongoose.Query; + findById & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(id: any, projection?: mongoose.ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, callback?: mongoose.Callback): mongoose.Query; + findOne & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, projection?: mongoose.ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, options?: mongoose.QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: mongoose.Callback): mongoose.Query; + findOne & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, projection?: mongoose.ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, callback?: mongoose.Callback): mongoose.Query; + findOne & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback?: mongoose.Callback): mongoose.Query; + hydrate(obj: any, projection?: mongoose.AnyObject, options?: { + setters?: boolean; + }): mongoose.Document & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }; + init(callback?: mongoose.CallbackWithoutResult): Promise & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_6)[], options: mongoose.InsertManyOptions & { + lean: true; + }, callback: mongoose.Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>[]>): void; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_7)[], options: mongoose.InsertManyOptions & { + rawResult: true; + }, callback: mongoose.Callback>): void; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_8)[], callback: mongoose.Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>, {}, {}>[]>): void; + insertMany(doc: DocContents_9, options: mongoose.InsertManyOptions & { + lean: true; + }, callback: mongoose.Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>[]>): void; + insertMany(doc: DocContents_10, options: mongoose.InsertManyOptions & { + rawResult: true; + }, callback: mongoose.Callback>): void; + insertMany(doc: DocContents_11, options: mongoose.InsertManyOptions & { + lean?: false; + }, callback: mongoose.Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>, {}, {}>[]>): void; + insertMany(doc: DocContents_12, callback: mongoose.Callback, { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>, {}, {}>[]>): void; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_13)[], options: mongoose.InsertManyOptions & { + lean: true; + }): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>[]>; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_14)[], options: mongoose.InsertManyOptions & { + rawResult: true; + }): Promise>; + insertMany(docs: ({ + cID: string; + for: string; + name?: string; + } | DocContents_15)[]): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>, {}, {}>[]>; + insertMany(doc: DocContents_16, options: mongoose.InsertManyOptions & { + lean: true; + }): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>[]>; + insertMany(doc: DocContents_17, options: mongoose.InsertManyOptions & { + rawResult: true; + }): Promise>; + insertMany(doc: DocContents_18, options: mongoose.InsertManyOptions): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>, {}, {}>[]>; + insertMany(doc: DocContents_19): Promise, { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>, {}, {}>[]>; + modelName: string; + populate(docs: any[], options: string | mongoose.PopulateOptions | mongoose.PopulateOptions[], callback?: mongoose.Callback<(mongoose.Document & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + })[]>): Promise<(mongoose.Document & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + })[]>; + populate(doc: any, options: string | mongoose.PopulateOptions | mongoose.PopulateOptions[], callback?: mongoose.Callback & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>): Promise & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>; + validate(callback?: mongoose.CallbackWithoutResult): Promise; + validate(optional: any, callback?: mongoose.CallbackWithoutResult): Promise; + validate(optional: any, pathsToValidate: mongoose.PathsToValidate, callback?: mongoose.CallbackWithoutResult): Promise; + watch(pipeline?: Record[], options?: import("mongodb").ChangeStreamOptions & { + hydrate?: boolean; + }): import("mongodb").ChangeStream>; + $where(argument: string | Function): mongoose.Query<(mongoose.Document & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + })[], mongoose.Document & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + discriminators: { + [name: string]: mongoose.Model; + }; + translateAliases(raw: any): any; + distinct(field: string, filter?: mongoose.FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback?: mongoose.Callback): mongoose.Query & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + estimatedDocumentCount(options?: mongoose.QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: mongoose.Callback): mongoose.Query & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + exists(filter: mongoose.FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback: mongoose.Callback<{ + _id: mongoose.Types.ObjectId; + }>): mongoose.Query, "_id">, mongoose.Document & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + exists(filter: mongoose.FilterQuery<{ + cID: string; + for: string; + name?: string; + }>): mongoose.Query<{ + _id: mongoose.Types.ObjectId; + }, mongoose.Document & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + cID: string; + for: string; + name?: string; + }>; + find & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter: mongoose.FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, projection?: mongoose.ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, options?: mongoose.QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: mongoose.Callback): mongoose.Query; + find & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter: mongoose.FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, projection?: mongoose.ProjectionType<{ + cID: string; + for: string; + name?: string; + }>, callback?: mongoose.Callback): mongoose.Query; + find & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter: mongoose.FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, callback?: mongoose.Callback): mongoose.Query; + find & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(callback?: mongoose.Callback): mongoose.Query; + findByIdAndDelete & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(id?: any, options?: mongoose.QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_9, res: any) => void): mongoose.Query; + findByIdAndRemove & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(id?: any, options?: mongoose.QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_10, res: any) => void): mongoose.Query; + findByIdAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(id: any, update: mongoose.UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options: mongoose.QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + rawResult: true; + }, callback?: (err: NativeError, doc: any, res: any) => void): mongoose.Query, ResultDoc_11, {}, { + cID: string; + for: string; + name?: string; + }>; + findByIdAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(id: any, update: mongoose.UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options: mongoose.QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + upsert: true; + } & mongoose.ReturnsNewDoc, callback?: (err: NativeError, doc: ResultDoc_12, res: any) => void): mongoose.Query; + findByIdAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(id?: any, update?: mongoose.UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: mongoose.QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_13, res: any) => void): mongoose.Query; + findByIdAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(id: any, update: mongoose.UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, callback: (err: NativeError, doc: ResultDoc_14, res: any) => void): mongoose.Query; + findOneAndDelete & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: mongoose.QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_15, res: any) => void): mongoose.Query; + findOneAndRemove & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: mongoose.QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_16, res: any) => void): mongoose.Query; + findOneAndReplace & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter: mongoose.FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, replacement: mongoose.AnyObject | { + cID: string; + for: string; + name?: string; + }, options: mongoose.QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + rawResult: true; + }, callback?: (err: NativeError, doc: any, res: any) => void): mongoose.Query, ResultDoc_17, {}, { + cID: string; + for: string; + name?: string; + }>; + findOneAndReplace & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter: mongoose.FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, replacement: mongoose.AnyObject | { + cID: string; + for: string; + name?: string; + }, options: mongoose.QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + upsert: true; + } & mongoose.ReturnsNewDoc, callback?: (err: NativeError, doc: ResultDoc_18, res: any) => void): mongoose.Query; + findOneAndReplace & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, replacement?: mongoose.AnyObject | { + cID: string; + for: string; + name?: string; + }, options?: mongoose.QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_19, res: any) => void): mongoose.Query; + findOneAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter: mongoose.FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update: mongoose.UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options: mongoose.QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + rawResult: true; + }, callback?: (err: NativeError, doc: any, res: any) => void): mongoose.Query, ResultDoc_20, {}, { + cID: string; + for: string; + name?: string; + }>; + findOneAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter: mongoose.FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update: mongoose.UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options: mongoose.QueryOptions<{ + cID: string; + for: string; + name?: string; + }> & { + upsert: true; + } & mongoose.ReturnsNewDoc, callback?: (err: NativeError, doc: ResultDoc_21, res: any) => void): mongoose.Query; + findOneAndUpdate & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update?: mongoose.UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: mongoose.QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: (err: NativeError, doc: { + cID: string; + for: string; + name?: string; + }, res: any) => void): mongoose.Query; + geoSearch & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: mongoose.GeoSearchOptions, callback?: mongoose.Callback): mongoose.Query; + mapReduce(o: mongoose.MapReduceOptions<{ + cID: string; + for: string; + name?: string; + }, Key, Value>, callback?: mongoose.Callback): Promise; + remove & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: any, callback?: mongoose.CallbackWithoutResult): mongoose.Query; + remove & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: any, options?: mongoose.RemoveOptions, callback?: mongoose.CallbackWithoutResult): mongoose.Query; + replaceOne & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, replacement?: mongoose.AnyObject | { + cID: string; + for: string; + name?: string; + }, options?: mongoose.QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: mongoose.Callback): mongoose.Query; + schema: mongoose.Schema<{ + cID: string; + for: string; + name?: string; + }, mongoose.Model<{ + cID: string; + for: string; + name?: string; + }, any, any, any, any>, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>; + update & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update?: mongoose.UpdateWithAggregationPipeline | mongoose.UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: mongoose.QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: mongoose.Callback): mongoose.Query; + updateMany & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update?: mongoose.UpdateWithAggregationPipeline | mongoose.UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: mongoose.QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: mongoose.Callback): mongoose.Query; + updateOne & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + cID: string; + for: string; + name?: string; + }>, update?: mongoose.UpdateWithAggregationPipeline | mongoose.UpdateQuery<{ + cID: string; + for: string; + name?: string; + }>, options?: mongoose.QueryOptions<{ + cID: string; + for: string; + name?: string; + }>, callback?: mongoose.Callback): mongoose.Query; + where & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(path: string, val?: any): mongoose.Query; + where & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(obj: object): mongoose.Query; + where & { + cID: string; + for: string; + name?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(): mongoose.Query; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): mongoose.Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, mongoose.Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + on(eventName: string | symbol, listener: (...args: any[]) => void): mongoose.Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, mongoose.Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + once(eventName: string | symbol, listener: (...args: any[]) => void): mongoose.Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, mongoose.Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): mongoose.Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, mongoose.Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + off(eventName: string | symbol, listener: (...args: any[]) => void): mongoose.Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, mongoose.Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + removeAllListeners(event?: string | symbol): mongoose.Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, mongoose.Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + setMaxListeners(n: number): mongoose.Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, mongoose.Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + getMaxListeners(): number; + listeners(eventName: string | symbol): Function[]; + rawListeners(eventName: string | symbol): Function[]; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount(eventName: string | symbol): number; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): mongoose.Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, mongoose.Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): mongoose.Model<{ + cID: string; + for: string; + name?: string; + }, {}, {}, {}, mongoose.Schema, {}, {}, {}, {}, "type", { + cID: string; + for: string; + name?: string; + }>>; + eventNames(): (string | symbol)[]; + discriminator(name: string | number, schema: mongoose.Schema, {}, {}, {}, {}, "type", { + [x: string]: any; + }>, value?: string | number | mongoose.Schema.Types.ObjectId | mongoose.DiscriminatorOptions): mongoose.Model; + discriminator(name: string | number, schema: mongoose.Schema>, value?: string | number | mongoose.Schema.Types.ObjectId | mongoose.DiscriminatorOptions): U; + createIndexes(options: import("mongodb").CreateIndexesOptions, callback: mongoose.CallbackWithoutResult): void; + createIndexes(callback: mongoose.CallbackWithoutResult): void; + createIndexes(options?: import("mongodb").CreateIndexesOptions): Promise; + diffIndexes(options: Record, callback: mongoose.Callback): void; + diffIndexes(callback: mongoose.Callback): void; + diffIndexes(options?: Record): Promise; + ensureIndexes(options: import("mongodb").CreateIndexesOptions, callback: mongoose.CallbackWithoutResult): void; + ensureIndexes(callback: mongoose.CallbackWithoutResult): void; + ensureIndexes(options?: import("mongodb").CreateIndexesOptions): Promise; + listIndexes(callback: mongoose.Callback): void; + listIndexes(): Promise; + syncIndexes(options: mongoose.SyncIndexesOptions, callback: mongoose.Callback): void; + syncIndexes(options?: mongoose.SyncIndexesOptions): Promise; + startSession(options: import("mongodb").ClientSessionOptions, callback: mongoose.Callback): void; + startSession(callback: mongoose.Callback): void; + startSession(options?: import("mongodb").ClientSessionOptions): Promise; + get: (callback: any, limit: any) => void; +}; +export = _exports; +export function get(callback: any, limit: any): void; +import mongoose = require("mongoose"); +//# sourceMappingURL=channels.d.ts.map \ No newline at end of file diff --git a/dist/models/channels.d.ts.map b/dist/models/channels.d.ts.map new file mode 100644 index 0000000..77c5ffe --- /dev/null +++ b/dist/models/channels.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../../models/channels.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBqB,qDAGpB"} \ No newline at end of file diff --git a/dist/models/mcommands.d.ts b/dist/models/mcommands.d.ts new file mode 100644 index 0000000..135a962 --- /dev/null +++ b/dist/models/mcommands.d.ts @@ -0,0 +1,2008 @@ +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +declare const _exports: { + new (doc?: DocType, fields?: any, options?: boolean | mongoose.AnyObject): mongoose.Document & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }; + aggregate(pipeline?: mongoose.PipelineStage[], options?: import("mongodb").AggregateOptions, callback?: mongoose.Callback): mongoose.Aggregate; + aggregate(pipeline: mongoose.PipelineStage[], callback?: mongoose.Callback): mongoose.Aggregate; + base: typeof mongoose; + baseModelName: string; + castObject(obj: mongoose.AnyObject, options?: { + ignoreCastErrors?: boolean; + }): { + guild: string; + command: string; + voice: string; + textchannel: string; + }; + bulkWrite(writes: import("mongodb").AnyBulkWriteOperation<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>[], options: import("mongodb").BulkWriteOptions & mongoose.MongooseBulkWriteOptions, callback: mongoose.Callback): void; + bulkWrite(writes: import("mongodb").AnyBulkWriteOperation<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>[], callback: mongoose.Callback): void; + bulkWrite(writes: import("mongodb").AnyBulkWriteOperation<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>[], options?: import("mongodb").BulkWriteOptions & mongoose.MongooseBulkWriteOptions): Promise; + bulkSave(documents: mongoose.Document[], options?: import("mongodb").BulkWriteOptions & { + timestamps?: boolean; + }): Promise; + collection: mongoose.Collection; + count(callback?: mongoose.Callback): mongoose.Query & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + command: string; + voice: string; + textchannel: string; + }>; + count(filter: mongoose.FilterQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback?: mongoose.Callback): mongoose.Query & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + command: string; + voice: string; + textchannel: string; + }>; + countDocuments(filter: mongoose.FilterQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, options?: mongoose.QueryOptions<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback?: mongoose.Callback): mongoose.Query & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + command: string; + voice: string; + textchannel: string; + }>; + countDocuments(callback?: mongoose.Callback): mongoose.Query & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + command: string; + voice: string; + textchannel: string; + }>; + create>(docs: ({ + guild: string; + command: string; + voice: string; + textchannel: string; + } | DocContents)[], options?: mongoose.SaveOptions): Promise<(mongoose.Document & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + })[]>; + create>(docs: ({ + guild: string; + command: string; + voice: string; + textchannel: string; + } | DocContents_1)[], options?: mongoose.SaveOptions, callback?: mongoose.Callback<(mongoose.Document & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + })[]>): Promise<(mongoose.Document & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + })[]>; + create>(docs: ({ + guild: string; + command: string; + voice: string; + textchannel: string; + } | DocContents_2)[], callback: mongoose.Callback<(mongoose.Document & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + })[]>): void; + create>(doc: { + guild: string; + command: string; + voice: string; + textchannel: string; + } | DocContents_3): Promise & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>; + create>(...docs: ({ + guild: string; + command: string; + voice: string; + textchannel: string; + } | DocContents_4)[]): Promise<(mongoose.Document & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + })[]>; + create>(doc: { + guild: string; + command: string; + voice: string; + textchannel: string; + } | DocContents_5, callback: mongoose.Callback & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>): void; + createCollection(options: import("mongodb").CreateCollectionOptions & Pick, "expires">, callback: mongoose.Callback>): void; + createCollection(callback: mongoose.Callback>): void; + createCollection(options?: import("mongodb").CreateCollectionOptions & Pick, "expires">): Promise>; + db: mongoose.Connection; + deleteMany(filter?: mongoose.FilterQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, options?: mongoose.QueryOptions<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback?: mongoose.CallbackWithoutResult): mongoose.Query & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + command: string; + voice: string; + textchannel: string; + }>; + deleteMany(filter: mongoose.FilterQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback: mongoose.CallbackWithoutResult): mongoose.Query & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + command: string; + voice: string; + textchannel: string; + }>; + deleteMany(callback: mongoose.CallbackWithoutResult): mongoose.Query & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + command: string; + voice: string; + textchannel: string; + }>; + deleteOne(filter?: mongoose.FilterQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, options?: mongoose.QueryOptions<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback?: mongoose.CallbackWithoutResult): mongoose.Query & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + command: string; + voice: string; + textchannel: string; + }>; + deleteOne(filter: mongoose.FilterQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback: mongoose.CallbackWithoutResult): mongoose.Query & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + command: string; + voice: string; + textchannel: string; + }>; + deleteOne(callback: mongoose.CallbackWithoutResult): mongoose.Query & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + command: string; + voice: string; + textchannel: string; + }>; + events: NodeJS.EventEmitter; + findById & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(id: any, projection?: mongoose.ProjectionType<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, options?: mongoose.QueryOptions<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback?: mongoose.Callback): mongoose.Query; + findById & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(id: any, projection?: mongoose.ProjectionType<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback?: mongoose.Callback): mongoose.Query; + findOne & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, projection?: mongoose.ProjectionType<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, options?: mongoose.QueryOptions<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback?: mongoose.Callback): mongoose.Query; + findOne & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, projection?: mongoose.ProjectionType<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback?: mongoose.Callback): mongoose.Query; + findOne & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback?: mongoose.Callback): mongoose.Query; + hydrate(obj: any, projection?: mongoose.AnyObject, options?: { + setters?: boolean; + }): mongoose.Document & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }; + init(callback?: mongoose.CallbackWithoutResult): Promise & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>; + insertMany(docs: ({ + guild: string; + command: string; + voice: string; + textchannel: string; + } | DocContents_6)[], options: mongoose.InsertManyOptions & { + lean: true; + }, callback: mongoose.Callback, { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>[]>): void; + insertMany(docs: ({ + guild: string; + command: string; + voice: string; + textchannel: string; + } | DocContents_7)[], options: mongoose.InsertManyOptions & { + rawResult: true; + }, callback: mongoose.Callback>): void; + insertMany(docs: ({ + guild: string; + command: string; + voice: string; + textchannel: string; + } | DocContents_8)[], callback: mongoose.Callback, { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>, {}, {}>[]>): void; + insertMany(doc: DocContents_9, options: mongoose.InsertManyOptions & { + lean: true; + }, callback: mongoose.Callback, { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>[]>): void; + insertMany(doc: DocContents_10, options: mongoose.InsertManyOptions & { + rawResult: true; + }, callback: mongoose.Callback>): void; + insertMany(doc: DocContents_11, options: mongoose.InsertManyOptions & { + lean?: false; + }, callback: mongoose.Callback, { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>, {}, {}>[]>): void; + insertMany(doc: DocContents_12, callback: mongoose.Callback, { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>, {}, {}>[]>): void; + insertMany(docs: ({ + guild: string; + command: string; + voice: string; + textchannel: string; + } | DocContents_13)[], options: mongoose.InsertManyOptions & { + lean: true; + }): Promise, { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>[]>; + insertMany(docs: ({ + guild: string; + command: string; + voice: string; + textchannel: string; + } | DocContents_14)[], options: mongoose.InsertManyOptions & { + rawResult: true; + }): Promise>; + insertMany(docs: ({ + guild: string; + command: string; + voice: string; + textchannel: string; + } | DocContents_15)[]): Promise, { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>, {}, {}>[]>; + insertMany(doc: DocContents_16, options: mongoose.InsertManyOptions & { + lean: true; + }): Promise, { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>[]>; + insertMany(doc: DocContents_17, options: mongoose.InsertManyOptions & { + rawResult: true; + }): Promise>; + insertMany(doc: DocContents_18, options: mongoose.InsertManyOptions): Promise, { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>, {}, {}>[]>; + insertMany(doc: DocContents_19): Promise, { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>, {}, {}>[]>; + modelName: string; + populate(docs: any[], options: string | mongoose.PopulateOptions | mongoose.PopulateOptions[], callback?: mongoose.Callback<(mongoose.Document & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + })[]>): Promise<(mongoose.Document & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + })[]>; + populate(doc: any, options: string | mongoose.PopulateOptions | mongoose.PopulateOptions[], callback?: mongoose.Callback & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>): Promise & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>; + validate(callback?: mongoose.CallbackWithoutResult): Promise; + validate(optional: any, callback?: mongoose.CallbackWithoutResult): Promise; + validate(optional: any, pathsToValidate: mongoose.PathsToValidate, callback?: mongoose.CallbackWithoutResult): Promise; + watch(pipeline?: Record[], options?: import("mongodb").ChangeStreamOptions & { + hydrate?: boolean; + }): import("mongodb").ChangeStream>; + $where(argument: string | Function): mongoose.Query<(mongoose.Document & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + })[], mongoose.Document & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + command: string; + voice: string; + textchannel: string; + }>; + discriminators: { + [name: string]: mongoose.Model; + }; + translateAliases(raw: any): any; + distinct(field: string, filter?: mongoose.FilterQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback?: mongoose.Callback): mongoose.Query & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + command: string; + voice: string; + textchannel: string; + }>; + estimatedDocumentCount(options?: mongoose.QueryOptions<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback?: mongoose.Callback): mongoose.Query & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + command: string; + voice: string; + textchannel: string; + }>; + exists(filter: mongoose.FilterQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback: mongoose.Callback<{ + _id: mongoose.Types.ObjectId; + }>): mongoose.Query, "_id">, mongoose.Document & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + command: string; + voice: string; + textchannel: string; + }>; + exists(filter: mongoose.FilterQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>): mongoose.Query<{ + _id: mongoose.Types.ObjectId; + }, mongoose.Document & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + command: string; + voice: string; + textchannel: string; + }>; + find & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter: mongoose.FilterQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, projection?: mongoose.ProjectionType<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, options?: mongoose.QueryOptions<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback?: mongoose.Callback): mongoose.Query; + find & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter: mongoose.FilterQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, projection?: mongoose.ProjectionType<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback?: mongoose.Callback): mongoose.Query; + find & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter: mongoose.FilterQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback?: mongoose.Callback): mongoose.Query; + find & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(callback?: mongoose.Callback): mongoose.Query; + findByIdAndDelete & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(id?: any, options?: mongoose.QueryOptions<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback?: (err: NativeError, doc: ResultDoc_9, res: any) => void): mongoose.Query; + findByIdAndRemove & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(id?: any, options?: mongoose.QueryOptions<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback?: (err: NativeError, doc: ResultDoc_10, res: any) => void): mongoose.Query; + findByIdAndUpdate & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(id: any, update: mongoose.UpdateQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, options: mongoose.QueryOptions<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }> & { + rawResult: true; + }, callback?: (err: NativeError, doc: any, res: any) => void): mongoose.Query, ResultDoc_11, {}, { + guild: string; + command: string; + voice: string; + textchannel: string; + }>; + findByIdAndUpdate & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(id: any, update: mongoose.UpdateQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, options: mongoose.QueryOptions<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }> & { + upsert: true; + } & mongoose.ReturnsNewDoc, callback?: (err: NativeError, doc: ResultDoc_12, res: any) => void): mongoose.Query; + findByIdAndUpdate & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(id?: any, update?: mongoose.UpdateQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, options?: mongoose.QueryOptions<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback?: (err: NativeError, doc: ResultDoc_13, res: any) => void): mongoose.Query; + findByIdAndUpdate & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(id: any, update: mongoose.UpdateQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback: (err: NativeError, doc: ResultDoc_14, res: any) => void): mongoose.Query; + findOneAndDelete & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, options?: mongoose.QueryOptions<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback?: (err: NativeError, doc: ResultDoc_15, res: any) => void): mongoose.Query; + findOneAndRemove & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, options?: mongoose.QueryOptions<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback?: (err: NativeError, doc: ResultDoc_16, res: any) => void): mongoose.Query; + findOneAndReplace & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter: mongoose.FilterQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, replacement: mongoose.AnyObject | { + guild: string; + command: string; + voice: string; + textchannel: string; + }, options: mongoose.QueryOptions<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }> & { + rawResult: true; + }, callback?: (err: NativeError, doc: any, res: any) => void): mongoose.Query, ResultDoc_17, {}, { + guild: string; + command: string; + voice: string; + textchannel: string; + }>; + findOneAndReplace & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter: mongoose.FilterQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, replacement: mongoose.AnyObject | { + guild: string; + command: string; + voice: string; + textchannel: string; + }, options: mongoose.QueryOptions<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }> & { + upsert: true; + } & mongoose.ReturnsNewDoc, callback?: (err: NativeError, doc: ResultDoc_18, res: any) => void): mongoose.Query; + findOneAndReplace & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, replacement?: mongoose.AnyObject | { + guild: string; + command: string; + voice: string; + textchannel: string; + }, options?: mongoose.QueryOptions<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback?: (err: NativeError, doc: ResultDoc_19, res: any) => void): mongoose.Query; + findOneAndUpdate & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter: mongoose.FilterQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, update: mongoose.UpdateQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, options: mongoose.QueryOptions<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }> & { + rawResult: true; + }, callback?: (err: NativeError, doc: any, res: any) => void): mongoose.Query, ResultDoc_20, {}, { + guild: string; + command: string; + voice: string; + textchannel: string; + }>; + findOneAndUpdate & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter: mongoose.FilterQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, update: mongoose.UpdateQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, options: mongoose.QueryOptions<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }> & { + upsert: true; + } & mongoose.ReturnsNewDoc, callback?: (err: NativeError, doc: ResultDoc_21, res: any) => void): mongoose.Query; + findOneAndUpdate & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, update?: mongoose.UpdateQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, options?: mongoose.QueryOptions<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback?: (err: NativeError, doc: { + guild: string; + command: string; + voice: string; + textchannel: string; + }, res: any) => void): mongoose.Query; + geoSearch & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, options?: mongoose.GeoSearchOptions, callback?: mongoose.Callback): mongoose.Query; + mapReduce(o: mongoose.MapReduceOptions<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }, Key, Value>, callback?: mongoose.Callback): Promise; + remove & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: any, callback?: mongoose.CallbackWithoutResult): mongoose.Query; + remove & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: any, options?: mongoose.RemoveOptions, callback?: mongoose.CallbackWithoutResult): mongoose.Query; + replaceOne & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, replacement?: mongoose.AnyObject | { + guild: string; + command: string; + voice: string; + textchannel: string; + }, options?: mongoose.QueryOptions<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback?: mongoose.Callback): mongoose.Query; + schema: mongoose.Schema<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }, mongoose.Model<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }, any, any, any, any>, {}, {}, {}, {}, "type", { + guild: string; + command: string; + voice: string; + textchannel: string; + }>; + update & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, update?: mongoose.UpdateWithAggregationPipeline | mongoose.UpdateQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, options?: mongoose.QueryOptions<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback?: mongoose.Callback): mongoose.Query; + updateMany & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, update?: mongoose.UpdateWithAggregationPipeline | mongoose.UpdateQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, options?: mongoose.QueryOptions<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback?: mongoose.Callback): mongoose.Query; + updateOne & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, update?: mongoose.UpdateWithAggregationPipeline | mongoose.UpdateQuery<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, options?: mongoose.QueryOptions<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }>, callback?: mongoose.Callback): mongoose.Query; + where & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(path: string, val?: any): mongoose.Query; + where & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(obj: object): mongoose.Query; + where & { + guild: string; + command: string; + voice: string; + textchannel: string; + } & { + _id: mongoose.Types.ObjectId; + }>(): mongoose.Query; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): mongoose.Model<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }, {}, {}, {}, mongoose.Schema, {}, {}, {}, {}, "type", { + guild: string; + command: string; + voice: string; + textchannel: string; + }>>; + on(eventName: string | symbol, listener: (...args: any[]) => void): mongoose.Model<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }, {}, {}, {}, mongoose.Schema, {}, {}, {}, {}, "type", { + guild: string; + command: string; + voice: string; + textchannel: string; + }>>; + once(eventName: string | symbol, listener: (...args: any[]) => void): mongoose.Model<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }, {}, {}, {}, mongoose.Schema, {}, {}, {}, {}, "type", { + guild: string; + command: string; + voice: string; + textchannel: string; + }>>; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): mongoose.Model<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }, {}, {}, {}, mongoose.Schema, {}, {}, {}, {}, "type", { + guild: string; + command: string; + voice: string; + textchannel: string; + }>>; + off(eventName: string | symbol, listener: (...args: any[]) => void): mongoose.Model<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }, {}, {}, {}, mongoose.Schema, {}, {}, {}, {}, "type", { + guild: string; + command: string; + voice: string; + textchannel: string; + }>>; + removeAllListeners(event?: string | symbol): mongoose.Model<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }, {}, {}, {}, mongoose.Schema, {}, {}, {}, {}, "type", { + guild: string; + command: string; + voice: string; + textchannel: string; + }>>; + setMaxListeners(n: number): mongoose.Model<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }, {}, {}, {}, mongoose.Schema, {}, {}, {}, {}, "type", { + guild: string; + command: string; + voice: string; + textchannel: string; + }>>; + getMaxListeners(): number; + listeners(eventName: string | symbol): Function[]; + rawListeners(eventName: string | symbol): Function[]; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount(eventName: string | symbol): number; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): mongoose.Model<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }, {}, {}, {}, mongoose.Schema, {}, {}, {}, {}, "type", { + guild: string; + command: string; + voice: string; + textchannel: string; + }>>; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): mongoose.Model<{ + guild: string; + command: string; + voice: string; + textchannel: string; + }, {}, {}, {}, mongoose.Schema, {}, {}, {}, {}, "type", { + guild: string; + command: string; + voice: string; + textchannel: string; + }>>; + eventNames(): (string | symbol)[]; + discriminator(name: string | number, schema: mongoose.Schema, {}, {}, {}, {}, "type", { + [x: string]: any; + }>, value?: string | number | mongoose.Schema.Types.ObjectId | mongoose.DiscriminatorOptions): mongoose.Model; + discriminator(name: string | number, schema: mongoose.Schema>, value?: string | number | mongoose.Schema.Types.ObjectId | mongoose.DiscriminatorOptions): U; + createIndexes(options: import("mongodb").CreateIndexesOptions, callback: mongoose.CallbackWithoutResult): void; + createIndexes(callback: mongoose.CallbackWithoutResult): void; + createIndexes(options?: import("mongodb").CreateIndexesOptions): Promise; + diffIndexes(options: Record, callback: mongoose.Callback): void; + diffIndexes(callback: mongoose.Callback): void; + diffIndexes(options?: Record): Promise; + ensureIndexes(options: import("mongodb").CreateIndexesOptions, callback: mongoose.CallbackWithoutResult): void; + ensureIndexes(callback: mongoose.CallbackWithoutResult): void; + ensureIndexes(options?: import("mongodb").CreateIndexesOptions): Promise; + listIndexes(callback: mongoose.Callback): void; + listIndexes(): Promise; + syncIndexes(options: mongoose.SyncIndexesOptions, callback: mongoose.Callback): void; + syncIndexes(options?: mongoose.SyncIndexesOptions): Promise; + startSession(options: import("mongodb").ClientSessionOptions, callback: mongoose.Callback): void; + startSession(callback: mongoose.Callback): void; + startSession(options?: import("mongodb").ClientSessionOptions): Promise; + get: (callback: any, limit: any) => void; +}; +export = _exports; +export function get(callback: any, limit: any): void; +import mongoose = require("mongoose"); +//# sourceMappingURL=mcommands.d.ts.map \ No newline at end of file diff --git a/dist/models/mcommands.d.ts.map b/dist/models/mcommands.d.ts.map new file mode 100644 index 0000000..2b62c91 --- /dev/null +++ b/dist/models/mcommands.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"mcommands.d.ts","sourceRoot":"","sources":["../../models/mcommands.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBqB,qDAGpB"} \ No newline at end of file diff --git a/dist/models/queue.d.ts b/dist/models/queue.d.ts new file mode 100644 index 0000000..0aa43ae --- /dev/null +++ b/dist/models/queue.d.ts @@ -0,0 +1,3001 @@ +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +declare const _exports: { + new (doc?: DocType, fields?: any, options?: boolean | mongoose.AnyObject): mongoose.Document & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }; + aggregate(pipeline?: mongoose.PipelineStage[], options?: import("mongodb").AggregateOptions, callback?: mongoose.Callback): mongoose.Aggregate; + aggregate(pipeline: mongoose.PipelineStage[], callback?: mongoose.Callback): mongoose.Aggregate; + base: typeof mongoose; + baseModelName: string; + castObject(obj: mongoose.AnyObject, options?: { + ignoreCastErrors?: boolean; + }): { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }; + bulkWrite(writes: import("mongodb").AnyBulkWriteOperation<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>[], options: import("mongodb").BulkWriteOptions & mongoose.MongooseBulkWriteOptions, callback: mongoose.Callback): void; + bulkWrite(writes: import("mongodb").AnyBulkWriteOperation<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>[], callback: mongoose.Callback): void; + bulkWrite(writes: import("mongodb").AnyBulkWriteOperation<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>[], options?: import("mongodb").BulkWriteOptions & mongoose.MongooseBulkWriteOptions): Promise; + bulkSave(documents: mongoose.Document[], options?: import("mongodb").BulkWriteOptions & { + timestamps?: boolean; + }): Promise; + collection: mongoose.Collection; + count(callback?: mongoose.Callback): mongoose.Query & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>; + count(filter: mongoose.FilterQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback?: mongoose.Callback): mongoose.Query & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>; + countDocuments(filter: mongoose.FilterQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, options?: mongoose.QueryOptions<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback?: mongoose.Callback): mongoose.Query & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>; + countDocuments(callback?: mongoose.Callback): mongoose.Query & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>; + create>(docs: ({ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } | DocContents)[], options?: mongoose.SaveOptions): Promise<(mongoose.Document & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + })[]>; + create>(docs: ({ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } | DocContents_1)[], options?: mongoose.SaveOptions, callback?: mongoose.Callback<(mongoose.Document & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + })[]>): Promise<(mongoose.Document & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + })[]>; + create>(docs: ({ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } | DocContents_2)[], callback: mongoose.Callback<(mongoose.Document & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + })[]>): void; + create>(doc: { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } | DocContents_3): Promise & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>; + create>(...docs: ({ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } | DocContents_4)[]): Promise<(mongoose.Document & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + })[]>; + create>(doc: { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } | DocContents_5, callback: mongoose.Callback & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>): void; + createCollection(options: import("mongodb").CreateCollectionOptions & Pick, "expires">, callback: mongoose.Callback>): void; + createCollection(callback: mongoose.Callback>): void; + createCollection(options?: import("mongodb").CreateCollectionOptions & Pick, "expires">): Promise>; + db: mongoose.Connection; + deleteMany(filter?: mongoose.FilterQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, options?: mongoose.QueryOptions<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback?: mongoose.CallbackWithoutResult): mongoose.Query & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>; + deleteMany(filter: mongoose.FilterQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback: mongoose.CallbackWithoutResult): mongoose.Query & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>; + deleteMany(callback: mongoose.CallbackWithoutResult): mongoose.Query & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>; + deleteOne(filter?: mongoose.FilterQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, options?: mongoose.QueryOptions<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback?: mongoose.CallbackWithoutResult): mongoose.Query & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>; + deleteOne(filter: mongoose.FilterQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback: mongoose.CallbackWithoutResult): mongoose.Query & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>; + deleteOne(callback: mongoose.CallbackWithoutResult): mongoose.Query & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>; + events: NodeJS.EventEmitter; + findById & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(id: any, projection?: mongoose.ProjectionType<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, options?: mongoose.QueryOptions<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback?: mongoose.Callback): mongoose.Query; + findById & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(id: any, projection?: mongoose.ProjectionType<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback?: mongoose.Callback): mongoose.Query; + findOne & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, projection?: mongoose.ProjectionType<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, options?: mongoose.QueryOptions<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback?: mongoose.Callback): mongoose.Query; + findOne & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, projection?: mongoose.ProjectionType<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback?: mongoose.Callback): mongoose.Query; + findOne & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback?: mongoose.Callback): mongoose.Query; + hydrate(obj: any, projection?: mongoose.AnyObject, options?: { + setters?: boolean; + }): mongoose.Document & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }; + init(callback?: mongoose.CallbackWithoutResult): Promise & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>; + insertMany(docs: ({ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } | DocContents_6)[], options: mongoose.InsertManyOptions & { + lean: true; + }, callback: mongoose.Callback, { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>[]>): void; + insertMany(docs: ({ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } | DocContents_7)[], options: mongoose.InsertManyOptions & { + rawResult: true; + }, callback: mongoose.Callback>): void; + insertMany(docs: ({ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } | DocContents_8)[], callback: mongoose.Callback, { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>, {}, {}>[]>): void; + insertMany(doc: DocContents_9, options: mongoose.InsertManyOptions & { + lean: true; + }, callback: mongoose.Callback, { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>[]>): void; + insertMany(doc: DocContents_10, options: mongoose.InsertManyOptions & { + rawResult: true; + }, callback: mongoose.Callback>): void; + insertMany(doc: DocContents_11, options: mongoose.InsertManyOptions & { + lean?: false; + }, callback: mongoose.Callback, { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>, {}, {}>[]>): void; + insertMany(doc: DocContents_12, callback: mongoose.Callback, { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>, {}, {}>[]>): void; + insertMany(docs: ({ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } | DocContents_13)[], options: mongoose.InsertManyOptions & { + lean: true; + }): Promise, { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>[]>; + insertMany(docs: ({ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } | DocContents_14)[], options: mongoose.InsertManyOptions & { + rawResult: true; + }): Promise>; + insertMany(docs: ({ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } | DocContents_15)[]): Promise, { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>, {}, {}>[]>; + insertMany(doc: DocContents_16, options: mongoose.InsertManyOptions & { + lean: true; + }): Promise, { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>[]>; + insertMany(doc: DocContents_17, options: mongoose.InsertManyOptions & { + rawResult: true; + }): Promise>; + insertMany(doc: DocContents_18, options: mongoose.InsertManyOptions): Promise, { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>, {}, {}>[]>; + insertMany(doc: DocContents_19): Promise, { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>, {}, {}>[]>; + modelName: string; + populate(docs: any[], options: string | mongoose.PopulateOptions | mongoose.PopulateOptions[], callback?: mongoose.Callback<(mongoose.Document & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + })[]>): Promise<(mongoose.Document & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + })[]>; + populate(doc: any, options: string | mongoose.PopulateOptions | mongoose.PopulateOptions[], callback?: mongoose.Callback & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>): Promise & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>; + validate(callback?: mongoose.CallbackWithoutResult): Promise; + validate(optional: any, callback?: mongoose.CallbackWithoutResult): Promise; + validate(optional: any, pathsToValidate: mongoose.PathsToValidate, callback?: mongoose.CallbackWithoutResult): Promise; + watch(pipeline?: Record[], options?: import("mongodb").ChangeStreamOptions & { + hydrate?: boolean; + }): import("mongodb").ChangeStream>; + $where(argument: string | Function): mongoose.Query<(mongoose.Document & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + })[], mongoose.Document & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>; + discriminators: { + [name: string]: mongoose.Model; + }; + translateAliases(raw: any): any; + distinct(field: string, filter?: mongoose.FilterQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback?: mongoose.Callback): mongoose.Query & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>; + estimatedDocumentCount(options?: mongoose.QueryOptions<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback?: mongoose.Callback): mongoose.Query & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>; + exists(filter: mongoose.FilterQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback: mongoose.Callback<{ + _id: mongoose.Types.ObjectId; + }>): mongoose.Query, "_id">, mongoose.Document & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>; + exists(filter: mongoose.FilterQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>): mongoose.Query<{ + _id: mongoose.Types.ObjectId; + }, mongoose.Document & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }, {}, { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>; + find & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter: mongoose.FilterQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, projection?: mongoose.ProjectionType<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, options?: mongoose.QueryOptions<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback?: mongoose.Callback): mongoose.Query; + find & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter: mongoose.FilterQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, projection?: mongoose.ProjectionType<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback?: mongoose.Callback): mongoose.Query; + find & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter: mongoose.FilterQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback?: mongoose.Callback): mongoose.Query; + find & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(callback?: mongoose.Callback): mongoose.Query; + findByIdAndDelete & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(id?: any, options?: mongoose.QueryOptions<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_9, res: any) => void): mongoose.Query; + findByIdAndRemove & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(id?: any, options?: mongoose.QueryOptions<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_10, res: any) => void): mongoose.Query; + findByIdAndUpdate & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(id: any, update: mongoose.UpdateQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, options: mongoose.QueryOptions<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }> & { + rawResult: true; + }, callback?: (err: NativeError, doc: any, res: any) => void): mongoose.Query, ResultDoc_11, {}, { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>; + findByIdAndUpdate & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(id: any, update: mongoose.UpdateQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, options: mongoose.QueryOptions<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }> & { + upsert: true; + } & mongoose.ReturnsNewDoc, callback?: (err: NativeError, doc: ResultDoc_12, res: any) => void): mongoose.Query; + findByIdAndUpdate & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(id?: any, update?: mongoose.UpdateQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, options?: mongoose.QueryOptions<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_13, res: any) => void): mongoose.Query; + findByIdAndUpdate & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(id: any, update: mongoose.UpdateQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback: (err: NativeError, doc: ResultDoc_14, res: any) => void): mongoose.Query; + findOneAndDelete & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, options?: mongoose.QueryOptions<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_15, res: any) => void): mongoose.Query; + findOneAndRemove & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, options?: mongoose.QueryOptions<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_16, res: any) => void): mongoose.Query; + findOneAndReplace & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter: mongoose.FilterQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, replacement: mongoose.AnyObject | { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }, options: mongoose.QueryOptions<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }> & { + rawResult: true; + }, callback?: (err: NativeError, doc: any, res: any) => void): mongoose.Query, ResultDoc_17, {}, { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>; + findOneAndReplace & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter: mongoose.FilterQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, replacement: mongoose.AnyObject | { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }, options: mongoose.QueryOptions<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }> & { + upsert: true; + } & mongoose.ReturnsNewDoc, callback?: (err: NativeError, doc: ResultDoc_18, res: any) => void): mongoose.Query; + findOneAndReplace & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, replacement?: mongoose.AnyObject | { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }, options?: mongoose.QueryOptions<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback?: (err: NativeError, doc: ResultDoc_19, res: any) => void): mongoose.Query; + findOneAndUpdate & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter: mongoose.FilterQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, update: mongoose.UpdateQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, options: mongoose.QueryOptions<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }> & { + rawResult: true; + }, callback?: (err: NativeError, doc: any, res: any) => void): mongoose.Query, ResultDoc_20, {}, { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>; + findOneAndUpdate & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter: mongoose.FilterQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, update: mongoose.UpdateQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, options: mongoose.QueryOptions<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }> & { + upsert: true; + } & mongoose.ReturnsNewDoc, callback?: (err: NativeError, doc: ResultDoc_21, res: any) => void): mongoose.Query; + findOneAndUpdate & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, update?: mongoose.UpdateQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, options?: mongoose.QueryOptions<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback?: (err: NativeError, doc: { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }, res: any) => void): mongoose.Query; + geoSearch & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, options?: mongoose.GeoSearchOptions, callback?: mongoose.Callback): mongoose.Query; + mapReduce(o: mongoose.MapReduceOptions<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }, Key, Value>, callback?: mongoose.Callback): Promise; + remove & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: any, callback?: mongoose.CallbackWithoutResult): mongoose.Query; + remove & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: any, options?: mongoose.RemoveOptions, callback?: mongoose.CallbackWithoutResult): mongoose.Query; + replaceOne & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, replacement?: mongoose.AnyObject | { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }, options?: mongoose.QueryOptions<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback?: mongoose.Callback): mongoose.Query; + schema: mongoose.Schema<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }, mongoose.Model<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }, any, any, any, any>, {}, {}, {}, {}, "type", { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>; + update & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, update?: mongoose.UpdateWithAggregationPipeline | mongoose.UpdateQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, options?: mongoose.QueryOptions<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback?: mongoose.Callback): mongoose.Query; + updateMany & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, update?: mongoose.UpdateWithAggregationPipeline | mongoose.UpdateQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, options?: mongoose.QueryOptions<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback?: mongoose.Callback): mongoose.Query; + updateOne & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(filter?: mongoose.FilterQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, update?: mongoose.UpdateWithAggregationPipeline | mongoose.UpdateQuery<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, options?: mongoose.QueryOptions<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>, callback?: mongoose.Callback): mongoose.Query; + where & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(path: string, val?: any): mongoose.Query; + where & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(obj: object): mongoose.Query; + where & { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + } & { + _id: mongoose.Types.ObjectId; + }>(): mongoose.Query; + addListener(eventName: string | symbol, listener: (...args: any[]) => void): mongoose.Model<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }, {}, {}, {}, mongoose.Schema, {}, {}, {}, {}, "type", { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>>; + on(eventName: string | symbol, listener: (...args: any[]) => void): mongoose.Model<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }, {}, {}, {}, mongoose.Schema, {}, {}, {}, {}, "type", { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>>; + once(eventName: string | symbol, listener: (...args: any[]) => void): mongoose.Model<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }, {}, {}, {}, mongoose.Schema, {}, {}, {}, {}, "type", { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>>; + removeListener(eventName: string | symbol, listener: (...args: any[]) => void): mongoose.Model<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }, {}, {}, {}, mongoose.Schema, {}, {}, {}, {}, "type", { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>>; + off(eventName: string | symbol, listener: (...args: any[]) => void): mongoose.Model<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }, {}, {}, {}, mongoose.Schema, {}, {}, {}, {}, "type", { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>>; + removeAllListeners(event?: string | symbol): mongoose.Model<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }, {}, {}, {}, mongoose.Schema, {}, {}, {}, {}, "type", { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>>; + setMaxListeners(n: number): mongoose.Model<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }, {}, {}, {}, mongoose.Schema, {}, {}, {}, {}, "type", { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>>; + getMaxListeners(): number; + listeners(eventName: string | symbol): Function[]; + rawListeners(eventName: string | symbol): Function[]; + emit(eventName: string | symbol, ...args: any[]): boolean; + listenerCount(eventName: string | symbol): number; + prependListener(eventName: string | symbol, listener: (...args: any[]) => void): mongoose.Model<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }, {}, {}, {}, mongoose.Schema, {}, {}, {}, {}, "type", { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>>; + prependOnceListener(eventName: string | symbol, listener: (...args: any[]) => void): mongoose.Model<{ + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }, {}, {}, {}, mongoose.Schema, {}, {}, {}, {}, "type", { + guild: string; + voice: string; + songname: string; + songtime: string; + songURL: string; + textchannel: string; + requester?: string; + }>>; + eventNames(): (string | symbol)[]; + discriminator(name: string | number, schema: mongoose.Schema, {}, {}, {}, {}, "type", { + [x: string]: any; + }>, value?: string | number | mongoose.Schema.Types.ObjectId | mongoose.DiscriminatorOptions): mongoose.Model; + discriminator(name: string | number, schema: mongoose.Schema>, value?: string | number | mongoose.Schema.Types.ObjectId | mongoose.DiscriminatorOptions): U; + createIndexes(options: import("mongodb").CreateIndexesOptions, callback: mongoose.CallbackWithoutResult): void; + createIndexes(callback: mongoose.CallbackWithoutResult): void; + createIndexes(options?: import("mongodb").CreateIndexesOptions): Promise; + diffIndexes(options: Record, callback: mongoose.Callback): void; + diffIndexes(callback: mongoose.Callback): void; + diffIndexes(options?: Record): Promise; + ensureIndexes(options: import("mongodb").CreateIndexesOptions, callback: mongoose.CallbackWithoutResult): void; + ensureIndexes(callback: mongoose.CallbackWithoutResult): void; + ensureIndexes(options?: import("mongodb").CreateIndexesOptions): Promise; + listIndexes(callback: mongoose.Callback): void; + listIndexes(): Promise; + syncIndexes(options: mongoose.SyncIndexesOptions, callback: mongoose.Callback): void; + syncIndexes(options?: mongoose.SyncIndexesOptions): Promise; + startSession(options: import("mongodb").ClientSessionOptions, callback: mongoose.Callback): void; + startSession(callback: mongoose.Callback): void; + startSession(options?: import("mongodb").ClientSessionOptions): Promise; + get: (callback: any, limit: any) => void; +}; +export = _exports; +export function get(callback: any, limit: any): void; +import mongoose = require("mongoose"); +//# sourceMappingURL=queue.d.ts.map \ No newline at end of file diff --git a/dist/models/queue.d.ts.map b/dist/models/queue.d.ts.map new file mode 100644 index 0000000..468a4c1 --- /dev/null +++ b/dist/models/queue.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../models/queue.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBqB,qDAGpB"} \ No newline at end of file diff --git a/dist/musicWorker.d.ts b/dist/musicWorker.d.ts new file mode 100644 index 0000000..6715d6a --- /dev/null +++ b/dist/musicWorker.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=musicWorker.d.ts.map \ No newline at end of file diff --git a/dist/musicWorker.d.ts.map b/dist/musicWorker.d.ts.map new file mode 100644 index 0000000..37578de --- /dev/null +++ b/dist/musicWorker.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"musicWorker.d.ts","sourceRoot":"","sources":["../musicWorker.js"],"names":[],"mappings":""} \ No newline at end of file diff --git a/dist/routes/routes.d.ts b/dist/routes/routes.d.ts new file mode 100644 index 0000000..3c07e32 --- /dev/null +++ b/dist/routes/routes.d.ts @@ -0,0 +1,3 @@ +declare function _exports(io: any): any; +export = _exports; +//# sourceMappingURL=routes.d.ts.map \ No newline at end of file diff --git a/dist/routes/routes.d.ts.map b/dist/routes/routes.d.ts.map new file mode 100644 index 0000000..eacf1d8 --- /dev/null +++ b/dist/routes/routes.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../routes/routes.js"],"names":[],"mappings":"AAGiB,wCAKhB"} \ No newline at end of file diff --git a/dist/rustCommitsWorker.d.ts b/dist/rustCommitsWorker.d.ts new file mode 100644 index 0000000..2f3980a --- /dev/null +++ b/dist/rustCommitsWorker.d.ts @@ -0,0 +1 @@ +//# sourceMappingURL=rustCommitsWorker.d.ts.map \ No newline at end of file diff --git a/dist/rustCommitsWorker.d.ts.map b/dist/rustCommitsWorker.d.ts.map new file mode 100644 index 0000000..7a87830 --- /dev/null +++ b/dist/rustCommitsWorker.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"rustCommitsWorker.d.ts","sourceRoot":"","sources":["../rustCommitsWorker.js"],"names":[],"mappings":""} \ No newline at end of file diff --git a/dist/server.d.ts b/dist/server.d.ts new file mode 100644 index 0000000..21e3405 --- /dev/null +++ b/dist/server.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=server.d.ts.map \ No newline at end of file diff --git a/dist/server.d.ts.map b/dist/server.d.ts.map new file mode 100644 index 0000000..bcb65ff --- /dev/null +++ b/dist/server.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../server.js"],"names":[],"mappings":""} \ No newline at end of file diff --git a/dist/test.d.ts b/dist/test.d.ts new file mode 100644 index 0000000..9bcc471 --- /dev/null +++ b/dist/test.d.ts @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=test.d.ts.map \ No newline at end of file diff --git a/dist/test.d.ts.map b/dist/test.d.ts.map new file mode 100644 index 0000000..960309d --- /dev/null +++ b/dist/test.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../test.js"],"names":[],"mappings":""} \ No newline at end of file diff --git a/jsconfig.json b/jsconfig.json new file mode 100644 index 0000000..172c8a2 --- /dev/null +++ b/jsconfig.json @@ -0,0 +1,7 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es6" + }, + "exclude": ["node_modules", "**/node_modules/*", "**/dist/**"] +} \ No newline at end of file diff --git a/lib.js b/lib.js new file mode 100644 index 0000000..ce530fd --- /dev/null +++ b/lib.js @@ -0,0 +1,880 @@ +const path = require('path'); +const find = require('findit'); +const {Client,ClientOptions,GatewayIntentBits,Message, Partials, ActivityType,EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle} = require('discord.js') +const roleRulesM = require('./models/autoRoleRule'); +module.exports.GatewayIntentBits = GatewayIntentBits; +module.exports.Partials = Partials; +module.exports.ActivityType = ActivityType; +module.exports.EmbedBuilder = EmbedBuilder; +module.exports.ActionRowBuilder = ActionRowBuilder; +module.exports.ButtonBuilder = ButtonBuilder; +module.exports.ButtonStyle = ButtonStyle; +module.exports.Message = Message; + +//@ts-check +class CommandOptions +{ + /** + * + * @param {String} name + * @param {String[]} aliases + * @param {String} description + * @param {Boolean} needsAdmin + * @param {Boolean} hidden + */ + constructor (name, aliases, description, needsAdmin, hidden) + { + this.name = name; + this.aliases = aliases; + this.description = description; + this.needsAdmin = needsAdmin; + this.hidden = hidden; + } +} +class command +{ + /** + * @param {_Client} client extends discord.js.Client + * @param {CommandOptions} options extends Lib.Options + */ + constructor(client, options) + { + this.name = options.name; + this.aliases = options.aliases; + this.description = options.description; + this.needsAdmin =options.needsAdmin; + this.hidden = options.hidden; + this.client = client; + } +}module.exports.Command = command; + +// const {func}=require('lib.d.ts'); +// func('string'); + +class _Client extends Client +{ + /** + * + * @param {ClientOptions} options + */ + commands = new Map(); + constructor(options) + { + super(options) + let finder = find(path.resolve('commands')); + finder.on('file', file=> + { + let command = require(file); + if(typeof command === 'function') + { + let c = new command(this); + this.commands.set(c.name,{ + needsAdmin: c.needsAdmin?c.needsAdmin:false, + command: command, + }); + if(c.aliases) + { + for(var i =0; i + { + this.enableCommands(); + }) + this.RoleSetter(); + this.rustCommits = new rustCommits(this); + this.freegames = new FreeGames(this); + this.strikes = new Strikes(this); + this.on('disconnect', (event) => { + // Log a message to the console + console.log(`Client disconnected: ${event.reason}`); + }); + + // Register an event listener for the 'reconnecting' event + this.on('reconnecting', () => { + // Log a message to the console + console.log('Client is reconnecting...'); + }); + + } + /** + * Register a group of commands under the folder commands + * @param {String} name - Name of the group. + * @param {String} folderName - Name of the folder. + */ + async enableCommands() + { + //use needs admin here!!!! + this.on("messageCreate", message=> + { + if(message.content.startsWith('!')) + { + let commandName=message.content.split('!')[1].split(' ')[0]; + let args = message.content.split(`!${commandName}`)[1].split(' '); + args = args.filter(n=>n); + if(this.commands.get(commandName)) + { + let needsAdmin = this.commands.get(commandName).needsAdmin; + let isAdmin = this.guilds.cache.get(message.guild.id).members.cache.get(message.author.id).permissions.has('ADMINISTRATOR'); + let command = this.commands.get(commandName).command + if((needsAdmin && isAdmin) || !needsAdmin) return new command(this).run(message, args); + } + new ErrorMessage(this).send(ErrorType.NotOnTheList,message) + } + }) + } + /** + * + * @param {String} name - Command Name + * @returns {command} + */ + async RoleSetter () + { + this.on('messageReactionAdd', (reaction, user)=> + { + (async ()=> + { + const rule = await roleRulesM.findOne({mID:reaction.message.id,roleEmoji:reaction._emoji.id}).then(rule =>{return rule}).catch(err=>{return null}) + if(rule) + { + console.log(`RoleAssignment: Guild:${this.guilds.cache.get(rule.gID)} Role ${rule.roleName} given to ${user.username}`) + this.channels.cache.get(reaction.message.channelId).members.get(user.id).roles.add(rule.roleID) + } + })() + }) + this.on('messageReactionRemove', (reaction, user)=> + { + (async ()=> + { + const rule = await roleRulesM.findOne({mID:reaction.message.id,roleEmoji:reaction._emoji.id}).then(rule =>{return rule}).catch(err=>{return null}) + if(rule) + { + console.log(`RoleAssignment: Guild:${this.guilds.cache.get(rule.gID)}: Removing, ${user.username}'s ${rule.roleName} role. `) + this.channels.cache.get(reaction.message.channelId).members.get(user.id).roles.remove(rule.roleID) + } + })() + }) + } + +}module.exports.Client = _Client; +const ErrorType = +{ + Permissions: "Permissions", + Arguments: "Arguments", + NoArguments: "No Arguments Given", + NotOnTheList: "Unknown Command", + OldMessages: "Can't delete this messages." +} +module.exports.ErrorType = ErrorType; + +class Channel +{ + /** + * + * @param {String} channelID + */ + constructor(channelID) + { + this.channel = channelID; + } + +} + +module.exports.Channel = Channel; +/** + * + * @param {Number} length + * @returns {String} + */ +function Random(length) +{ + length?length:length=5; + var result = ''; + var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; + var charactersLength = characters.length; + for ( var i = 0; i < length; i++ ) { + result += characters.charAt(Math.floor(Math.random() * charactersLength)); + } + return result; +}module.exports.Random = Random; + +class ErrorMessage +{ + /** + * @param {_Client} client + */ + constructor(client) + { + this.client = client; + } + /** + * + * @param {ErrorType} errorType + * @param {Message} message + * @param {[... String]} extraMessages + */ + + async send(errorType,message, extraMessages) + { + console.log('Sending Error Message') + if (!message.channel.id) return; + const embed = new EmbedBuilder() + .setColor(0x4d0000) + .setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}) + .setTimestamp() + .setFooter({text:'Rem-chan on ', iconURL:"https://i.imgur.com/g6FSNhL.png"}) + .addFields({name: 'Error:', value: 'something'}) + .addFields({name: 'Try:', value: 'something'}); + + switch (errorType) { + case ErrorType.Arguments: + embed.data.fields[0].value =ErrorType.Arguments; + embed.data.fields[1].value = 'Verify the arguments provided.' + break; + case ErrorType.NoArguments: + embed.data.fields[0].value =ErrorType.NoArguments; + embed.data.fields[1].value = 'Provide the required arguments for this command.' + break; + case ErrorType.Permissions: + embed.data.fields[0].value =ErrorType.Permissions; + embed.data.fields[1].value = 'Ask this servers administrator to use the command.' + break; + case ErrorType.NotOnTheList: + embed.data.fields[0].value =ErrorType.NotOnTheList; + embed.data.fields[1].value = 'Use !help for the list of available.' + break; + case ErrorType.OldMessages: + embed.data.fields[0].value =ErrorType.OldMessages; + break; + default: + break; + } + if(extraMessages) + { + for(var i = 0; i i.customId === randomID; + + const collector = message.channel.createMessageComponentCollector({ filter, time: 60000 }); + + collector.on('collect', async m => + { + message.delete().then(()=>m.message.delete()) + .catch(()=>m.message.delete()); + }); + } + +}module.exports.ErrorMessage = ErrorMessage; + +/** + * AniList Client -> Search Functions + */ +class AnimeInfo +{ + /** + * + * @param {String} title + * @param {String} status + * @param {String} episodes + * @param {String} trailer + * @param {String} description + * @param {String} coverImage + */ + constructor(title, status, episodes, trailer, description, coverImage) + { + this.title = title; + this.status = status; + this.episodes=episodes; + this.trailer = trailer; + this.description = description; + this.coverImage = coverImage; + } +} +class CharInfo +{ + /** + * + * @param {String} name + * @param {String} gender + * @param {String} image + * @param {String} description + */ + constructor(name, gender, image, description) + { + this.name = name; + this.gender = gender; + this.image=image; + this.description = description; + } +} +class MangaInfo +{ + /** + * + * @param {String} title + * @param {String} status + * @param {String} description + * @param {String} coverImage + */ + constructor(title, status, description, coverImage) + { + this.title = title; + this.status = status; + this.description = description; + this.coverImage = coverImage; + } +} + +class aniListCli { + /** + * + * @param {String} ss - Search Query + * @returns {AnimeInfo} + */ + async searchAnime(ss) + { + + var variables = { + ss + }; + var query = `query ($ss: String) { + Media(search:$ss,type: ANIME) { + id + title { + romaji + english + native + } + status + episodes + trailer { + site + id + } + description(asHtml:false) + coverImage { + large + } + } + }`; + var url = ``+'https://graphql.anilist.co', + options = { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'Accept': 'application/json', + }, + body: JSON.stringify({ + query, + variables + }) + }; + return await fetch(url, options).then(handleResponse) + .then(handleData) + .catch(handleError); + function handleResponse(response) + { + return response.json().then(function (json) + { + return response.ok ? json : Promise.reject(json); + }); + } + function handleError(error) { + return error; + } + function handleData(data) { + return { + title:data.data.Media.title, + status:data.data.Media.status, + episodes:data.data.Media.episodes, + trailer:data.data.Media.trailer, + description:data.data.Media.description, + coverImage:data.data.Media.coverImage.large + } + } + + } + /** + * + * @param {String} ss - Search Query + * @returns {CharInfo} + */ + async searchChar(ss) + { + + var variables = { + ss + }; + var query = `query ($ss: String) { + Character(search: $ss, sort:SEARCH_MATCH) { + id + name { + full + native + } + gender + image { + medium + } + description(asHtml:false) + } + } + `; + var url = 'https://graphql.anilist.co', + options = { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'Accept': 'application/json', + }, + body: JSON.stringify({ + query, + variables + }) + }; + return await fetch(url, options).then(handleResponse) + .then(handleData) + .catch(handleError); + function handleResponse(response) + { + return response.json().then(function (json) + { + return response.ok ? json : Promise.reject(json); + }); + } + function handleError(error) { + return error; + } + function handleData(data) { + return { + name:data.data.Character.name, + gender:data.data.Character.gender, + image:data.data.Character.image.medium, + description:data.data.Character.description, + } + } + + } + /** + * + * @param {String} ss - Search Query + * @returns {MangaInfo} + */ + async searchManga(ss) + { + + var variables = { + ss + }; + var query = `query ($ss: String) { + Media(search: $ss, type: MANGA) { + title { + romaji + english + native + } + status + description(asHtml: false) + coverImage { + large + } + } + } + `; + var url = 'https://graphql.anilist.co', + options = { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'Accept': 'application/json', + }, + body: JSON.stringify({ + query, + variables + }) + }; + return await fetch(url, options).then(handleResponse) + .then(handleData) + .catch(handleError); + function handleResponse(response) + { + return response.json().then(function (json) + { + return response.ok ? json : Promise.reject(json); + }); + } + function handleError(error) { + return error; + } + function handleData(data) { + return { + title:data.data.Media.title, + status:data.data.Media.status, + description:data.data.Media.description, + coverImage:data.data.Media.coverImage.large + } + } + + } + +}module.exports.aniList = aniListCli; + +const channelM = require('./models/channels'); + +class rustCommits +{ + /** + * + * @param {_Client} client + */ + constructor(client) + { + this.client = client; + this.update(); + setInterval(() => { + this.update(); + }, 3*60*1000); + this.channels; + } + async update () + { + const channels = await channelM.find({for:'rust'}).then(channels=>{return channels}); + this.channels = await this.resolveChannels(channels); + const Res = await fetch("https://commits.facepunch.com/?format=json").then(handleResponse) + .then(handleData) + .catch(handleError); + function handleResponse(response) + { + return response.json().then(function (json) + { + return response.ok ? json : Promise.reject(json); + }); + } + function handleError(error) { + return error; + } + function handleData(data) { + data.results.splice(30, 20); + return data.results.filter(x=>x.repo.search(/rust/i)!=-1) + } + + for(var j = 0; j e.id).indexOf(this.channels[j].lastid); + Res.splice(Pos, Res.length-Pos); + for(var i = Res.length-1; i>0; i--) + { + if(Res[i].id > this.channels[j].lastid) + { + send( + { + + Author:Res[i].user.name, + Avatar:Res[i].user.avatar, + Time:Res[i].created.split("T")[1]+ " of "+ Res[i].created.split("T")[0], + Content:Res[i].message, + ID:Res[i].id, + Repo:Res[i].repo, + Branch:Res[i].branch + }, this.channels[j].cID, this.client); + } + } + } + /** + * + * @param {RustCommit} commit + * @param {Channel} channel + */ + function send(commit, channel, client) + { + client.channels.cache.get(channel).send({embeds:[ + new EmbedBuilder() + .setColor(0xc23811) + .setTitle(commit.Time) + .setURL('https://commits.facepunch.com') + .setAuthor({name:commit.Author, iconURL:commit.Avatar==''?"https://i.imgur.com/g6FSNhL.png":commit.Avatar,url:`https://commits.facepunch.com/${commit.Author.split(' ').join('')}`}) + .setDescription(commit.Content) + .addFields( + { name:`${commit.Repo}`, value:`[${commit.Repo}/${commit.Branch}](https://commits.facepunch.com/r/${commit.Repo}/${commit.Branch}/ 'Branch Link')`}, + { name: 'ID', value: commit.ID.toString() }, + ) + .setTimestamp() + .setFooter({text:'Rem-chan on ', iconURL:"https://i.imgur.com/g6FSNhL.png"}) + ]}); + } + + } + /** + * + * @param {channelM} channels + */ + async resolveChannels(channels) + { + for await(var channel of channels ) + { + if(this.client.channels.cache.get(channel.cID)) + { + const Channel = this.client.channels.cache.get(channel.cID) + const lastid = await Channel.messages.fetch({limit:1}).then(message=> + { + if(!message) return 0 + const [content] = message.values(); + if(!content||!content.embeds||!content.embeds.length>0) return 0; + return parseInt(content.embeds[0].fields[1].value) + }) + channel.lastid = lastid; + } + } + return channels; + } +} +class RustCommit +{ + /** + * + * @param {String} Author + * @param {String} Avatar - IMAGE URL + * @param {String} Time + * @param {String} Content + * @param {Number} ID + * @param {String} Repo + * @param {String} Branch + */ + constructor(Author, Avatar, Time, Content, ID, Repo, Branch) + { + this.Author = Author + this.Avatar = Avatar + this.Time = Time + this.Content = Content + this.ID = ID + this.Repo = Repo + this.Branch = Branch + } +} +class FreeGames +{ + /** + * + * @param {_Client} client + */ + constructor(client) + { + this.client = client; + this.update() + setTimeout(() => { + this.update(); + }, 3*60*1000); + } + async update() + { + const channels = await channelM.find({for:'freegames'}).then(channels=>{return channels}); + this.channels = await this.resolveChannels(channels); + + const Res = await fetch('https://www.gamerpower.com/api/giveaways').then(handleResponse) + .then(handleData) + .catch(handleError); + function handleResponse(response) + { + return response.json().then(function (json) + { + return response.ok ? json : Promise.reject(json); + }); + } + function handleError(error) { + return error; + } + function handleData(data) { + data.splice(10, data.length-10); + return data + } + for(var j = 0; j e.id).indexOf(this.channels[j].lastid); + Res.splice(Pos, Res.length-Pos) + + for(var i = Res.length-1; i>0; i--) + { + if(Res[i].id > this.channels[j].lastid) + { + send( + { + ID:Res[i].id, // + Title:Res[i].title, // + Type:Res[i].type, // + Thumb:Res[i].thumbnail, // + Image:Res[i].image, // + Description:Res[i].description, // + Instructions:Res[i].instructions,// + URL:Res[i].open_giveaway_url,// + Platform:Res[i].platforms,// + EndDate:Res[i].end_date, + + }, this.channels[j].cID, this.client); + } + } + } + /** + * + * @param {FreeGameModel} game + * @param {Channel} channel + */ + function send(game, channel, client) + { + client.channels.cache.get(channel).send({embeds:[ + new EmbedBuilder() + .setColor(0x2d9134) + .setURL(game.URL) + .setTitle(game.Title) + .setAuthor({name:"Rem-chan", iconURL:"https://i.imgur.com/g6FSNhL.png",url:'https://rem.wordfights.com/addtodiscord'}) + .setDescription(game.Description) + .setImage(game.Image) + .setThumbnail(game.Thumb) + .addFields( + { name: 'Platforms', value: game.Platform}, + { name: 'Type of offer:', value: game.Type}, + { name:'Instructions:', value:game.Instructions}, + { name:`End date:`, value:`${game.EndDate}`}, + ) + .setTimestamp() + .setFooter({text:`(${game.ID}) Rem-chan on `, iconURL:"https://i.imgur.com/g6FSNhL.png"}) + ]}); + } + } + /** + * + * @param {channelM} channels + */ + async resolveChannels(channels) + { + for await(var channel of channels ) + { + if(this.client.channels.cache.get(channel.cID)) + { + const Channel = this.client.channels.cache.get(channel.cID) + const lastid = await Channel.messages.fetch({limit:1}).then(message=> + { + if(!message) return 0 + const [content] = message.values(); + if(!content||!content.embeds||!content.embeds.length>0) return 0; + return parseInt(content.embeds[0].footer.text.split('(')[1].split(')')[0]) + }) + channel.lastid = lastid; + } + } + return channels; + } +} + +class FreeGameModel +{ + /** + * @param {String} ID + * @param {String} Title + * @param {String} Thumb + * @param {String} Type + * @param {String} Image + * @param {String} Description + * @param {String} Instructions + * @param {String} URL + * @param {String} Platform + * @param {Date} EndDate + */ + constructor(ID, Title, Thumb,Type, Image, Description, Instructions, URL, Platform, EndDate) + { + this.ID = ID; + this.Title = Title; + this.Type = Type; + this.Thumb = Thumb; + this.Image = Image; + this.Description = Description; + this.Instructions = Instructions; + this.URL = URL; + this.Platform = Platform; + this.EndDate = EndDate; + } +} +const strikesM = require('./models/strikes'); +const guildsM = require('./models/guilds'); +class Strikes +{ + constructor(client) + { + this.client = client; + this.check(); + setInterval(() => { + this.check(); + }, 5*60*1000); + + //TODO: Handle old strikes + //* Strikes life time should be difined by guild + //* A default should be set + //? 15 days + + } + async check() + { + const Strikes = await strikesM.find().then(s=>{return s}); + //console.log(Strikes); + const guilds = await guildsM.find({strikes:true}).then(g=>{return g}); + if(!guilds) return console.log('Striker: No Guilds') + var guildIds = []; + for(var i = 0; i { + return guildIds.indexOf(e.guildID)>=0; + } + ) + guildIds.forEach(guild=> + { + filtered.forEach(strike=> + { + (async (guild, strike)=> + { + const ammount = await strikesM.find({guildID:guild, strokedID:strike.strokedID}).then(res=>{return res.length}); + if(ammount>2) + { + this.handleStroked(strike.strokedID, guild); + } + })(guild, strike) + }) + }) + } + handleStroked(user, guild) + { + strikesM.deleteMany({ guildID: guild, strokedID: user }, (err, res) => { + if (!err) return console.log('Strikes Deleted') + }); + // If the user is found, kick them from the server + const member = this.client.guilds.cache.get(guild).members.cache.get(user); + if (!member) return console.log('Strikes: Handle Strikened: Member not valid') + console.log(member.user.username) + member.kick('Optional reason that will be displayed in the audit logs') + .then(() => console.log(`Successfully kicked ${user.user.username}`)) + .catch(err => console.log(`Unable to kick ${user.user.username}: ${err}`)); + } +} \ No newline at end of file diff --git a/models/autoRoleRule.js b/models/autoRoleRule.js new file mode 100644 index 0000000..77fe068 --- /dev/null +++ b/models/autoRoleRule.js @@ -0,0 +1,23 @@ +const mongoose = require('mongoose'); +const Schema = mongoose.Schema; + +let rolerule = +new Schema( + { + gID: {type: String, required: false, max: 100}, + cID: {type: String, required: false, max: 100}, + mID: {type:String, required: true,}, + roleID:{type:String, required: true}, + roleEmoji:{type:String, required:true}, + roleName:{type:String, required: true}, + } +); + + + + +const RoleRule = module.exports = mongoose.model('roleRule', rolerule); +module.exports.get = (callback, limit)=> +{ + RoleRule.find(callback).limit(limit); +} \ No newline at end of file diff --git a/models/channels.js b/models/channels.js new file mode 100644 index 0000000..332b05e --- /dev/null +++ b/models/channels.js @@ -0,0 +1,20 @@ +const mongoose = require('mongoose'); +const Schema = mongoose.Schema; + +let channel = +new Schema( + { + name: {type: String, required: false, max: 100}, // Name for the sake of having one. + cID: {type:String, required: true}, // channel id where to send updates + for:{type:String, required: true}//Type of update channel (free games, rust commits) + } +); + + + + +const Channel = module.exports = mongoose.model('channel', channel); +module.exports.get = (callback, limit)=> +{ + Channel.find(callback).limit(limit); +} \ No newline at end of file diff --git a/models/guilds.js b/models/guilds.js new file mode 100644 index 0000000..c641516 --- /dev/null +++ b/models/guilds.js @@ -0,0 +1,22 @@ +const mongoose = require('mongoose'); +const Schema = mongoose.Schema; + +let guild = +new Schema( + { + name: {type: String, required: false, max: 100}, + memberCount: {type:Boolean, required: true}, + gID:{type:String, required:true}, + strikes:{type:Boolean}, + music:{type:Boolean} + } +); + + + + +const Guild = module.exports = mongoose.model('guild', guild); +module.exports.get = (callback, limit)=> +{ + Guild.find(callback).limit(limit); +} \ No newline at end of file diff --git a/models/mcommands.js b/models/mcommands.js new file mode 100644 index 0000000..36fa887 --- /dev/null +++ b/models/mcommands.js @@ -0,0 +1,21 @@ +const mongoose = require('mongoose'); +const Schema = mongoose.Schema; + +let mcommand = +new Schema( + { + command: {type: String, required: true, max: 100}, + guild: {type: String, required: true, max: 100}, + textchannel:{type: String, required: true, max:100}, + voice:{type: String, required: true, max: 100} + } +); + + + + +const mCommand = module.exports = mongoose.model('mCommands', mcommand); +module.exports.get = (callback, limit)=> +{ + mCommand.find(callback).limit(limit); +} \ No newline at end of file diff --git a/models/queue.js b/models/queue.js new file mode 100644 index 0000000..f42027f --- /dev/null +++ b/models/queue.js @@ -0,0 +1,24 @@ +const mongoose = require('mongoose'); +const Schema = mongoose.Schema; + +let queue = +new Schema( + { + songname: {type: String, required: true, max: 100}, + songtime: {type: String, required: true, max: 100}, + songURL:{type:String, required:true, max:100}, + guild: {type: String, required: true, max: 100}, + textchannel:{type: String, required: true, max:100}, + voice:{type: String, required: true, max: 100}, + requester:{type:String, required:false, max:100} + } +); + + + + +const Q = module.exports = mongoose.model('Queue', queue); +module.exports.get = (callback, limit)=> +{ + Q.find(callback).limit(limit); +} \ No newline at end of file diff --git a/models/strikes.js b/models/strikes.js new file mode 100644 index 0000000..1a8e5b0 --- /dev/null +++ b/models/strikes.js @@ -0,0 +1,23 @@ +const mongoose = require('mongoose'); +const Schema = mongoose.Schema; + +let strike = +new Schema( + { + strikerID: {type: String, required: false, max: 100}, + strokedID: {type:String, required: true,}, + guildName:{type:String, required: true}, + guildID:{type:String, required: true}, + reason:{type:String, required:true}, + date:{type:Date, required:true}, + } +); + + + + +const S = module.exports = mongoose.model('strike', strike); +module.exports.get = (callback, limit)=> +{ + S.find(callback).limit(limit); +} \ No newline at end of file diff --git a/models/suggestion.js b/models/suggestion.js new file mode 100644 index 0000000..bd3fbe7 --- /dev/null +++ b/models/suggestion.js @@ -0,0 +1,23 @@ +const mongoose = require('mongoose'); +const Schema = mongoose.Schema; + +let suggestion = +new Schema( + { + + authorID: {type: String, required: false, max: 100}, + authorName: {type:String, required: true}, + guildID: {type:String, required: true}, + authorPermissions: {type:Array, required: true}, + suggestion:{type:String, required: true} + } +); + + + + +const Suggestion = module.exports = mongoose.model('suggestion', suggestion); +module.exports.get = (callback, limit)=> +{ + Suggestion.find(callback).limit(limit); +} \ No newline at end of file diff --git a/musicWorker.js b/musicWorker.js new file mode 100644 index 0000000..840fa38 --- /dev/null +++ b/musicWorker.js @@ -0,0 +1,209 @@ +console.time('Worker Start') +const {Client, GatewayIntentBits, EmbedBuilder} = require('discord.js'); +const {createAudioPlayer, NoSubscriberBehavior, createAudioResource, joinVoiceChannel,VoiceConnectionStatus, AudioPlayerStatus, AudioResource} = require('@discordjs/voice'); + + +const bot = new Client({ intents: [GatewayIntentBits.Guilds, + GatewayIntentBits.GuildMembers, + GatewayIntentBits.GuildBans, + GatewayIntentBits.GuildEmojisAndStickers, + GatewayIntentBits.GuildIntegrations , + GatewayIntentBits.GuildWebhooks , + GatewayIntentBits.GuildInvites , + GatewayIntentBits.GuildVoiceStates, + GatewayIntentBits.GuildPresences, + GatewayIntentBits.GuildMessages, + GatewayIntentBits.GuildMessageReactions, + GatewayIntentBits.GuildMessageTyping, + GatewayIntentBits.DirectMessages, + GatewayIntentBits.DirectMessageReactions, + GatewayIntentBits.DirectMessageTyping, + GatewayIntentBits.MessageContent, + GatewayIntentBits.GuildScheduledEvents, + GatewayIntentBits.AutoModerationConfiguration, + GatewayIntentBits.AutoModerationExecution]}); +const mongoose = require('mongoose'); +const QueueM = require('./models/queue'); + +const Command = require('./models/mcommands'); + +const ytdl = require('ytdl-core'); + +const guild = process.argv[2]; +const name = process.argv[3]; + +var Pause = false; +var currentID; + +bot.login(process.env.discord_token).then(()=> +{ + + console.log('WORKER:',name,'- Music: Guild: (', guild,')'); + console.timeEnd('Worker Start') + mongoose.Promise = global.Promise; + mongoose.connect(process.env.mongoDB, {useNewUrlParser: true, useUnifiedTopology:true}).then(console.log('WORKER:',name,'- MONGODB: Connected')).catch(err=>console.log(err)); + music(); +}); +function music() +{ + QueueM.find({guild:guild}) + .then(queue=> + { + if(queue.length>0) + { + var i = 0; + do + { + if(i + { + music(); + }, 1500); + } + }) +} +/** + This is an asynchronous function that listens for commands in a guild and performs the appropriate action. + The function takes two parameters: a player and a connection. The player can be paused, resumed, or stopped, + and the queue can be skipped or displayed. The function runs continuously, checking for new commands and + performing the appropriate actions. + @param {AudioPlayer} player + @param {VoiceConnection} connection + */ +async function commandListener(player, connection) +{ + const command = await Command.findOne({guild:guild}) + if(!command) return commandListener(player, connector); + switch (command.command) { + case 'leave': + player.stop(); + removeQueue(); + break; + case 'pause': + player.pause(); + break; + case 'resume': + + break; + + case 'skip': + removeFromQueue(currentID, player, connection); + break; + case 'queue': + + break; + + default: + break; + } + Command.findByIdAndDelete(command._id) + .then(() => commandListener(player, connection)) + +} +function removeQueue() +{ + QueueM.deleteMany({guild:guild}); +} +/** + * + * @param {String} voiceID - Voice Channel ID + * @param {String} songURL - Song URL + * @param {String} id - MongoDB ID + * @param {String} songname - Song Name + * @param {String} songtime - Song play time + */ +async function play ( voiceID, songURL, id, songname, songtime, text) +{ + currentID = id; + try + { + console.log('Worker:', name ,'- Play: ', voiceID, 'ytID',songURL.split('=')[1],id, songname, songtime, text) + const connection = joinVoiceChannel({ + channelId: voiceID, + guildId: guild, + adapterCreator: bot.guilds.cache.get(guild).voiceAdapterCreator, + }); + const player = createAudioPlayer({ + behaviors: { + noSubscriber: NoSubscriberBehavior.Stop, + } + }); + connection.on(VoiceConnectionStatus.Ready, () => + { + const resource = createAudioResource(ytdl(songURL,{ filter: 'audioonly', dlChunkSize: 0 })) + player.play(resource); + connection.subscribe(player); + commandListener( player, connection); + player.on(AudioPlayerStatus.Idle, ()=> + { + if(!Pause) + { + removeFromQueue(currentID, player, connection); + } + }) + }); + } + catch (error) + { + console.log('Worker:', name ,'- Music: Play: Error: ', error) + } +} +function playNext(player, voiceID, songURL, id, songname, songtime, text) +{ + currentID = id; + console.log('Worker:', name ,'- Play: ', voiceID, 'ytID',songURL.split('=')[1],id, songname, songtime, text) + const resource = createAudioResource(ytdl(songURL,{ filter: 'audioonly', dlChunkSize: 0 })) + player.play(resource); +} +async function removeFromQueue(id, player, connection) +{ + console.log('Music: Find and Remove: id: ', id); + QueueM.findByIdAndRemove(id, (err)=> + { + if(!err) + { + console.log('Worker:',name,'- Music: Song removed!') + QueueM.findOne({guild:guild}, (err, next)=> + { + if(err) return console.log('Worker:', name, '- Error:', err); + //console.log('Worker:',name,'- Music: More in queue?', next); + if(next) + { + console.log('Worker:',name,'- Music: RFQ: Playing next. Next:', next.songname, next.songtime); + playNext(player, next.voice, next.songURL, next.id, next.songname, next.songtime, next.textchannel); + } + else + { + console.log('Worker', name, ' - Music: RFQ: No more in Q, restarting.'); + connection.destroy(); + music(); + } + }) + } + else + { + console.log('Worker:',name,'- Music: Failed to remove song from queue!', err) + music(); + } + }) + +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..f5ea159 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6862 @@ +{ + "name": "remchanv2", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "remchanv2", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "@discordjs/voice": "^0.13.0", + "axios": "^1.1.3", + "bufferutil": "^4.0.7", + "discord-ytdl-core": "^5.0.4", + "discord.js": "^14.6.0", + "ejs": "^3.1.8", + "erlpack": "github:discord/erlpack", + "express": "^4.18.2", + "ffmpeg-static": "^5.1.0", + "findit": "^2.0.0", + "mongoose": "^6.7.2", + "nodemon": "^2.0.20", + "socket.io": "^4.5.3", + "tweetnacl": "^1.0.3", + "utf-8-validate": "^5.0.10", + "yt-search": "^2.10.3", + "ytdl-core": "^4.11.2", + "zlib-sync": "^0.1.7" + }, + "devDependencies": { + "typescript": "^4.9.3" + } + }, + "node_modules/@aws-crypto/ie11-detection": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.2.tgz", + "integrity": "sha512-5XDMQY98gMAf/WRTic5G++jfmS/VLM0rwpiOpaainKi4L0nqWMSB1SzsrEG5rjFZGYN6ZAefO+/Yta2dFM0kMw==", + "optional": true, + "dependencies": { + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + }, + "node_modules/@aws-crypto/sha256-browser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz", + "integrity": "sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==", + "optional": true, + "dependencies": { + "@aws-crypto/ie11-detection": "^2.0.0", + "@aws-crypto/sha256-js": "^2.0.0", + "@aws-crypto/supports-web-crypto": "^2.0.0", + "@aws-crypto/util": "^2.0.0", + "@aws-sdk/types": "^3.1.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + }, + "node_modules/@aws-crypto/sha256-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz", + "integrity": "sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==", + "optional": true, + "dependencies": { + "@aws-crypto/util": "^2.0.0", + "@aws-sdk/types": "^3.1.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/sha256-js/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + }, + "node_modules/@aws-crypto/supports-web-crypto": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.2.tgz", + "integrity": "sha512-6mbSsLHwZ99CTOOswvCRP3C+VCWnzBf+1SnbWxzzJ9lR0mA0JnY2JEAhp8rqmTE0GPFy88rrM27ffgp62oErMQ==", + "optional": true, + "dependencies": { + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + }, + "node_modules/@aws-crypto/util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.2.tgz", + "integrity": "sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "^3.110.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/util/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + }, + "node_modules/@aws-sdk/abort-controller": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.208.0.tgz", + "integrity": "sha512-mQkDR+8VLCafg9KI4TgftftBOL170ricyb+HgV8n5jLDrEG+TfOfud8e6us2lIFESEuMpohC+/8yIcf6JjKkMg==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-cognito-identity": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.209.0.tgz", + "integrity": "sha512-u7lqFKi2PXC/LZzBEBCczlF78/bclv5Gndy4AWxNBdDBbJyuQrE+hk+IIwQQznCeFfgFOhpQMcWFPZH3tSH/qQ==", + "optional": true, + "dependencies": { + "@aws-crypto/sha256-browser": "2.0.0", + "@aws-crypto/sha256-js": "2.0.0", + "@aws-sdk/client-sts": "3.209.0", + "@aws-sdk/config-resolver": "3.209.0", + "@aws-sdk/credential-provider-node": "3.209.0", + "@aws-sdk/fetch-http-handler": "3.208.0", + "@aws-sdk/hash-node": "3.208.0", + "@aws-sdk/invalid-dependency": "3.208.0", + "@aws-sdk/middleware-content-length": "3.208.0", + "@aws-sdk/middleware-endpoint": "3.208.0", + "@aws-sdk/middleware-host-header": "3.208.0", + "@aws-sdk/middleware-logger": "3.208.0", + "@aws-sdk/middleware-recursion-detection": "3.208.0", + "@aws-sdk/middleware-retry": "3.209.0", + "@aws-sdk/middleware-serde": "3.208.0", + "@aws-sdk/middleware-signing": "3.208.0", + "@aws-sdk/middleware-stack": "3.208.0", + "@aws-sdk/middleware-user-agent": "3.208.0", + "@aws-sdk/node-config-provider": "3.209.0", + "@aws-sdk/node-http-handler": "3.208.0", + "@aws-sdk/protocol-http": "3.208.0", + "@aws-sdk/smithy-client": "3.209.0", + "@aws-sdk/types": "3.208.0", + "@aws-sdk/url-parser": "3.208.0", + "@aws-sdk/util-base64": "3.208.0", + "@aws-sdk/util-body-length-browser": "3.188.0", + "@aws-sdk/util-body-length-node": "3.208.0", + "@aws-sdk/util-defaults-mode-browser": "3.209.0", + "@aws-sdk/util-defaults-mode-node": "3.209.0", + "@aws-sdk/util-endpoints": "3.209.0", + "@aws-sdk/util-user-agent-browser": "3.208.0", + "@aws-sdk/util-user-agent-node": "3.209.0", + "@aws-sdk/util-utf8-browser": "3.188.0", + "@aws-sdk/util-utf8-node": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-sso": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.209.0.tgz", + "integrity": "sha512-rh9QktLCOVTbvDzCb0ikSe4Q1I35Wxcx5XZ7k1J+2ze54FOBfCr3vOwcQpo5tpYWEe1Ysbt3gvA8RAqj9oDFdw==", + "optional": true, + "dependencies": { + "@aws-crypto/sha256-browser": "2.0.0", + "@aws-crypto/sha256-js": "2.0.0", + "@aws-sdk/config-resolver": "3.209.0", + "@aws-sdk/fetch-http-handler": "3.208.0", + "@aws-sdk/hash-node": "3.208.0", + "@aws-sdk/invalid-dependency": "3.208.0", + "@aws-sdk/middleware-content-length": "3.208.0", + "@aws-sdk/middleware-endpoint": "3.208.0", + "@aws-sdk/middleware-host-header": "3.208.0", + "@aws-sdk/middleware-logger": "3.208.0", + "@aws-sdk/middleware-recursion-detection": "3.208.0", + "@aws-sdk/middleware-retry": "3.209.0", + "@aws-sdk/middleware-serde": "3.208.0", + "@aws-sdk/middleware-stack": "3.208.0", + "@aws-sdk/middleware-user-agent": "3.208.0", + "@aws-sdk/node-config-provider": "3.209.0", + "@aws-sdk/node-http-handler": "3.208.0", + "@aws-sdk/protocol-http": "3.208.0", + "@aws-sdk/smithy-client": "3.209.0", + "@aws-sdk/types": "3.208.0", + "@aws-sdk/url-parser": "3.208.0", + "@aws-sdk/util-base64": "3.208.0", + "@aws-sdk/util-body-length-browser": "3.188.0", + "@aws-sdk/util-body-length-node": "3.208.0", + "@aws-sdk/util-defaults-mode-browser": "3.209.0", + "@aws-sdk/util-defaults-mode-node": "3.209.0", + "@aws-sdk/util-endpoints": "3.209.0", + "@aws-sdk/util-user-agent-browser": "3.208.0", + "@aws-sdk/util-user-agent-node": "3.209.0", + "@aws-sdk/util-utf8-browser": "3.188.0", + "@aws-sdk/util-utf8-node": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-sso-oidc": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.209.0.tgz", + "integrity": "sha512-KSmT181IcE32lqoZsS0h400qiL/BSQ84DS1iPOqP0NkLcgnvmOkKygVpYjTql2xSUWLQBwPNFihYJ+jmAj3HtQ==", + "optional": true, + "dependencies": { + "@aws-crypto/sha256-browser": "2.0.0", + "@aws-crypto/sha256-js": "2.0.0", + "@aws-sdk/config-resolver": "3.209.0", + "@aws-sdk/fetch-http-handler": "3.208.0", + "@aws-sdk/hash-node": "3.208.0", + "@aws-sdk/invalid-dependency": "3.208.0", + "@aws-sdk/middleware-content-length": "3.208.0", + "@aws-sdk/middleware-endpoint": "3.208.0", + "@aws-sdk/middleware-host-header": "3.208.0", + "@aws-sdk/middleware-logger": "3.208.0", + "@aws-sdk/middleware-recursion-detection": "3.208.0", + "@aws-sdk/middleware-retry": "3.209.0", + "@aws-sdk/middleware-serde": "3.208.0", + "@aws-sdk/middleware-stack": "3.208.0", + "@aws-sdk/middleware-user-agent": "3.208.0", + "@aws-sdk/node-config-provider": "3.209.0", + "@aws-sdk/node-http-handler": "3.208.0", + "@aws-sdk/protocol-http": "3.208.0", + "@aws-sdk/smithy-client": "3.209.0", + "@aws-sdk/types": "3.208.0", + "@aws-sdk/url-parser": "3.208.0", + "@aws-sdk/util-base64": "3.208.0", + "@aws-sdk/util-body-length-browser": "3.188.0", + "@aws-sdk/util-body-length-node": "3.208.0", + "@aws-sdk/util-defaults-mode-browser": "3.209.0", + "@aws-sdk/util-defaults-mode-node": "3.209.0", + "@aws-sdk/util-endpoints": "3.209.0", + "@aws-sdk/util-user-agent-browser": "3.208.0", + "@aws-sdk/util-user-agent-node": "3.209.0", + "@aws-sdk/util-utf8-browser": "3.188.0", + "@aws-sdk/util-utf8-node": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-sts": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.209.0.tgz", + "integrity": "sha512-zWlM+9/JbshEgrG79KZlqYusUziKiKqe8vRlvQ9wcuEHNbQnAri4UvObEKik+7YpTBeP3mR+US1T71G0PqJByw==", + "optional": true, + "dependencies": { + "@aws-crypto/sha256-browser": "2.0.0", + "@aws-crypto/sha256-js": "2.0.0", + "@aws-sdk/config-resolver": "3.209.0", + "@aws-sdk/credential-provider-node": "3.209.0", + "@aws-sdk/fetch-http-handler": "3.208.0", + "@aws-sdk/hash-node": "3.208.0", + "@aws-sdk/invalid-dependency": "3.208.0", + "@aws-sdk/middleware-content-length": "3.208.0", + "@aws-sdk/middleware-endpoint": "3.208.0", + "@aws-sdk/middleware-host-header": "3.208.0", + "@aws-sdk/middleware-logger": "3.208.0", + "@aws-sdk/middleware-recursion-detection": "3.208.0", + "@aws-sdk/middleware-retry": "3.209.0", + "@aws-sdk/middleware-sdk-sts": "3.208.0", + "@aws-sdk/middleware-serde": "3.208.0", + "@aws-sdk/middleware-signing": "3.208.0", + "@aws-sdk/middleware-stack": "3.208.0", + "@aws-sdk/middleware-user-agent": "3.208.0", + "@aws-sdk/node-config-provider": "3.209.0", + "@aws-sdk/node-http-handler": "3.208.0", + "@aws-sdk/protocol-http": "3.208.0", + "@aws-sdk/smithy-client": "3.209.0", + "@aws-sdk/types": "3.208.0", + "@aws-sdk/url-parser": "3.208.0", + "@aws-sdk/util-base64": "3.208.0", + "@aws-sdk/util-body-length-browser": "3.188.0", + "@aws-sdk/util-body-length-node": "3.208.0", + "@aws-sdk/util-defaults-mode-browser": "3.209.0", + "@aws-sdk/util-defaults-mode-node": "3.209.0", + "@aws-sdk/util-endpoints": "3.209.0", + "@aws-sdk/util-user-agent-browser": "3.208.0", + "@aws-sdk/util-user-agent-node": "3.209.0", + "@aws-sdk/util-utf8-browser": "3.188.0", + "@aws-sdk/util-utf8-node": "3.208.0", + "fast-xml-parser": "4.0.11", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/config-resolver": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.209.0.tgz", + "integrity": "sha512-wLXI1Jg9xx9wE8vdIfOgSKnoBWbn9j3IvW4+7PnM/nf5xC30/Jp4j+JndEG/BKyDQF7HJQTIeRpSkwKaqJhCRA==", + "optional": true, + "dependencies": { + "@aws-sdk/signature-v4": "3.208.0", + "@aws-sdk/types": "3.208.0", + "@aws-sdk/util-config-provider": "3.208.0", + "@aws-sdk/util-middleware": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-cognito-identity": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.209.0.tgz", + "integrity": "sha512-31OAwgElZlJyPoV0WwerRSIrrlMlbXX6rpoBceHu9m+wACu18P+GwqKjMCjTL04Q+z7zr699pLCLp5lbLYJe3w==", + "optional": true, + "dependencies": { + "@aws-sdk/client-cognito-identity": "3.209.0", + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.208.0.tgz", + "integrity": "sha512-FB+KUSpZc03wVTXxGnMmgtaP0sJOv0D7oyogHb7wcf5b7RjjwqoaeUcJHTdKRZaW6e1foLk3/L9uebxiWefDbQ==", + "optional": true, + "dependencies": { + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-imds": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.209.0.tgz", + "integrity": "sha512-EjA1nWduIHjALjNF6O2lpKVOoTIlfGHgvqCxjFf7XNqBTTKWCxEflcmUgqXwo9A7TU0mTTyr7nLGMAsNE2CR3w==", + "optional": true, + "dependencies": { + "@aws-sdk/node-config-provider": "3.209.0", + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/types": "3.208.0", + "@aws-sdk/url-parser": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.209.0.tgz", + "integrity": "sha512-aszuzkKIg7V+tCcq8RNpr1dAyECXWvJRAvzlmE5ZBYtjHMIX/qVAqSP4sfLNeI/Qagyj7W0TeVA1XVRjkivjYA==", + "optional": true, + "dependencies": { + "@aws-sdk/credential-provider-env": "3.208.0", + "@aws-sdk/credential-provider-imds": "3.209.0", + "@aws-sdk/credential-provider-sso": "3.209.0", + "@aws-sdk/credential-provider-web-identity": "3.208.0", + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/shared-ini-file-loader": "3.209.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.209.0.tgz", + "integrity": "sha512-R0kV6B+GxbfdSowf/6eeEAHZC6X7P/IxJ/o/gCuMmAOixge0e6AWVgCvrd0cg0togJHWbmoYSuUyqWPIMxM1Yg==", + "optional": true, + "dependencies": { + "@aws-sdk/credential-provider-env": "3.208.0", + "@aws-sdk/credential-provider-imds": "3.209.0", + "@aws-sdk/credential-provider-ini": "3.209.0", + "@aws-sdk/credential-provider-process": "3.209.0", + "@aws-sdk/credential-provider-sso": "3.209.0", + "@aws-sdk/credential-provider-web-identity": "3.208.0", + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/shared-ini-file-loader": "3.209.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.209.0.tgz", + "integrity": "sha512-G0urC5p1kgUfgpK8lncdisSewa8onnoQAVdf2Uh51hOqc7UufGce+ouvLH8J2iMkMaL1MSyu8fqwfZNyDtH37g==", + "optional": true, + "dependencies": { + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/shared-ini-file-loader": "3.209.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.209.0.tgz", + "integrity": "sha512-SKzUYOn2EFx58+iU1KihGLtBz9s1jolWUQ6HYxOy4AkWnZVGUt9Vb4mIo6wB07nSSUgYRxOSYn21SKvvBzpc2g==", + "optional": true, + "dependencies": { + "@aws-sdk/client-sso": "3.209.0", + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/shared-ini-file-loader": "3.209.0", + "@aws-sdk/token-providers": "3.209.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.208.0.tgz", + "integrity": "sha512-7wtrdEr8uvDr5t0stimrXGsW4G+TQyluZ9OucCCY0HXgNihmnk1BIu+COuOSxRtFXHwCh4rIPaVE1ABG2Mq24g==", + "optional": true, + "dependencies": { + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/credential-providers": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.209.0.tgz", + "integrity": "sha512-/oQJwzTedZC5TbQJ2pwHcpbcZS7O1RzP/3+cICw73WrIjlrpS1JGmTCvTGrIfGE8RUk5GKdLN3fjgTpVCS82cA==", + "optional": true, + "dependencies": { + "@aws-sdk/client-cognito-identity": "3.209.0", + "@aws-sdk/client-sso": "3.209.0", + "@aws-sdk/client-sts": "3.209.0", + "@aws-sdk/credential-provider-cognito-identity": "3.209.0", + "@aws-sdk/credential-provider-env": "3.208.0", + "@aws-sdk/credential-provider-imds": "3.209.0", + "@aws-sdk/credential-provider-ini": "3.209.0", + "@aws-sdk/credential-provider-node": "3.209.0", + "@aws-sdk/credential-provider-process": "3.209.0", + "@aws-sdk/credential-provider-sso": "3.209.0", + "@aws-sdk/credential-provider-web-identity": "3.208.0", + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/shared-ini-file-loader": "3.209.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/fetch-http-handler": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.208.0.tgz", + "integrity": "sha512-GuwkwOeyLKCbSbnFlyHdlKd7u54cnQUI8NfVDAxpZvomY3PV476Tzg8XEyOYE67r5rR6XMqn6IK1PmFAACY+ew==", + "optional": true, + "dependencies": { + "@aws-sdk/protocol-http": "3.208.0", + "@aws-sdk/querystring-builder": "3.208.0", + "@aws-sdk/types": "3.208.0", + "@aws-sdk/util-base64": "3.208.0", + "tslib": "^2.3.1" + } + }, + "node_modules/@aws-sdk/hash-node": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.208.0.tgz", + "integrity": "sha512-X5u6nD9+wzaA6qhqbobxsIgiyDJMW8NgqjZgHoc5x1wz4unHUCEuSBZy1kbIZ6+EPZ9bQHQZ21gKgf1j5vhsvQ==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.208.0", + "@aws-sdk/util-buffer-from": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/invalid-dependency": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.208.0.tgz", + "integrity": "sha512-mUpbtijk14KntYy+w5FSvmsfj/Dqa8HylYeCKniKBKkQ1avjEz7CdizVoxyZrR3rldnLE3gItr0FEDRUhtfkAA==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "node_modules/@aws-sdk/is-array-buffer": { + "version": "3.201.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.201.0.tgz", + "integrity": "sha512-UPez5qLh3dNgt0DYnPD/q0mVJY84rA17QE26hVNOW3fAji8W2wrwrxdacWOxyXvlxWsVRcKmr+lay1MDqpAMfg==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-content-length": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.208.0.tgz", + "integrity": "sha512-8bLh7lHtmKQQ2fk0fGiP7pcVJglB/dz7Q9OooxFYK+eybqxfIDDUgKphA8AFT5W34tJRh5nhT3QTJ6zrOTQM3w==", + "optional": true, + "dependencies": { + "@aws-sdk/protocol-http": "3.208.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-endpoint": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.208.0.tgz", + "integrity": "sha512-pVa/cyB6ronfTVAoKUUTFbAPslDPU43DWOKXY/bACC3ys1lFo1CWjz4dLSQARxEEW3iZ1yZTy0zoHXnNrw5CFQ==", + "optional": true, + "dependencies": { + "@aws-sdk/middleware-serde": "3.208.0", + "@aws-sdk/protocol-http": "3.208.0", + "@aws-sdk/signature-v4": "3.208.0", + "@aws-sdk/types": "3.208.0", + "@aws-sdk/url-parser": "3.208.0", + "@aws-sdk/util-config-provider": "3.208.0", + "@aws-sdk/util-middleware": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.208.0.tgz", + "integrity": "sha512-3oyXK81TLWOZ2T/9Ltpbj/Z7R4QWSf+FCQRpY48ND2im/ALkgFRk/tmDTOshv+TQzW1q2lOSEeq4vK6yOCar7g==", + "optional": true, + "dependencies": { + "@aws-sdk/protocol-http": "3.208.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-logger": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.208.0.tgz", + "integrity": "sha512-mwSpuWruB8RrgUAAW7w/lvadnMDesl/bZ2IELBgJri+2rIqLGbAtygJBiG0Y3e8/IeOHuKuGkN1rFYZ4SKr7/A==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.208.0.tgz", + "integrity": "sha512-Dgpf5NEOYXvkQuGcbxvDovTh4HwO4ULJReGko67NJjgdZZyFS1fNykVPncxenRpsN9SJBigswYs3lwPVpqijzA==", + "optional": true, + "dependencies": { + "@aws-sdk/protocol-http": "3.208.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-retry": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.209.0.tgz", + "integrity": "sha512-PGHbpGw74HxmtqsMEH+xn2oC5/BPdHVyapB66x83n+sywt1ejTiarbQhNs70YzcSsTrJfbhbrFP1V9AzRmMaQA==", + "optional": true, + "dependencies": { + "@aws-sdk/protocol-http": "3.208.0", + "@aws-sdk/service-error-classification": "3.208.0", + "@aws-sdk/types": "3.208.0", + "@aws-sdk/util-middleware": "3.208.0", + "tslib": "^2.3.1", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-sdk-sts": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.208.0.tgz", + "integrity": "sha512-lFVodZHYLF7puXgNZ1m5ycKbyCPp79nqI+pkRXl066ZtZWzCW8+JKCaLjF3jfXlnvg6foPDJdxUvt0VU5EddGg==", + "optional": true, + "dependencies": { + "@aws-sdk/middleware-signing": "3.208.0", + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/protocol-http": "3.208.0", + "@aws-sdk/signature-v4": "3.208.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-serde": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.208.0.tgz", + "integrity": "sha512-3h2yP6qyf/IhfdvyFeNX7w4BF37vOZvfUDBq+wb1QEc7DCAskoUKWtCCKJ9HDq3IJQp8hzqY82eawUir6flqlQ==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-signing": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.208.0.tgz", + "integrity": "sha512-cMSWhg8xOrxZw04EYKEQQQ7RT+03rigS4KS3Uy6x/M+jFyoM+sRiY/7376sJCwlpvKH2xJIVpwPbKk/uz4j4DA==", + "optional": true, + "dependencies": { + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/protocol-http": "3.208.0", + "@aws-sdk/signature-v4": "3.208.0", + "@aws-sdk/types": "3.208.0", + "@aws-sdk/util-middleware": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-stack": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.208.0.tgz", + "integrity": "sha512-bvFPUa+RTB7PSRCUsO6bRlEtiEadrDES+dpNmInMNQ9kmbd4OhNOCb664hhtiglIIXX5cd8mSPEo+w/RV0kEEQ==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.208.0.tgz", + "integrity": "sha512-6RNf+TOZpiCy7xUcDSh8ji/x8ht1oAM+qIhm6hsEPLdI1cTvbPZrwowO9Y6L0J68V9OkEgLYiq77KKKYT7QQSw==", + "optional": true, + "dependencies": { + "@aws-sdk/protocol-http": "3.208.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/node-config-provider": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.209.0.tgz", + "integrity": "sha512-jNrUn8qTN9BIxHCcLTv2s2h8Riaz4kjwDhubVQNyI0WGZ+PYKATnZjA+Guzbnq2WMzZmwrMIE5GoOiVsPD8xYQ==", + "optional": true, + "dependencies": { + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/shared-ini-file-loader": "3.209.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/node-http-handler": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.208.0.tgz", + "integrity": "sha512-2t0b9Id7WekluqxQdPugAZhe/wdzW0L53rfMEfDS3R0INNSq1sEfddIfCzJrmfWDCrCOGIDNyxo/w7Ki3NclzQ==", + "optional": true, + "dependencies": { + "@aws-sdk/abort-controller": "3.208.0", + "@aws-sdk/protocol-http": "3.208.0", + "@aws-sdk/querystring-builder": "3.208.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/property-provider": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.208.0.tgz", + "integrity": "sha512-aUhfuwXjZ5TGzLhBstuAMmbnxHXeSGhzoIS8yy465ifgc95p6cHFZf+ZibgwgCMaGrKlTDCia2zwwpKQHN+4cw==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/protocol-http": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.208.0.tgz", + "integrity": "sha512-Sr9dmaW0Z9X9s16NHZn94efLRpaqLyLqABFPgjqE8cYP6eLX/VrmZGNR62GFVxCiyEEpVxy4Ddk1YkbRwnuonA==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/querystring-builder": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.208.0.tgz", + "integrity": "sha512-1Rpauh5hWlK++KjsHQjHcSN7yE05hj1FVb0HaeLrFIJB5rQYWXK7DpOUhmv5SOmU+q6cIM2kNCrSxH31+WglMw==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.208.0", + "@aws-sdk/util-uri-escape": "3.201.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/querystring-parser": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.208.0.tgz", + "integrity": "sha512-dVVLdP3il9bJX74/BNBjFn59XrEVBUZ4xSKYH6t7dgSz9uSu8DcT4pPzwaq+/94dVewCW3zq2jVA1iw1rK7JVQ==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/service-error-classification": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.208.0.tgz", + "integrity": "sha512-ZZWV3AOTd8UDcfXCNoQ8v4sHaTgFxGaXWO0NHHgqFbVYr1d+8EXQiOy/v8JsY1jrfoXBWXptTOcioCTeM0xBpw==", + "optional": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/shared-ini-file-loader": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.209.0.tgz", + "integrity": "sha512-hji3B/q3zFuElaUQM/ZZUFbCFBsaVjpWATgiDTnSYP+MShWvvwm/WigeC2aCNos1bs/8HVizOy9cmvK63vLZbw==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/signature-v4": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.208.0.tgz", + "integrity": "sha512-+c5A8RsN4Lk3TXFiQ3ZsW7sJ4zYPPmYQ55ITSfjock5hzgM1vW43Mgvjjq6foW5L7SNfdhLH+NrhpgFwSF/GeA==", + "optional": true, + "dependencies": { + "@aws-sdk/is-array-buffer": "3.201.0", + "@aws-sdk/types": "3.208.0", + "@aws-sdk/util-hex-encoding": "3.201.0", + "@aws-sdk/util-middleware": "3.208.0", + "@aws-sdk/util-uri-escape": "3.201.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/smithy-client": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.209.0.tgz", + "integrity": "sha512-+d9lPAFOu3hZdLfyzMurRU6xZ+eqwKbF6HY7mDL4hGafRb/uw28HBncSwyUk5s7MIND9+RnvY4F/MwBq9wznXg==", + "optional": true, + "dependencies": { + "@aws-sdk/middleware-stack": "3.208.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/token-providers": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.209.0.tgz", + "integrity": "sha512-MMtL/yD98SxjejcZYghLN4qhC1TDNeHjnzb+zBcXANxgh5m+QdhERsZkDGU8QiEo+DL6M2HKbwyXu82z89sqnQ==", + "optional": true, + "dependencies": { + "@aws-sdk/client-sso-oidc": "3.209.0", + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/shared-ini-file-loader": "3.209.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/types": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.208.0.tgz", + "integrity": "sha512-5AuOPtY1Hdf4xoEo+voRijl3OnFm8IB+oITXl+SN2iASJv+XPnRNw/QVbIxfGeWgWhmK31F+XdjTYsjT2rx8Qw==", + "optional": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/url-parser": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.208.0.tgz", + "integrity": "sha512-zhU231xkZbUh68Z/TGNRW30MGTZQVigGuMiJU6eOtL2aOulnKqI1Yjs/QejrTtPWsqSihWvxOUZ2cVRPyeOvrA==", + "optional": true, + "dependencies": { + "@aws-sdk/querystring-parser": "3.208.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "node_modules/@aws-sdk/util-base64": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64/-/util-base64-3.208.0.tgz", + "integrity": "sha512-PQniZph5A6N7uuEOQi+1hnMz/FSOK/8kMFyFO+4DgA1dZ5pcKcn5wiFwHkcTb/BsgVqQa3Jx0VHNnvhlS8JyTg==", + "optional": true, + "dependencies": { + "@aws-sdk/util-buffer-from": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-body-length-browser": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.188.0.tgz", + "integrity": "sha512-8VpnwFWXhnZ/iRSl9mTf+VKOX9wDE8QtN4bj9pBfxwf90H1X7E8T6NkiZD3k+HubYf2J94e7DbeHs7fuCPW5Qg==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + } + }, + "node_modules/@aws-sdk/util-body-length-node": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.208.0.tgz", + "integrity": "sha512-3zj50e5g7t/MQf53SsuuSf0hEELzMtD8RX8C76f12OSRo2Bca4FLLYHe0TZbxcfQHom8/hOaeZEyTyMogMglqg==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-buffer-from": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.208.0.tgz", + "integrity": "sha512-7L0XUixNEFcLUGPeBF35enCvB9Xl+K6SQsmbrPk1P3mlV9mguWSDQqbOBwY1Ir0OVbD6H/ZOQU7hI/9RtRI0Zw==", + "optional": true, + "dependencies": { + "@aws-sdk/is-array-buffer": "3.201.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-config-provider": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.208.0.tgz", + "integrity": "sha512-DSRqwrERUsT34ug+anlMBIFooBEGwM8GejC7q00Y/9IPrQy50KnG5PW2NiTjuLKNi7pdEOlwTSEocJE15eDZIg==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-defaults-mode-browser": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.209.0.tgz", + "integrity": "sha512-c+AlHqsgeDr9+87fS1wfnyVzEH3myt56GvNt0puzIv0QQqfpobMnfN8/Fy0cqMpf1eQNYY4a6lFlkComsXi5dw==", + "optional": true, + "dependencies": { + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/types": "3.208.0", + "bowser": "^2.11.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/util-defaults-mode-node": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.209.0.tgz", + "integrity": "sha512-RljPVLog6EX052DQjx4XQ95n7ZiAbmn7Vd6YSn1x93U797umaC5CnrT7a/WusTQACtxBDFWcosRgO1ZGDXuRKQ==", + "optional": true, + "dependencies": { + "@aws-sdk/config-resolver": "3.209.0", + "@aws-sdk/credential-provider-imds": "3.209.0", + "@aws-sdk/node-config-provider": "3.209.0", + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.209.0.tgz", + "integrity": "sha512-jwraCtWjQ0P4LyIg4qoQRF94mTUg0zFPmicy4v+Dq1V8BBRf6YWa9B10SoIdGIKQXmQvoyahK5OuH5SWKkY2pw==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-hex-encoding": { + "version": "3.201.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.201.0.tgz", + "integrity": "sha512-7t1vR1pVxKx0motd3X9rI3m/xNp78p3sHtP5yo4NP4ARpxyJ0fokBomY8ScaH2D/B+U5o9ARxldJUdMqyBlJcA==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-locate-window": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.208.0.tgz", + "integrity": "sha512-iua1A2+P7JJEDHVgvXrRJSvsnzG7stYSGQnBVphIUlemwl6nN5D+QrgbjECtrbxRz8asYFHSzhdhECqN+tFiBg==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-middleware": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.208.0.tgz", + "integrity": "sha512-oXilrYpXwaPyMw1uNjL1wmR54zeFzIWx2ve1MSMheIYr26deFP3RpMfKkGXwiOvXzZ9pzTcA8shNLhg1frO/zg==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-uri-escape": { + "version": "3.201.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.201.0.tgz", + "integrity": "sha512-TeTWbGx4LU2c5rx0obHeDFeO9HvwYwQtMh1yniBz00pQb6Qt6YVOETVQikRZ+XRQwEyCg/dA375UplIpiy54mA==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.208.0.tgz", + "integrity": "sha512-Z5n9Kg2pBstzzQgRymQRgb4pM0bNPLGQejB3ZmCAphaxvuTBfu2E6KO55h5WwkFHUuh0i5u2wn1BI9R66S8CgQ==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.208.0", + "bowser": "^2.11.0", + "tslib": "^2.3.1" + } + }, + "node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.209.0.tgz", + "integrity": "sha512-lWfvnSX8rckMGaalrKZmBlPW7F0QOviG7XbLffwToN4HnYUyXcZXIE4EzOQzuOvDsOUlos/xLkUj6krdIAApcA==", + "optional": true, + "dependencies": { + "@aws-sdk/node-config-provider": "3.209.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, + "node_modules/@aws-sdk/util-utf8-browser": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.188.0.tgz", + "integrity": "sha512-jt627x0+jE+Ydr9NwkFstg3cUvgWh56qdaqAMDsqgRlKD21md/6G226z/Qxl7lb1VEW2LlmCx43ai/37Qwcj2Q==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + } + }, + "node_modules/@aws-sdk/util-utf8-node": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.208.0.tgz", + "integrity": "sha512-jKY87Acv0yWBdFxx6bveagy5FYjz+dtV8IPT7ay1E2WPWH1czoIdMAkc8tSInK31T6CRnHWkLZ1qYwCbgRfERQ==", + "optional": true, + "dependencies": { + "@aws-sdk/util-buffer-from": "3.208.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@derhuerst/http-basic": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/@derhuerst/http-basic/-/http-basic-8.2.4.tgz", + "integrity": "sha512-F9rL9k9Xjf5blCz8HsJRO4diy111cayL2vkY2XE4r4t3n0yPXVYy3KD3nJ1qbrSn9743UWSXH4IwuCa/HWlGFw==", + "dependencies": { + "caseless": "^0.12.0", + "concat-stream": "^2.0.0", + "http-response-object": "^3.0.1", + "parse-cache-control": "^1.0.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@discordjs/builders": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-1.3.0.tgz", + "integrity": "sha512-Pvca6Nw8Hp+n3N+Wp17xjygXmMvggbh5ywUsOYE2Et4xkwwVRwgzxDJiMUuYapPtnYt4w/8aKlf5khc8ipLvhg==", + "dependencies": { + "@discordjs/util": "^0.1.0", + "@sapphire/shapeshift": "^3.7.0", + "discord-api-types": "^0.37.12", + "fast-deep-equal": "^3.1.3", + "ts-mixer": "^6.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.9.0" + } + }, + "node_modules/@discordjs/collection": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-1.2.0.tgz", + "integrity": "sha512-VvrrtGb7vbfPHzbhGq9qZB5o8FOB+kfazrxdt0OtxzSkoBuw9dURMkCwWizZ00+rDpiK2HmLHBZX+y6JsG9khw==", + "engines": { + "node": ">=16.9.0" + } + }, + "node_modules/@discordjs/rest": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@discordjs/rest/-/rest-1.3.0.tgz", + "integrity": "sha512-U6X5J+r/MxYpPTlHFuPxXEf92aKsBaD2teBC7sWkKILIr30O8c9+XshfL7KFBCavnAqS/qE+PF9fgRilO3N44g==", + "dependencies": { + "@discordjs/collection": "^1.2.0", + "@discordjs/util": "^0.1.0", + "@sapphire/async-queue": "^1.5.0", + "@sapphire/snowflake": "^3.2.2", + "discord-api-types": "^0.37.12", + "file-type": "^18.0.0", + "tslib": "^2.4.0", + "undici": "^5.11.0" + }, + "engines": { + "node": ">=16.9.0" + } + }, + "node_modules/@discordjs/util": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@discordjs/util/-/util-0.1.0.tgz", + "integrity": "sha512-e7d+PaTLVQav6rOc2tojh2y6FE8S7REkqLldq1XF4soCx74XB/DIjbVbVLtBemf0nLW77ntz0v+o5DytKwFNLQ==", + "engines": { + "node": ">=16.9.0" + } + }, + "node_modules/@discordjs/voice": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@discordjs/voice/-/voice-0.13.0.tgz", + "integrity": "sha512-ZzwDmVINaLgkoDUeTJfpN9TkjINMLfTVoLMtEygm0YC5jTTw7AvKGqhc+Ae/2kNLywd0joyFVNrLp94yCkQ9SA==", + "dependencies": { + "@types/ws": "^8.5.3", + "discord-api-types": "^0.37.12", + "prism-media": "^1.3.4", + "tslib": "^2.4.0", + "ws": "^8.9.0" + }, + "engines": { + "node": ">=16.9.0" + } + }, + "node_modules/@sapphire/async-queue": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.5.0.tgz", + "integrity": "sha512-JkLdIsP8fPAdh9ZZjrbHWR/+mZj0wvKS5ICibcLrRI1j84UmLMshx5n9QmL8b95d4onJ2xxiyugTgSAX7AalmA==", + "engines": { + "node": ">=v14.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@sapphire/shapeshift": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@sapphire/shapeshift/-/shapeshift-3.7.0.tgz", + "integrity": "sha512-A6vI1zJoxhjWo4grsxpBRBgk96SqSdjLX5WlzKp9H+bJbkM07mvwcbtbVAmUZHbi/OG3HLfiZ1rlw4BhH6tsBQ==", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "lodash.uniqwith": "^4.5.0" + }, + "engines": { + "node": ">=v14.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@sapphire/snowflake": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@sapphire/snowflake/-/snowflake-3.2.2.tgz", + "integrity": "sha512-ula2O0kpSZtX9rKXNeQMrHwNd7E4jPDJYUXmEGTFdMRfyfMw+FPyh04oKMjAiDuOi64bYgVkOV3MjK+loImFhQ==", + "engines": { + "node": ">=v14.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==" + }, + "node_modules/@tokenizer/token": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", + "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==" + }, + "node_modules/@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" + }, + "node_modules/@types/cors": { + "version": "2.8.12", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", + "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" + }, + "node_modules/@types/node": { + "version": "18.11.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", + "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" + }, + "node_modules/@types/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog==" + }, + "node_modules/@types/whatwg-url": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz", + "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==", + "dependencies": { + "@types/node": "*", + "@types/webidl-conversions": "*" + } + }, + "node_modules/@types/ws": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", + "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agent-base/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/agent-base/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, + "node_modules/async.parallellimit": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/async.parallellimit/-/async.parallellimit-0.5.2.tgz", + "integrity": "sha512-4Di2nFsb3jL7aUIICvRSvtw/oynpMIx0JrwYn5hqJI661Dd+mYBi2ElOukOQgRHihU1SCTapb86Vx/Snva5M1w==", + "dependencies": { + "async.util.eachoflimit": "0.5.2", + "async.util.parallel": "0.5.2" + } + }, + "node_modules/async.util.eachoflimit": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/async.util.eachoflimit/-/async.util.eachoflimit-0.5.2.tgz", + "integrity": "sha512-oZksH0sBW0AEOJKgBCQ79io9DZruoRBLTAea/Ik36pejR7pDpByvtXeuJsoZdPwSVslsrQcsUfucbUaiXYBnAQ==", + "dependencies": { + "async.util.keyiterator": "0.5.2", + "async.util.noop": "0.5.2", + "async.util.once": "0.5.2", + "async.util.onlyonce": "0.5.2" + } + }, + "node_modules/async.util.isarray": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/async.util.isarray/-/async.util.isarray-0.5.2.tgz", + "integrity": "sha512-wbUzlrwON8RUgi+v/rhF0U99Ce8Osjcn+JP/mFNg6ymvShcobAOvE6cvLajSY5dPqKCOE1xfdhefgBif11zZgw==" + }, + "node_modules/async.util.isarraylike": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/async.util.isarraylike/-/async.util.isarraylike-0.5.2.tgz", + "integrity": "sha512-DbFpsz3ZFNkohAW8IpGTlm8gotU32zpqe3Y2XkEA/G3XNO6rmUTKPpo7XgXUruoI+AsGi8+0zWpJHe7t1sLiAg==", + "dependencies": { + "async.util.isarray": "0.5.2" + } + }, + "node_modules/async.util.keyiterator": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/async.util.keyiterator/-/async.util.keyiterator-0.5.2.tgz", + "integrity": "sha512-cktrETawCwgu13y3KZs2uMGFnNHc+IjKPZsavtRaoCjLELkePb2co4zrr+ghPvEqLXZIJPTKqC2HFZgJTssMVw==", + "dependencies": { + "async.util.isarraylike": "0.5.2", + "async.util.keys": "0.5.2" + } + }, + "node_modules/async.util.keys": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/async.util.keys/-/async.util.keys-0.5.2.tgz", + "integrity": "sha512-umCOCRCRYwIC2Ho3fbuhKwIIe7OhQsVoVKGoF5GoQiGJUmjP4TG0Bmmcdpm7yW/znoIGKpnjKzVQz0niH4tfqw==" + }, + "node_modules/async.util.noop": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/async.util.noop/-/async.util.noop-0.5.2.tgz", + "integrity": "sha512-AdwShXwE0KoskgqVJAck8zcM32nIHj3AC8ZN62ZaR5srhrY235Nw18vOJZWxcOfhxdVM0hRVKM8kMx7lcl7cCQ==" + }, + "node_modules/async.util.once": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/async.util.once/-/async.util.once-0.5.2.tgz", + "integrity": "sha512-YQ5WPzDTt2jlblUDkq2I5RV/KiAJErJ4/0cEFhYPaZzqIuF/xDzdGvnEKe7UeuoMszsVPeajzcpKgkbwdb9MUA==" + }, + "node_modules/async.util.onlyonce": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/async.util.onlyonce/-/async.util.onlyonce-0.5.2.tgz", + "integrity": "sha512-UgQvkU9JZ+I0Cm1f56XyGXcII+J3d/5XWUuHpcevlItuA3WFSJcqZrsyAUck2FkRSD8BwYQX1zUTDp3SJMVESg==" + }, + "node_modules/async.util.parallel": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/async.util.parallel/-/async.util.parallel-0.5.2.tgz", + "integrity": "sha512-0bEvwmQ8fxsTYNwacw5iq0i3PvGryRkXxZ01Rvox21izdMdls9IH2rAZjfunbgI8j6nFRyIdCmMINQ9kka99ow==", + "dependencies": { + "async.util.isarraylike": "0.5.2", + "async.util.noop": "0.5.2", + "async.util.restparam": "0.5.2" + } + }, + "node_modules/async.util.restparam": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/async.util.restparam/-/async.util.restparam-0.5.2.tgz", + "integrity": "sha512-Q9Z+zgmtMxFX5i7CnBvNOkgrL5hptztCqwarQluyNudUUk4iCmyjmsQl8MuQEjNh3gGqP5ayvDaextL1VXXgIg==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/axios": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.1.3.tgz", + "integrity": "sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==", + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "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/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "node_modules/boolstring": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/boolstring/-/boolstring-1.0.2.tgz", + "integrity": "sha512-0JLNSmZUv1m/O8sVayFm2t0naiOXwQ9O2Gq9u1eoIkhvu6U5NQER/e3k4BGpjZ33G775lWMT7TzJ7r5VtmEnbQ==" + }, + "node_modules/bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==", + "optional": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/bson": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/bson/-/bson-4.7.0.tgz", + "integrity": "sha512-VrlEE4vuiO1WTpfof4VmaVolCVYkYTgB9iWgYNOrVlnifpME/06fhFRmONgBhClD5pFC1t9ZWqFUQEQAzY43bA==", + "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", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/bufferutil": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz", + "integrity": "sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==", + "hasInstallScript": true, + "dependencies": { + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=6.14.2" + } + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + }, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/cli-color": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-1.2.0.tgz", + "integrity": "sha512-AqfwItf/UqGif3FBErI3NHX04v5ywJtGYlL5z4OqWR50u7g+Fz3Xw2qcCIbKVPrqtJCBwSOkDgnSlHbcpwDKHw==", + "dependencies": { + "ansi-regex": "^2.1.1", + "d": "1", + "es5-ext": "^0.10.12", + "es6-iterator": "2", + "memoizee": "^0.4.3", + "timers-ext": "0.1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "engines": [ + "node >= 6.0" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dependencies": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "node_modules/dasu": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/dasu/-/dasu-0.4.3.tgz", + "integrity": "sha512-AFwspl5k7V8MW8H7tyIGJ0gtOauUg7JC+DgiRFUIXvPNNDFXTMtvnCkZY0macN6JLGqBjNP38WVnQN7Iv3RSlg==" + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/denque": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", + "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/discord-api-types": { + "version": "0.37.17", + "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.37.17.tgz", + "integrity": "sha512-5ZIw1VtkmToBy8ziketjHkZnW1FoLevyXdK/TslNFLozijug2RnB3MyBNtSGzML1c72koU3neeGkvFZ8OiU0tQ==" + }, + "node_modules/discord-ytdl-core": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/discord-ytdl-core/-/discord-ytdl-core-5.0.4.tgz", + "integrity": "sha512-O+G9wuCw5TERR9iHZFMYnYQbs/ZGudDc9cxa1OKSV5TdcBYrHGS1JqvE90ZvSQ6SmS4XvqtOf/Okls6yiGJ3sg==", + "dependencies": { + "prism-media": "^1.2.9" + }, + "funding": { + "type": "individual", + "url": "https://paypal.me/devsnowflake" + } + }, + "node_modules/discord.js": { + "version": "14.6.0", + "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-14.6.0.tgz", + "integrity": "sha512-On1K7xpJZRe0KsziIaDih2ksYPhgxym/ZqV45i1f3yig4vUotikqs7qp5oXiTzQ/UTiNRCixUWFTh7vA1YBCqw==", + "dependencies": { + "@discordjs/builders": "^1.3.0", + "@discordjs/collection": "^1.2.0", + "@discordjs/rest": "^1.3.0", + "@discordjs/util": "^0.1.0", + "@sapphire/snowflake": "^3.2.2", + "@types/ws": "^8.5.3", + "discord-api-types": "^0.37.12", + "fast-deep-equal": "^3.1.3", + "lodash.snakecase": "^4.1.1", + "tslib": "^2.4.0", + "undici": "^5.11.0", + "ws": "^8.9.0" + }, + "engines": { + "node": ">=16.9.0" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", + "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.1" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/ejs": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", + "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/engine.io": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz", + "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==", + "dependencies": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.2.3" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io-parser": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz", + "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io/node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/engine.io/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/engine.io/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/engine.io/node_modules/ws": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", + "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/entities": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", + "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/erlpack": { + "version": "0.1.3", + "resolved": "git+ssh://git@github.com/discord/erlpack.git#cbe76be04c2210fc9cb6ff95910f0937c1011d04", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.15.0" + } + }, + "node_modules/es5-ext": { + "version": "0.10.62", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", + "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", + "hasInstallScript": true, + "dependencies": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dependencies": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "node_modules/es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "dependencies": { + "type": "^2.7.2" + } + }, + "node_modules/ext/node_modules/type": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-xml-parser": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.0.11.tgz", + "integrity": "sha512-4aUg3aNRR/WjQAcpceODG1C3x3lFANXRo8+1biqfieHmg9pyMt7qB4lQV/Ta6sJCTbA5vfD8fnA8S54JATiFUA==", + "optional": true, + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + }, + "funding": { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + }, + "node_modules/ffmpeg-static": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ffmpeg-static/-/ffmpeg-static-5.1.0.tgz", + "integrity": "sha512-eEWOiGdbf7HKPeJI5PoJ0oCwkL0hckL2JdS4JOuB/gUETppwkEpq8nF0+e6VEQnDCo/iuoipbTUsn9QJmtpNkg==", + "hasInstallScript": true, + "dependencies": { + "@derhuerst/http-basic": "^8.2.0", + "env-paths": "^2.2.0", + "https-proxy-agent": "^5.0.0", + "progress": "^2.0.3" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/file-type": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-18.0.0.tgz", + "integrity": "sha512-jjMwFpnW8PKofLE/4ohlhqwDk5k0NC6iy0UHAJFKoY1fQeGMN0GDdLgHQrvCbSpMwbqzoCZhRI5dETCZna5qVA==", + "dependencies": { + "readable-web-to-node-stream": "^3.0.2", + "strtok3": "^7.0.0", + "token-types": "^5.0.1" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/file-type?sponsor=1" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/findit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findit/-/findit-2.0.0.tgz", + "integrity": "sha512-ENZS237/Hr8bjczn5eKuBohLgaD0JyUd0arxretR1f9RO46vZHA1b2y0VorgGV3WaOT3c+78P8h7v4JGJ1i/rg==" + }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/htmlparser2": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", + "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "entities": "^4.3.0" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-response-object": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", + "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", + "dependencies": { + "@types/node": "^10.0.3" + } + }, + "node_modules/http-response-object/node_modules/@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/human-time": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/human-time/-/human-time-0.0.2.tgz", + "integrity": "sha512-sbYI90YhYmstslPTb70BLGjy6mdESa0lxL7uDR4fIVAx9Iobz8fLEqi7FqF4Q/6vblrzZALg//MsYJlIPBU8SA==" + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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/ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==" + }, + "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": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" + }, + "node_modules/jake": { + "version": "10.8.5", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", + "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jsonpath-plus": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-5.0.7.tgz", + "integrity": "sha512-7TS6wsiw1s2UMK/A6nA4n0aUJuirCVhJ87nWX5je5MPOl0z5VTr2qs7nMP8NZ2ed3rlt6kePTqddgVPE9F0i0w==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/kareem": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.4.1.tgz", + "integrity": "sha512-aJ9opVoXroQUPfovYP5kaj2lM7Jn02Gw13bL0lg9v0V7SaUc0qavPs0Eue7d2DcC3NjqI6QAUElXNsuZSeM+EA==" + }, + "node_modules/keypress": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/keypress/-/keypress-0.2.1.tgz", + "integrity": "sha512-HjorDJFNhnM4SicvaUXac0X77NiskggxJdesG72+O5zBKpSqKFCrqmndKVqpu3pFqkla0St6uGk8Ju0sCurrmg==" + }, + "node_modules/lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==" + }, + "node_modules/lodash.uniqwith": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniqwith/-/lodash.uniqwith-4.5.0.tgz", + "integrity": "sha512-7lYL8bLopMoy4CTICbxygAUq6CdRJ36vFc80DucPueUee+d5NBRxz3FdT9Pes/HEx5mPoT9jwnsEJWz1N7uq7Q==" + }, + "node_modules/lru-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", + "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==", + "dependencies": { + "es5-ext": "~0.10.2" + } + }, + "node_modules/m3u8stream": { + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/m3u8stream/-/m3u8stream-0.8.6.tgz", + "integrity": "sha512-LZj8kIVf9KCphiHmH7sbFQTVe4tOemb202fWwvJwR9W5ENW/1hxJN6ksAWGhQgSBSa3jyWhnjKU1Fw1GaOdbyA==", + "dependencies": { + "miniget": "^4.2.2", + "sax": "^1.2.4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memoizee": { + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", + "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", + "dependencies": { + "d": "^1.0.1", + "es5-ext": "^0.10.53", + "es6-weak-map": "^2.0.3", + "event-emitter": "^0.3.5", + "is-promise": "^2.2.2", + "lru-queue": "^0.1.0", + "next-tick": "^1.1.0", + "timers-ext": "^0.1.7" + } + }, + "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/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/miniget": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/miniget/-/miniget-4.2.2.tgz", + "integrity": "sha512-a7voNL1N5lDMxvTMExOkg+Fq89jM2vY8pAi9ZEWzZtfNmdfP6RXkvUtFnCAXoCv2T9k1v/fUJVaAEuepGcvLYA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mongodb": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.11.0.tgz", + "integrity": "sha512-9l9n4Nk2BYZzljW3vHah3Z0rfS5npKw6ktnkmFgTcnzaXH1DRm3pDl6VMHu84EVb1lzmSaJC4OzWZqTkB5i2wg==", + "dependencies": { + "bson": "^4.7.0", + "denque": "^2.1.0", + "mongodb-connection-string-url": "^2.5.4", + "socks": "^2.7.1" + }, + "engines": { + "node": ">=12.9.0" + }, + "optionalDependencies": { + "@aws-sdk/credential-providers": "^3.186.0", + "saslprep": "^1.0.3" + } + }, + "node_modules/mongodb-connection-string-url": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.5.4.tgz", + "integrity": "sha512-SeAxuWs0ez3iI3vvmLk/j2y+zHwigTDKQhtdxTgt5ZCOQQS5+HW4g45/Xw5vzzbn7oQXCNQ24Z40AkJsizEy7w==", + "dependencies": { + "@types/whatwg-url": "^8.2.1", + "whatwg-url": "^11.0.0" + } + }, + "node_modules/mongoose": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.7.2.tgz", + "integrity": "sha512-lrP2V5U1qhaf+z33fiIn7aYAZZ1fVDly+TkFRjTujNBF/FIHESATj2RbgAOSlWqv32fsZXkXejXzeVfjbv35Ow==", + "dependencies": { + "bson": "^4.7.0", + "kareem": "2.4.1", + "mongodb": "4.11.0", + "mpath": "0.9.0", + "mquery": "4.0.3", + "ms": "2.1.3", + "sift": "16.0.1" + }, + "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.9.0", + "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz", + "integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mquery": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.3.tgz", + "integrity": "sha512-J5heI+P08I6VJ2Ky3+33IpCdAvlYGTSUjwTPxkAr8i8EoduPMBX2OY/wa3IKZIQl7MU4SbFk8ndgSKyB/cl1zA==", + "dependencies": { + "debug": "4.x" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/mquery/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/mquery/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" + }, + "node_modules/node-fzf": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/node-fzf/-/node-fzf-0.5.3.tgz", + "integrity": "sha512-crN8rRfApu/GUrtKq+zJ6LueUyNAOJpFHxoT2Ru1Q+OYRa/F/H7CXvzcMrFc7D964yakYZEZ9XR3YbdSHXgyCw==", + "dependencies": { + "cli-color": "~1.2.0", + "keypress": "~0.2.1", + "minimist": "~1.2.0", + "redstar": "0.0.2", + "string-width": "~2.1.1", + "ttys": "0.0.3" + }, + "bin": { + "nfzf": "bin/cli.js" + } + }, + "node_modules/node-gyp-build": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", + "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/nodemon": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.20.tgz", + "integrity": "sha512-Km2mWHKKY5GzRg6i1j5OxOHQtuvVsgskLfigG25yTtbyfRGn/GNvIbRyOf1PSCKJ2aT/58TiuUsuOU5UToVViw==", + "dependencies": { + "chokidar": "^3.5.2", + "debug": "^3.2.7", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^5.7.1", + "simple-update-notifier": "^1.0.7", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "bin": { + "nodemon": "bin/nodemon.js" + }, + "engines": { + "node": ">=8.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" + } + }, + "node_modules/nodemon/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/nodemon/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/nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/parse-cache-control": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", + "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" + }, + "node_modules/parse5": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.1.tgz", + "integrity": "sha512-kwpuwzB+px5WUg9pyK0IcK/shltJN5/OVhQagxhCQNtT9Y9QRZqNY2e1cmbu/paRh5LMnz/oVTVLBpjFmMZhSg==", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "dependencies": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "node_modules/peek-readable": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0.tgz", + "integrity": "sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/prism-media": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.3.4.tgz", + "integrity": "sha512-eW7LXORkTCQznZs+eqe9VjGOrLBxcBPXgNyHXMTSRVhphvd/RrxgIR7WaWt4fkLuhshcdT5KHL88LAfcvS3f5g==", + "peerDependencies": { + "@discordjs/opus": "^0.8.0", + "ffmpeg-static": "^5.0.2 || ^4.2.7 || ^3.0.0 || ^2.4.0", + "node-opus": "^0.3.3", + "opusscript": "^0.0.8" + }, + "peerDependenciesMeta": { + "@discordjs/opus": { + "optional": true + }, + "ffmpeg-static": { + "optional": true + }, + "node-opus": { + "optional": true + }, + "opusscript": { + "optional": true + } + } + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==" + }, + "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/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readable-web-to-node-stream": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", + "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", + "dependencies": { + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/redstar": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/redstar/-/redstar-0.0.2.tgz", + "integrity": "sha512-VNvLaLxMJMYiAasJX5Q/GC+Os7FXL0yPWFDuTodhR7Na9wqzrXsePPWC+EtIv4t3q5DyAK00w423xi5mQN2fqg==", + "dependencies": { + "minimatch": "~3.0.4" + } + }, + "node_modules/redstar/node_modules/minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "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/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/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/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sift": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/sift/-/sift-16.0.1.tgz", + "integrity": "sha512-Wv6BjQ5zbhW7VFefWusVP33T/EM0vYikCaQ2qR8yULbsilAT8/wQaXvuQ3ptGLpoKx+lihJE3y2UTgKDyyNHZQ==" + }, + "node_modules/simple-update-notifier": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz", + "integrity": "sha512-BBKgR84BJQJm6WjWFMHgLVuo61FBDSj1z/xSFUIozqO6wO7ii0JxCqlIud7Enr/+LhlbNI0whErq96P2qHNWew==", + "dependencies": { + "semver": "~7.0.0" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/simple-update-notifier/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "bin": { + "semver": "bin/semver.js" + } + }, + "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/socket.io": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.3.tgz", + "integrity": "sha512-zdpnnKU+H6mOp7nYRXH4GNv1ux6HL6+lHL8g7Ds7Lj8CkdK1jJK/dlwsKDculbyOHifcJ0Pr/yeXnZQ5GeFrcg==", + "dependencies": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "debug": "~4.3.2", + "engine.io": "~6.2.0", + "socket.io-adapter": "~2.4.0", + "socket.io-parser": "~4.2.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz", + "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==" + }, + "node_modules/socket.io-parser": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz", + "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-parser/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io-parser/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/socket.io/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/socks": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "dependencies": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/sparse-bitfield": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", + "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", + "optional": true, + "dependencies": { + "memory-pager": "^1.0.2" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", + "optional": true + }, + "node_modules/strtok3": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-7.0.0.tgz", + "integrity": "sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==", + "dependencies": { + "@tokenizer/token": "^0.3.0", + "peek-readable": "^5.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/timers-ext": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", + "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", + "dependencies": { + "es5-ext": "~0.10.46", + "next-tick": "1" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/token-types": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-5.0.1.tgz", + "integrity": "sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==", + "dependencies": { + "@tokenizer/token": "^0.3.0", + "ieee754": "^1.2.1" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Borewit" + } + }, + "node_modules/touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "dependencies": { + "nopt": "~1.0.10" + }, + "bin": { + "nodetouch": "bin/nodetouch.js" + } + }, + "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/ts-mixer": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.2.tgz", + "integrity": "sha512-zvHx3VM83m2WYCE8XL99uaM7mFwYSkjR2OZti98fabHrwkjsCvgwChda5xctein3xGOyaQhtTeDq/1H/GNvF3A==" + }, + "node_modules/tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + }, + "node_modules/ttys": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/ttys/-/ttys-0.0.3.tgz", + "integrity": "sha512-UCqXRZS2S7U4aVB7Salj3ChPRSsb57ogJpJ1eMCvyowxFOBGsaHKcRU8bovcDwajX1mRbv0IpUnYkoG7Ieo5Zg==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/tweetnacl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" + }, + "node_modules/type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + }, + "node_modules/typescript": { + "version": "4.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz", + "integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==" + }, + "node_modules/undici": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.12.0.tgz", + "integrity": "sha512-zMLamCG62PGjd9HHMpo05bSLvvwWOZgGeiWlN/vlqu3+lRo3elxktVGEyLMX+IO7c2eflLjcW74AlkhEZm15mg==", + "dependencies": { + "busboy": "^1.6.0" + }, + "engines": { + "node": ">=12.18" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/utf-8-validate": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", + "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", + "hasInstallScript": true, + "dependencies": { + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=6.14.2" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "optional": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "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/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/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/yt-search": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/yt-search/-/yt-search-2.10.3.tgz", + "integrity": "sha512-msITxMhn+1f3RIlS2R0d5/275grX0nUgaD570Fap3gvPmwfvR9w31JG8B9++4Xtm6BLAzhdITK7kAWRInef8QQ==", + "dependencies": { + "async.parallellimit": "~0.5.2", + "boolstring": "~1.0.2", + "cheerio": "^1.0.0-rc.10", + "dasu": "~0.4.3", + "human-time": "0.0.2", + "jsonpath-plus": "~5.0.2", + "minimist": "~1.2.5", + "node-fzf": "~0.5.1" + }, + "bin": { + "yt-search": "bin/cli.js", + "yt-search-audio": "bin/mpv_audio.sh", + "yt-search-video": "bin/mpv_video.sh" + } + }, + "node_modules/ytdl-core": { + "version": "4.11.2", + "resolved": "https://registry.npmjs.org/ytdl-core/-/ytdl-core-4.11.2.tgz", + "integrity": "sha512-D939t9b4ZzP3v0zDvehR2q+KgG97UTgrTKju3pOPGQcXtl4W6W5z0EpznzcJFu+OOpl7S7Ge8hv8zU65QnxYug==", + "dependencies": { + "m3u8stream": "^0.8.6", + "miniget": "^4.2.2", + "sax": "^1.1.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/zlib-sync": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/zlib-sync/-/zlib-sync-0.1.7.tgz", + "integrity": "sha512-UmciU6ZrIwtwPC8noMzq+kGMdiWwNRZ3wC0SbED4Ew5Ikqx14MqDPRs/Pbk+3rZPh5SzsOgUBs1WRE0iieddpg==", + "hasInstallScript": true, + "dependencies": { + "nan": "^2.14.0" + } + } + }, + "dependencies": { + "@aws-crypto/ie11-detection": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.2.tgz", + "integrity": "sha512-5XDMQY98gMAf/WRTic5G++jfmS/VLM0rwpiOpaainKi4L0nqWMSB1SzsrEG5rjFZGYN6ZAefO+/Yta2dFM0kMw==", + "optional": true, + "requires": { + "tslib": "^1.11.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + } + } + }, + "@aws-crypto/sha256-browser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz", + "integrity": "sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==", + "optional": true, + "requires": { + "@aws-crypto/ie11-detection": "^2.0.0", + "@aws-crypto/sha256-js": "^2.0.0", + "@aws-crypto/supports-web-crypto": "^2.0.0", + "@aws-crypto/util": "^2.0.0", + "@aws-sdk/types": "^3.1.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + } + } + }, + "@aws-crypto/sha256-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz", + "integrity": "sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==", + "optional": true, + "requires": { + "@aws-crypto/util": "^2.0.0", + "@aws-sdk/types": "^3.1.0", + "tslib": "^1.11.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + } + } + }, + "@aws-crypto/supports-web-crypto": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.2.tgz", + "integrity": "sha512-6mbSsLHwZ99CTOOswvCRP3C+VCWnzBf+1SnbWxzzJ9lR0mA0JnY2JEAhp8rqmTE0GPFy88rrM27ffgp62oErMQ==", + "optional": true, + "requires": { + "tslib": "^1.11.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + } + } + }, + "@aws-crypto/util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.2.tgz", + "integrity": "sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA==", + "optional": true, + "requires": { + "@aws-sdk/types": "^3.110.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + } + } + }, + "@aws-sdk/abort-controller": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.208.0.tgz", + "integrity": "sha512-mQkDR+8VLCafg9KI4TgftftBOL170ricyb+HgV8n5jLDrEG+TfOfud8e6us2lIFESEuMpohC+/8yIcf6JjKkMg==", + "optional": true, + "requires": { + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/client-cognito-identity": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.209.0.tgz", + "integrity": "sha512-u7lqFKi2PXC/LZzBEBCczlF78/bclv5Gndy4AWxNBdDBbJyuQrE+hk+IIwQQznCeFfgFOhpQMcWFPZH3tSH/qQ==", + "optional": true, + "requires": { + "@aws-crypto/sha256-browser": "2.0.0", + "@aws-crypto/sha256-js": "2.0.0", + "@aws-sdk/client-sts": "3.209.0", + "@aws-sdk/config-resolver": "3.209.0", + "@aws-sdk/credential-provider-node": "3.209.0", + "@aws-sdk/fetch-http-handler": "3.208.0", + "@aws-sdk/hash-node": "3.208.0", + "@aws-sdk/invalid-dependency": "3.208.0", + "@aws-sdk/middleware-content-length": "3.208.0", + "@aws-sdk/middleware-endpoint": "3.208.0", + "@aws-sdk/middleware-host-header": "3.208.0", + "@aws-sdk/middleware-logger": "3.208.0", + "@aws-sdk/middleware-recursion-detection": "3.208.0", + "@aws-sdk/middleware-retry": "3.209.0", + "@aws-sdk/middleware-serde": "3.208.0", + "@aws-sdk/middleware-signing": "3.208.0", + "@aws-sdk/middleware-stack": "3.208.0", + "@aws-sdk/middleware-user-agent": "3.208.0", + "@aws-sdk/node-config-provider": "3.209.0", + "@aws-sdk/node-http-handler": "3.208.0", + "@aws-sdk/protocol-http": "3.208.0", + "@aws-sdk/smithy-client": "3.209.0", + "@aws-sdk/types": "3.208.0", + "@aws-sdk/url-parser": "3.208.0", + "@aws-sdk/util-base64": "3.208.0", + "@aws-sdk/util-body-length-browser": "3.188.0", + "@aws-sdk/util-body-length-node": "3.208.0", + "@aws-sdk/util-defaults-mode-browser": "3.209.0", + "@aws-sdk/util-defaults-mode-node": "3.209.0", + "@aws-sdk/util-endpoints": "3.209.0", + "@aws-sdk/util-user-agent-browser": "3.208.0", + "@aws-sdk/util-user-agent-node": "3.209.0", + "@aws-sdk/util-utf8-browser": "3.188.0", + "@aws-sdk/util-utf8-node": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/client-sso": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.209.0.tgz", + "integrity": "sha512-rh9QktLCOVTbvDzCb0ikSe4Q1I35Wxcx5XZ7k1J+2ze54FOBfCr3vOwcQpo5tpYWEe1Ysbt3gvA8RAqj9oDFdw==", + "optional": true, + "requires": { + "@aws-crypto/sha256-browser": "2.0.0", + "@aws-crypto/sha256-js": "2.0.0", + "@aws-sdk/config-resolver": "3.209.0", + "@aws-sdk/fetch-http-handler": "3.208.0", + "@aws-sdk/hash-node": "3.208.0", + "@aws-sdk/invalid-dependency": "3.208.0", + "@aws-sdk/middleware-content-length": "3.208.0", + "@aws-sdk/middleware-endpoint": "3.208.0", + "@aws-sdk/middleware-host-header": "3.208.0", + "@aws-sdk/middleware-logger": "3.208.0", + "@aws-sdk/middleware-recursion-detection": "3.208.0", + "@aws-sdk/middleware-retry": "3.209.0", + "@aws-sdk/middleware-serde": "3.208.0", + "@aws-sdk/middleware-stack": "3.208.0", + "@aws-sdk/middleware-user-agent": "3.208.0", + "@aws-sdk/node-config-provider": "3.209.0", + "@aws-sdk/node-http-handler": "3.208.0", + "@aws-sdk/protocol-http": "3.208.0", + "@aws-sdk/smithy-client": "3.209.0", + "@aws-sdk/types": "3.208.0", + "@aws-sdk/url-parser": "3.208.0", + "@aws-sdk/util-base64": "3.208.0", + "@aws-sdk/util-body-length-browser": "3.188.0", + "@aws-sdk/util-body-length-node": "3.208.0", + "@aws-sdk/util-defaults-mode-browser": "3.209.0", + "@aws-sdk/util-defaults-mode-node": "3.209.0", + "@aws-sdk/util-endpoints": "3.209.0", + "@aws-sdk/util-user-agent-browser": "3.208.0", + "@aws-sdk/util-user-agent-node": "3.209.0", + "@aws-sdk/util-utf8-browser": "3.188.0", + "@aws-sdk/util-utf8-node": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/client-sso-oidc": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.209.0.tgz", + "integrity": "sha512-KSmT181IcE32lqoZsS0h400qiL/BSQ84DS1iPOqP0NkLcgnvmOkKygVpYjTql2xSUWLQBwPNFihYJ+jmAj3HtQ==", + "optional": true, + "requires": { + "@aws-crypto/sha256-browser": "2.0.0", + "@aws-crypto/sha256-js": "2.0.0", + "@aws-sdk/config-resolver": "3.209.0", + "@aws-sdk/fetch-http-handler": "3.208.0", + "@aws-sdk/hash-node": "3.208.0", + "@aws-sdk/invalid-dependency": "3.208.0", + "@aws-sdk/middleware-content-length": "3.208.0", + "@aws-sdk/middleware-endpoint": "3.208.0", + "@aws-sdk/middleware-host-header": "3.208.0", + "@aws-sdk/middleware-logger": "3.208.0", + "@aws-sdk/middleware-recursion-detection": "3.208.0", + "@aws-sdk/middleware-retry": "3.209.0", + "@aws-sdk/middleware-serde": "3.208.0", + "@aws-sdk/middleware-stack": "3.208.0", + "@aws-sdk/middleware-user-agent": "3.208.0", + "@aws-sdk/node-config-provider": "3.209.0", + "@aws-sdk/node-http-handler": "3.208.0", + "@aws-sdk/protocol-http": "3.208.0", + "@aws-sdk/smithy-client": "3.209.0", + "@aws-sdk/types": "3.208.0", + "@aws-sdk/url-parser": "3.208.0", + "@aws-sdk/util-base64": "3.208.0", + "@aws-sdk/util-body-length-browser": "3.188.0", + "@aws-sdk/util-body-length-node": "3.208.0", + "@aws-sdk/util-defaults-mode-browser": "3.209.0", + "@aws-sdk/util-defaults-mode-node": "3.209.0", + "@aws-sdk/util-endpoints": "3.209.0", + "@aws-sdk/util-user-agent-browser": "3.208.0", + "@aws-sdk/util-user-agent-node": "3.209.0", + "@aws-sdk/util-utf8-browser": "3.188.0", + "@aws-sdk/util-utf8-node": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/client-sts": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.209.0.tgz", + "integrity": "sha512-zWlM+9/JbshEgrG79KZlqYusUziKiKqe8vRlvQ9wcuEHNbQnAri4UvObEKik+7YpTBeP3mR+US1T71G0PqJByw==", + "optional": true, + "requires": { + "@aws-crypto/sha256-browser": "2.0.0", + "@aws-crypto/sha256-js": "2.0.0", + "@aws-sdk/config-resolver": "3.209.0", + "@aws-sdk/credential-provider-node": "3.209.0", + "@aws-sdk/fetch-http-handler": "3.208.0", + "@aws-sdk/hash-node": "3.208.0", + "@aws-sdk/invalid-dependency": "3.208.0", + "@aws-sdk/middleware-content-length": "3.208.0", + "@aws-sdk/middleware-endpoint": "3.208.0", + "@aws-sdk/middleware-host-header": "3.208.0", + "@aws-sdk/middleware-logger": "3.208.0", + "@aws-sdk/middleware-recursion-detection": "3.208.0", + "@aws-sdk/middleware-retry": "3.209.0", + "@aws-sdk/middleware-sdk-sts": "3.208.0", + "@aws-sdk/middleware-serde": "3.208.0", + "@aws-sdk/middleware-signing": "3.208.0", + "@aws-sdk/middleware-stack": "3.208.0", + "@aws-sdk/middleware-user-agent": "3.208.0", + "@aws-sdk/node-config-provider": "3.209.0", + "@aws-sdk/node-http-handler": "3.208.0", + "@aws-sdk/protocol-http": "3.208.0", + "@aws-sdk/smithy-client": "3.209.0", + "@aws-sdk/types": "3.208.0", + "@aws-sdk/url-parser": "3.208.0", + "@aws-sdk/util-base64": "3.208.0", + "@aws-sdk/util-body-length-browser": "3.188.0", + "@aws-sdk/util-body-length-node": "3.208.0", + "@aws-sdk/util-defaults-mode-browser": "3.209.0", + "@aws-sdk/util-defaults-mode-node": "3.209.0", + "@aws-sdk/util-endpoints": "3.209.0", + "@aws-sdk/util-user-agent-browser": "3.208.0", + "@aws-sdk/util-user-agent-node": "3.209.0", + "@aws-sdk/util-utf8-browser": "3.188.0", + "@aws-sdk/util-utf8-node": "3.208.0", + "fast-xml-parser": "4.0.11", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/config-resolver": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.209.0.tgz", + "integrity": "sha512-wLXI1Jg9xx9wE8vdIfOgSKnoBWbn9j3IvW4+7PnM/nf5xC30/Jp4j+JndEG/BKyDQF7HJQTIeRpSkwKaqJhCRA==", + "optional": true, + "requires": { + "@aws-sdk/signature-v4": "3.208.0", + "@aws-sdk/types": "3.208.0", + "@aws-sdk/util-config-provider": "3.208.0", + "@aws-sdk/util-middleware": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/credential-provider-cognito-identity": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.209.0.tgz", + "integrity": "sha512-31OAwgElZlJyPoV0WwerRSIrrlMlbXX6rpoBceHu9m+wACu18P+GwqKjMCjTL04Q+z7zr699pLCLp5lbLYJe3w==", + "optional": true, + "requires": { + "@aws-sdk/client-cognito-identity": "3.209.0", + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/credential-provider-env": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.208.0.tgz", + "integrity": "sha512-FB+KUSpZc03wVTXxGnMmgtaP0sJOv0D7oyogHb7wcf5b7RjjwqoaeUcJHTdKRZaW6e1foLk3/L9uebxiWefDbQ==", + "optional": true, + "requires": { + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/credential-provider-imds": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.209.0.tgz", + "integrity": "sha512-EjA1nWduIHjALjNF6O2lpKVOoTIlfGHgvqCxjFf7XNqBTTKWCxEflcmUgqXwo9A7TU0mTTyr7nLGMAsNE2CR3w==", + "optional": true, + "requires": { + "@aws-sdk/node-config-provider": "3.209.0", + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/types": "3.208.0", + "@aws-sdk/url-parser": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/credential-provider-ini": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.209.0.tgz", + "integrity": "sha512-aszuzkKIg7V+tCcq8RNpr1dAyECXWvJRAvzlmE5ZBYtjHMIX/qVAqSP4sfLNeI/Qagyj7W0TeVA1XVRjkivjYA==", + "optional": true, + "requires": { + "@aws-sdk/credential-provider-env": "3.208.0", + "@aws-sdk/credential-provider-imds": "3.209.0", + "@aws-sdk/credential-provider-sso": "3.209.0", + "@aws-sdk/credential-provider-web-identity": "3.208.0", + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/shared-ini-file-loader": "3.209.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/credential-provider-node": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.209.0.tgz", + "integrity": "sha512-R0kV6B+GxbfdSowf/6eeEAHZC6X7P/IxJ/o/gCuMmAOixge0e6AWVgCvrd0cg0togJHWbmoYSuUyqWPIMxM1Yg==", + "optional": true, + "requires": { + "@aws-sdk/credential-provider-env": "3.208.0", + "@aws-sdk/credential-provider-imds": "3.209.0", + "@aws-sdk/credential-provider-ini": "3.209.0", + "@aws-sdk/credential-provider-process": "3.209.0", + "@aws-sdk/credential-provider-sso": "3.209.0", + "@aws-sdk/credential-provider-web-identity": "3.208.0", + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/shared-ini-file-loader": "3.209.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/credential-provider-process": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.209.0.tgz", + "integrity": "sha512-G0urC5p1kgUfgpK8lncdisSewa8onnoQAVdf2Uh51hOqc7UufGce+ouvLH8J2iMkMaL1MSyu8fqwfZNyDtH37g==", + "optional": true, + "requires": { + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/shared-ini-file-loader": "3.209.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/credential-provider-sso": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.209.0.tgz", + "integrity": "sha512-SKzUYOn2EFx58+iU1KihGLtBz9s1jolWUQ6HYxOy4AkWnZVGUt9Vb4mIo6wB07nSSUgYRxOSYn21SKvvBzpc2g==", + "optional": true, + "requires": { + "@aws-sdk/client-sso": "3.209.0", + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/shared-ini-file-loader": "3.209.0", + "@aws-sdk/token-providers": "3.209.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/credential-provider-web-identity": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.208.0.tgz", + "integrity": "sha512-7wtrdEr8uvDr5t0stimrXGsW4G+TQyluZ9OucCCY0HXgNihmnk1BIu+COuOSxRtFXHwCh4rIPaVE1ABG2Mq24g==", + "optional": true, + "requires": { + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/credential-providers": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.209.0.tgz", + "integrity": "sha512-/oQJwzTedZC5TbQJ2pwHcpbcZS7O1RzP/3+cICw73WrIjlrpS1JGmTCvTGrIfGE8RUk5GKdLN3fjgTpVCS82cA==", + "optional": true, + "requires": { + "@aws-sdk/client-cognito-identity": "3.209.0", + "@aws-sdk/client-sso": "3.209.0", + "@aws-sdk/client-sts": "3.209.0", + "@aws-sdk/credential-provider-cognito-identity": "3.209.0", + "@aws-sdk/credential-provider-env": "3.208.0", + "@aws-sdk/credential-provider-imds": "3.209.0", + "@aws-sdk/credential-provider-ini": "3.209.0", + "@aws-sdk/credential-provider-node": "3.209.0", + "@aws-sdk/credential-provider-process": "3.209.0", + "@aws-sdk/credential-provider-sso": "3.209.0", + "@aws-sdk/credential-provider-web-identity": "3.208.0", + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/shared-ini-file-loader": "3.209.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/fetch-http-handler": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.208.0.tgz", + "integrity": "sha512-GuwkwOeyLKCbSbnFlyHdlKd7u54cnQUI8NfVDAxpZvomY3PV476Tzg8XEyOYE67r5rR6XMqn6IK1PmFAACY+ew==", + "optional": true, + "requires": { + "@aws-sdk/protocol-http": "3.208.0", + "@aws-sdk/querystring-builder": "3.208.0", + "@aws-sdk/types": "3.208.0", + "@aws-sdk/util-base64": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/hash-node": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.208.0.tgz", + "integrity": "sha512-X5u6nD9+wzaA6qhqbobxsIgiyDJMW8NgqjZgHoc5x1wz4unHUCEuSBZy1kbIZ6+EPZ9bQHQZ21gKgf1j5vhsvQ==", + "optional": true, + "requires": { + "@aws-sdk/types": "3.208.0", + "@aws-sdk/util-buffer-from": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/invalid-dependency": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.208.0.tgz", + "integrity": "sha512-mUpbtijk14KntYy+w5FSvmsfj/Dqa8HylYeCKniKBKkQ1avjEz7CdizVoxyZrR3rldnLE3gItr0FEDRUhtfkAA==", + "optional": true, + "requires": { + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/is-array-buffer": { + "version": "3.201.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.201.0.tgz", + "integrity": "sha512-UPez5qLh3dNgt0DYnPD/q0mVJY84rA17QE26hVNOW3fAji8W2wrwrxdacWOxyXvlxWsVRcKmr+lay1MDqpAMfg==", + "optional": true, + "requires": { + "tslib": "^2.3.1" + } + }, + "@aws-sdk/middleware-content-length": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.208.0.tgz", + "integrity": "sha512-8bLh7lHtmKQQ2fk0fGiP7pcVJglB/dz7Q9OooxFYK+eybqxfIDDUgKphA8AFT5W34tJRh5nhT3QTJ6zrOTQM3w==", + "optional": true, + "requires": { + "@aws-sdk/protocol-http": "3.208.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/middleware-endpoint": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.208.0.tgz", + "integrity": "sha512-pVa/cyB6ronfTVAoKUUTFbAPslDPU43DWOKXY/bACC3ys1lFo1CWjz4dLSQARxEEW3iZ1yZTy0zoHXnNrw5CFQ==", + "optional": true, + "requires": { + "@aws-sdk/middleware-serde": "3.208.0", + "@aws-sdk/protocol-http": "3.208.0", + "@aws-sdk/signature-v4": "3.208.0", + "@aws-sdk/types": "3.208.0", + "@aws-sdk/url-parser": "3.208.0", + "@aws-sdk/util-config-provider": "3.208.0", + "@aws-sdk/util-middleware": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/middleware-host-header": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.208.0.tgz", + "integrity": "sha512-3oyXK81TLWOZ2T/9Ltpbj/Z7R4QWSf+FCQRpY48ND2im/ALkgFRk/tmDTOshv+TQzW1q2lOSEeq4vK6yOCar7g==", + "optional": true, + "requires": { + "@aws-sdk/protocol-http": "3.208.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/middleware-logger": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.208.0.tgz", + "integrity": "sha512-mwSpuWruB8RrgUAAW7w/lvadnMDesl/bZ2IELBgJri+2rIqLGbAtygJBiG0Y3e8/IeOHuKuGkN1rFYZ4SKr7/A==", + "optional": true, + "requires": { + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/middleware-recursion-detection": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.208.0.tgz", + "integrity": "sha512-Dgpf5NEOYXvkQuGcbxvDovTh4HwO4ULJReGko67NJjgdZZyFS1fNykVPncxenRpsN9SJBigswYs3lwPVpqijzA==", + "optional": true, + "requires": { + "@aws-sdk/protocol-http": "3.208.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/middleware-retry": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.209.0.tgz", + "integrity": "sha512-PGHbpGw74HxmtqsMEH+xn2oC5/BPdHVyapB66x83n+sywt1ejTiarbQhNs70YzcSsTrJfbhbrFP1V9AzRmMaQA==", + "optional": true, + "requires": { + "@aws-sdk/protocol-http": "3.208.0", + "@aws-sdk/service-error-classification": "3.208.0", + "@aws-sdk/types": "3.208.0", + "@aws-sdk/util-middleware": "3.208.0", + "tslib": "^2.3.1", + "uuid": "^8.3.2" + } + }, + "@aws-sdk/middleware-sdk-sts": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.208.0.tgz", + "integrity": "sha512-lFVodZHYLF7puXgNZ1m5ycKbyCPp79nqI+pkRXl066ZtZWzCW8+JKCaLjF3jfXlnvg6foPDJdxUvt0VU5EddGg==", + "optional": true, + "requires": { + "@aws-sdk/middleware-signing": "3.208.0", + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/protocol-http": "3.208.0", + "@aws-sdk/signature-v4": "3.208.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/middleware-serde": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.208.0.tgz", + "integrity": "sha512-3h2yP6qyf/IhfdvyFeNX7w4BF37vOZvfUDBq+wb1QEc7DCAskoUKWtCCKJ9HDq3IJQp8hzqY82eawUir6flqlQ==", + "optional": true, + "requires": { + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/middleware-signing": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.208.0.tgz", + "integrity": "sha512-cMSWhg8xOrxZw04EYKEQQQ7RT+03rigS4KS3Uy6x/M+jFyoM+sRiY/7376sJCwlpvKH2xJIVpwPbKk/uz4j4DA==", + "optional": true, + "requires": { + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/protocol-http": "3.208.0", + "@aws-sdk/signature-v4": "3.208.0", + "@aws-sdk/types": "3.208.0", + "@aws-sdk/util-middleware": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/middleware-stack": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.208.0.tgz", + "integrity": "sha512-bvFPUa+RTB7PSRCUsO6bRlEtiEadrDES+dpNmInMNQ9kmbd4OhNOCb664hhtiglIIXX5cd8mSPEo+w/RV0kEEQ==", + "optional": true, + "requires": { + "tslib": "^2.3.1" + } + }, + "@aws-sdk/middleware-user-agent": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.208.0.tgz", + "integrity": "sha512-6RNf+TOZpiCy7xUcDSh8ji/x8ht1oAM+qIhm6hsEPLdI1cTvbPZrwowO9Y6L0J68V9OkEgLYiq77KKKYT7QQSw==", + "optional": true, + "requires": { + "@aws-sdk/protocol-http": "3.208.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/node-config-provider": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.209.0.tgz", + "integrity": "sha512-jNrUn8qTN9BIxHCcLTv2s2h8Riaz4kjwDhubVQNyI0WGZ+PYKATnZjA+Guzbnq2WMzZmwrMIE5GoOiVsPD8xYQ==", + "optional": true, + "requires": { + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/shared-ini-file-loader": "3.209.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/node-http-handler": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.208.0.tgz", + "integrity": "sha512-2t0b9Id7WekluqxQdPugAZhe/wdzW0L53rfMEfDS3R0INNSq1sEfddIfCzJrmfWDCrCOGIDNyxo/w7Ki3NclzQ==", + "optional": true, + "requires": { + "@aws-sdk/abort-controller": "3.208.0", + "@aws-sdk/protocol-http": "3.208.0", + "@aws-sdk/querystring-builder": "3.208.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/property-provider": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.208.0.tgz", + "integrity": "sha512-aUhfuwXjZ5TGzLhBstuAMmbnxHXeSGhzoIS8yy465ifgc95p6cHFZf+ZibgwgCMaGrKlTDCia2zwwpKQHN+4cw==", + "optional": true, + "requires": { + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/protocol-http": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.208.0.tgz", + "integrity": "sha512-Sr9dmaW0Z9X9s16NHZn94efLRpaqLyLqABFPgjqE8cYP6eLX/VrmZGNR62GFVxCiyEEpVxy4Ddk1YkbRwnuonA==", + "optional": true, + "requires": { + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/querystring-builder": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.208.0.tgz", + "integrity": "sha512-1Rpauh5hWlK++KjsHQjHcSN7yE05hj1FVb0HaeLrFIJB5rQYWXK7DpOUhmv5SOmU+q6cIM2kNCrSxH31+WglMw==", + "optional": true, + "requires": { + "@aws-sdk/types": "3.208.0", + "@aws-sdk/util-uri-escape": "3.201.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/querystring-parser": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.208.0.tgz", + "integrity": "sha512-dVVLdP3il9bJX74/BNBjFn59XrEVBUZ4xSKYH6t7dgSz9uSu8DcT4pPzwaq+/94dVewCW3zq2jVA1iw1rK7JVQ==", + "optional": true, + "requires": { + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/service-error-classification": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.208.0.tgz", + "integrity": "sha512-ZZWV3AOTd8UDcfXCNoQ8v4sHaTgFxGaXWO0NHHgqFbVYr1d+8EXQiOy/v8JsY1jrfoXBWXptTOcioCTeM0xBpw==", + "optional": true + }, + "@aws-sdk/shared-ini-file-loader": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.209.0.tgz", + "integrity": "sha512-hji3B/q3zFuElaUQM/ZZUFbCFBsaVjpWATgiDTnSYP+MShWvvwm/WigeC2aCNos1bs/8HVizOy9cmvK63vLZbw==", + "optional": true, + "requires": { + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/signature-v4": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.208.0.tgz", + "integrity": "sha512-+c5A8RsN4Lk3TXFiQ3ZsW7sJ4zYPPmYQ55ITSfjock5hzgM1vW43Mgvjjq6foW5L7SNfdhLH+NrhpgFwSF/GeA==", + "optional": true, + "requires": { + "@aws-sdk/is-array-buffer": "3.201.0", + "@aws-sdk/types": "3.208.0", + "@aws-sdk/util-hex-encoding": "3.201.0", + "@aws-sdk/util-middleware": "3.208.0", + "@aws-sdk/util-uri-escape": "3.201.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/smithy-client": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.209.0.tgz", + "integrity": "sha512-+d9lPAFOu3hZdLfyzMurRU6xZ+eqwKbF6HY7mDL4hGafRb/uw28HBncSwyUk5s7MIND9+RnvY4F/MwBq9wznXg==", + "optional": true, + "requires": { + "@aws-sdk/middleware-stack": "3.208.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/token-providers": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.209.0.tgz", + "integrity": "sha512-MMtL/yD98SxjejcZYghLN4qhC1TDNeHjnzb+zBcXANxgh5m+QdhERsZkDGU8QiEo+DL6M2HKbwyXu82z89sqnQ==", + "optional": true, + "requires": { + "@aws-sdk/client-sso-oidc": "3.209.0", + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/shared-ini-file-loader": "3.209.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/types": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.208.0.tgz", + "integrity": "sha512-5AuOPtY1Hdf4xoEo+voRijl3OnFm8IB+oITXl+SN2iASJv+XPnRNw/QVbIxfGeWgWhmK31F+XdjTYsjT2rx8Qw==", + "optional": true + }, + "@aws-sdk/url-parser": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.208.0.tgz", + "integrity": "sha512-zhU231xkZbUh68Z/TGNRW30MGTZQVigGuMiJU6eOtL2aOulnKqI1Yjs/QejrTtPWsqSihWvxOUZ2cVRPyeOvrA==", + "optional": true, + "requires": { + "@aws-sdk/querystring-parser": "3.208.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-base64": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64/-/util-base64-3.208.0.tgz", + "integrity": "sha512-PQniZph5A6N7uuEOQi+1hnMz/FSOK/8kMFyFO+4DgA1dZ5pcKcn5wiFwHkcTb/BsgVqQa3Jx0VHNnvhlS8JyTg==", + "optional": true, + "requires": { + "@aws-sdk/util-buffer-from": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-body-length-browser": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.188.0.tgz", + "integrity": "sha512-8VpnwFWXhnZ/iRSl9mTf+VKOX9wDE8QtN4bj9pBfxwf90H1X7E8T6NkiZD3k+HubYf2J94e7DbeHs7fuCPW5Qg==", + "optional": true, + "requires": { + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-body-length-node": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.208.0.tgz", + "integrity": "sha512-3zj50e5g7t/MQf53SsuuSf0hEELzMtD8RX8C76f12OSRo2Bca4FLLYHe0TZbxcfQHom8/hOaeZEyTyMogMglqg==", + "optional": true, + "requires": { + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-buffer-from": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.208.0.tgz", + "integrity": "sha512-7L0XUixNEFcLUGPeBF35enCvB9Xl+K6SQsmbrPk1P3mlV9mguWSDQqbOBwY1Ir0OVbD6H/ZOQU7hI/9RtRI0Zw==", + "optional": true, + "requires": { + "@aws-sdk/is-array-buffer": "3.201.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-config-provider": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.208.0.tgz", + "integrity": "sha512-DSRqwrERUsT34ug+anlMBIFooBEGwM8GejC7q00Y/9IPrQy50KnG5PW2NiTjuLKNi7pdEOlwTSEocJE15eDZIg==", + "optional": true, + "requires": { + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-defaults-mode-browser": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.209.0.tgz", + "integrity": "sha512-c+AlHqsgeDr9+87fS1wfnyVzEH3myt56GvNt0puzIv0QQqfpobMnfN8/Fy0cqMpf1eQNYY4a6lFlkComsXi5dw==", + "optional": true, + "requires": { + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/types": "3.208.0", + "bowser": "^2.11.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-defaults-mode-node": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.209.0.tgz", + "integrity": "sha512-RljPVLog6EX052DQjx4XQ95n7ZiAbmn7Vd6YSn1x93U797umaC5CnrT7a/WusTQACtxBDFWcosRgO1ZGDXuRKQ==", + "optional": true, + "requires": { + "@aws-sdk/config-resolver": "3.209.0", + "@aws-sdk/credential-provider-imds": "3.209.0", + "@aws-sdk/node-config-provider": "3.209.0", + "@aws-sdk/property-provider": "3.208.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-endpoints": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.209.0.tgz", + "integrity": "sha512-jwraCtWjQ0P4LyIg4qoQRF94mTUg0zFPmicy4v+Dq1V8BBRf6YWa9B10SoIdGIKQXmQvoyahK5OuH5SWKkY2pw==", + "optional": true, + "requires": { + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-hex-encoding": { + "version": "3.201.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.201.0.tgz", + "integrity": "sha512-7t1vR1pVxKx0motd3X9rI3m/xNp78p3sHtP5yo4NP4ARpxyJ0fokBomY8ScaH2D/B+U5o9ARxldJUdMqyBlJcA==", + "optional": true, + "requires": { + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-locate-window": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.208.0.tgz", + "integrity": "sha512-iua1A2+P7JJEDHVgvXrRJSvsnzG7stYSGQnBVphIUlemwl6nN5D+QrgbjECtrbxRz8asYFHSzhdhECqN+tFiBg==", + "optional": true, + "requires": { + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-middleware": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.208.0.tgz", + "integrity": "sha512-oXilrYpXwaPyMw1uNjL1wmR54zeFzIWx2ve1MSMheIYr26deFP3RpMfKkGXwiOvXzZ9pzTcA8shNLhg1frO/zg==", + "optional": true, + "requires": { + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-uri-escape": { + "version": "3.201.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.201.0.tgz", + "integrity": "sha512-TeTWbGx4LU2c5rx0obHeDFeO9HvwYwQtMh1yniBz00pQb6Qt6YVOETVQikRZ+XRQwEyCg/dA375UplIpiy54mA==", + "optional": true, + "requires": { + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-user-agent-browser": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.208.0.tgz", + "integrity": "sha512-Z5n9Kg2pBstzzQgRymQRgb4pM0bNPLGQejB3ZmCAphaxvuTBfu2E6KO55h5WwkFHUuh0i5u2wn1BI9R66S8CgQ==", + "optional": true, + "requires": { + "@aws-sdk/types": "3.208.0", + "bowser": "^2.11.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-user-agent-node": { + "version": "3.209.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.209.0.tgz", + "integrity": "sha512-lWfvnSX8rckMGaalrKZmBlPW7F0QOviG7XbLffwToN4HnYUyXcZXIE4EzOQzuOvDsOUlos/xLkUj6krdIAApcA==", + "optional": true, + "requires": { + "@aws-sdk/node-config-provider": "3.209.0", + "@aws-sdk/types": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-utf8-browser": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.188.0.tgz", + "integrity": "sha512-jt627x0+jE+Ydr9NwkFstg3cUvgWh56qdaqAMDsqgRlKD21md/6G226z/Qxl7lb1VEW2LlmCx43ai/37Qwcj2Q==", + "optional": true, + "requires": { + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-utf8-node": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.208.0.tgz", + "integrity": "sha512-jKY87Acv0yWBdFxx6bveagy5FYjz+dtV8IPT7ay1E2WPWH1czoIdMAkc8tSInK31T6CRnHWkLZ1qYwCbgRfERQ==", + "optional": true, + "requires": { + "@aws-sdk/util-buffer-from": "3.208.0", + "tslib": "^2.3.1" + } + }, + "@derhuerst/http-basic": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/@derhuerst/http-basic/-/http-basic-8.2.4.tgz", + "integrity": "sha512-F9rL9k9Xjf5blCz8HsJRO4diy111cayL2vkY2XE4r4t3n0yPXVYy3KD3nJ1qbrSn9743UWSXH4IwuCa/HWlGFw==", + "requires": { + "caseless": "^0.12.0", + "concat-stream": "^2.0.0", + "http-response-object": "^3.0.1", + "parse-cache-control": "^1.0.1" + } + }, + "@discordjs/builders": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-1.3.0.tgz", + "integrity": "sha512-Pvca6Nw8Hp+n3N+Wp17xjygXmMvggbh5ywUsOYE2Et4xkwwVRwgzxDJiMUuYapPtnYt4w/8aKlf5khc8ipLvhg==", + "requires": { + "@discordjs/util": "^0.1.0", + "@sapphire/shapeshift": "^3.7.0", + "discord-api-types": "^0.37.12", + "fast-deep-equal": "^3.1.3", + "ts-mixer": "^6.0.1", + "tslib": "^2.4.0" + } + }, + "@discordjs/collection": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-1.2.0.tgz", + "integrity": "sha512-VvrrtGb7vbfPHzbhGq9qZB5o8FOB+kfazrxdt0OtxzSkoBuw9dURMkCwWizZ00+rDpiK2HmLHBZX+y6JsG9khw==" + }, + "@discordjs/rest": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@discordjs/rest/-/rest-1.3.0.tgz", + "integrity": "sha512-U6X5J+r/MxYpPTlHFuPxXEf92aKsBaD2teBC7sWkKILIr30O8c9+XshfL7KFBCavnAqS/qE+PF9fgRilO3N44g==", + "requires": { + "@discordjs/collection": "^1.2.0", + "@discordjs/util": "^0.1.0", + "@sapphire/async-queue": "^1.5.0", + "@sapphire/snowflake": "^3.2.2", + "discord-api-types": "^0.37.12", + "file-type": "^18.0.0", + "tslib": "^2.4.0", + "undici": "^5.11.0" + } + }, + "@discordjs/util": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@discordjs/util/-/util-0.1.0.tgz", + "integrity": "sha512-e7d+PaTLVQav6rOc2tojh2y6FE8S7REkqLldq1XF4soCx74XB/DIjbVbVLtBemf0nLW77ntz0v+o5DytKwFNLQ==" + }, + "@discordjs/voice": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@discordjs/voice/-/voice-0.13.0.tgz", + "integrity": "sha512-ZzwDmVINaLgkoDUeTJfpN9TkjINMLfTVoLMtEygm0YC5jTTw7AvKGqhc+Ae/2kNLywd0joyFVNrLp94yCkQ9SA==", + "requires": { + "@types/ws": "^8.5.3", + "discord-api-types": "^0.37.12", + "prism-media": "^1.3.4", + "tslib": "^2.4.0", + "ws": "^8.9.0" + } + }, + "@sapphire/async-queue": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.5.0.tgz", + "integrity": "sha512-JkLdIsP8fPAdh9ZZjrbHWR/+mZj0wvKS5ICibcLrRI1j84UmLMshx5n9QmL8b95d4onJ2xxiyugTgSAX7AalmA==" + }, + "@sapphire/shapeshift": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@sapphire/shapeshift/-/shapeshift-3.7.0.tgz", + "integrity": "sha512-A6vI1zJoxhjWo4grsxpBRBgk96SqSdjLX5WlzKp9H+bJbkM07mvwcbtbVAmUZHbi/OG3HLfiZ1rlw4BhH6tsBQ==", + "requires": { + "fast-deep-equal": "^3.1.3", + "lodash.uniqwith": "^4.5.0" + } + }, + "@sapphire/snowflake": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@sapphire/snowflake/-/snowflake-3.2.2.tgz", + "integrity": "sha512-ula2O0kpSZtX9rKXNeQMrHwNd7E4jPDJYUXmEGTFdMRfyfMw+FPyh04oKMjAiDuOi64bYgVkOV3MjK+loImFhQ==" + }, + "@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==" + }, + "@tokenizer/token": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", + "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==" + }, + "@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" + }, + "@types/cors": { + "version": "2.8.12", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", + "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" + }, + "@types/node": { + "version": "18.11.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", + "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" + }, + "@types/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog==" + }, + "@types/whatwg-url": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz", + "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==", + "requires": { + "@types/node": "*", + "@types/webidl-conversions": "*" + } + }, + "@types/ws": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", + "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", + "requires": { + "@types/node": "*" + } + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, + "async.parallellimit": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/async.parallellimit/-/async.parallellimit-0.5.2.tgz", + "integrity": "sha512-4Di2nFsb3jL7aUIICvRSvtw/oynpMIx0JrwYn5hqJI661Dd+mYBi2ElOukOQgRHihU1SCTapb86Vx/Snva5M1w==", + "requires": { + "async.util.eachoflimit": "0.5.2", + "async.util.parallel": "0.5.2" + } + }, + "async.util.eachoflimit": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/async.util.eachoflimit/-/async.util.eachoflimit-0.5.2.tgz", + "integrity": "sha512-oZksH0sBW0AEOJKgBCQ79io9DZruoRBLTAea/Ik36pejR7pDpByvtXeuJsoZdPwSVslsrQcsUfucbUaiXYBnAQ==", + "requires": { + "async.util.keyiterator": "0.5.2", + "async.util.noop": "0.5.2", + "async.util.once": "0.5.2", + "async.util.onlyonce": "0.5.2" + } + }, + "async.util.isarray": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/async.util.isarray/-/async.util.isarray-0.5.2.tgz", + "integrity": "sha512-wbUzlrwON8RUgi+v/rhF0U99Ce8Osjcn+JP/mFNg6ymvShcobAOvE6cvLajSY5dPqKCOE1xfdhefgBif11zZgw==" + }, + "async.util.isarraylike": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/async.util.isarraylike/-/async.util.isarraylike-0.5.2.tgz", + "integrity": "sha512-DbFpsz3ZFNkohAW8IpGTlm8gotU32zpqe3Y2XkEA/G3XNO6rmUTKPpo7XgXUruoI+AsGi8+0zWpJHe7t1sLiAg==", + "requires": { + "async.util.isarray": "0.5.2" + } + }, + "async.util.keyiterator": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/async.util.keyiterator/-/async.util.keyiterator-0.5.2.tgz", + "integrity": "sha512-cktrETawCwgu13y3KZs2uMGFnNHc+IjKPZsavtRaoCjLELkePb2co4zrr+ghPvEqLXZIJPTKqC2HFZgJTssMVw==", + "requires": { + "async.util.isarraylike": "0.5.2", + "async.util.keys": "0.5.2" + } + }, + "async.util.keys": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/async.util.keys/-/async.util.keys-0.5.2.tgz", + "integrity": "sha512-umCOCRCRYwIC2Ho3fbuhKwIIe7OhQsVoVKGoF5GoQiGJUmjP4TG0Bmmcdpm7yW/znoIGKpnjKzVQz0niH4tfqw==" + }, + "async.util.noop": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/async.util.noop/-/async.util.noop-0.5.2.tgz", + "integrity": "sha512-AdwShXwE0KoskgqVJAck8zcM32nIHj3AC8ZN62ZaR5srhrY235Nw18vOJZWxcOfhxdVM0hRVKM8kMx7lcl7cCQ==" + }, + "async.util.once": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/async.util.once/-/async.util.once-0.5.2.tgz", + "integrity": "sha512-YQ5WPzDTt2jlblUDkq2I5RV/KiAJErJ4/0cEFhYPaZzqIuF/xDzdGvnEKe7UeuoMszsVPeajzcpKgkbwdb9MUA==" + }, + "async.util.onlyonce": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/async.util.onlyonce/-/async.util.onlyonce-0.5.2.tgz", + "integrity": "sha512-UgQvkU9JZ+I0Cm1f56XyGXcII+J3d/5XWUuHpcevlItuA3WFSJcqZrsyAUck2FkRSD8BwYQX1zUTDp3SJMVESg==" + }, + "async.util.parallel": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/async.util.parallel/-/async.util.parallel-0.5.2.tgz", + "integrity": "sha512-0bEvwmQ8fxsTYNwacw5iq0i3PvGryRkXxZ01Rvox21izdMdls9IH2rAZjfunbgI8j6nFRyIdCmMINQ9kka99ow==", + "requires": { + "async.util.isarraylike": "0.5.2", + "async.util.noop": "0.5.2", + "async.util.restparam": "0.5.2" + } + }, + "async.util.restparam": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/async.util.restparam/-/async.util.restparam-0.5.2.tgz", + "integrity": "sha512-Q9Z+zgmtMxFX5i7CnBvNOkgrL5hptztCqwarQluyNudUUk4iCmyjmsQl8MuQEjNh3gGqP5ayvDaextL1VXXgIg==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "axios": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.1.3.tgz", + "integrity": "sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==", + "requires": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "boolstring": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/boolstring/-/boolstring-1.0.2.tgz", + "integrity": "sha512-0JLNSmZUv1m/O8sVayFm2t0naiOXwQ9O2Gq9u1eoIkhvu6U5NQER/e3k4BGpjZ33G775lWMT7TzJ7r5VtmEnbQ==" + }, + "bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==", + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "bson": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/bson/-/bson-4.7.0.tgz", + "integrity": "sha512-VrlEE4vuiO1WTpfof4VmaVolCVYkYTgB9iWgYNOrVlnifpME/06fhFRmONgBhClD5pFC1t9ZWqFUQEQAzY43bA==", + "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", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "bufferutil": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz", + "integrity": "sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==", + "requires": { + "node-gyp-build": "^4.3.0" + } + }, + "busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "requires": { + "streamsearch": "^1.1.0" + } + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "requires": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + } + }, + "cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "requires": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "cli-color": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-1.2.0.tgz", + "integrity": "sha512-AqfwItf/UqGif3FBErI3NHX04v5ywJtGYlL5z4OqWR50u7g+Fz3Xw2qcCIbKVPrqtJCBwSOkDgnSlHbcpwDKHw==", + "requires": { + "ansi-regex": "^2.1.1", + "d": "1", + "es5-ext": "^0.10.12", + "es6-iterator": "2", + "memoizee": "^0.4.3", + "timers-ext": "0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "requires": { + "safe-buffer": "5.2.1" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "dasu": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/dasu/-/dasu-0.4.3.tgz", + "integrity": "sha512-AFwspl5k7V8MW8H7tyIGJ0gtOauUg7JC+DgiRFUIXvPNNDFXTMtvnCkZY0macN6JLGqBjNP38WVnQN7Iv3RSlg==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "denque": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", + "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==" + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" + }, + "discord-api-types": { + "version": "0.37.17", + "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.37.17.tgz", + "integrity": "sha512-5ZIw1VtkmToBy8ziketjHkZnW1FoLevyXdK/TslNFLozijug2RnB3MyBNtSGzML1c72koU3neeGkvFZ8OiU0tQ==" + }, + "discord-ytdl-core": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/discord-ytdl-core/-/discord-ytdl-core-5.0.4.tgz", + "integrity": "sha512-O+G9wuCw5TERR9iHZFMYnYQbs/ZGudDc9cxa1OKSV5TdcBYrHGS1JqvE90ZvSQ6SmS4XvqtOf/Okls6yiGJ3sg==", + "requires": { + "prism-media": "^1.2.9" + } + }, + "discord.js": { + "version": "14.6.0", + "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-14.6.0.tgz", + "integrity": "sha512-On1K7xpJZRe0KsziIaDih2ksYPhgxym/ZqV45i1f3yig4vUotikqs7qp5oXiTzQ/UTiNRCixUWFTh7vA1YBCqw==", + "requires": { + "@discordjs/builders": "^1.3.0", + "@discordjs/collection": "^1.2.0", + "@discordjs/rest": "^1.3.0", + "@discordjs/util": "^0.1.0", + "@sapphire/snowflake": "^3.2.2", + "@types/ws": "^8.5.3", + "discord-api-types": "^0.37.12", + "fast-deep-equal": "^3.1.3", + "lodash.snakecase": "^4.1.1", + "tslib": "^2.4.0", + "undici": "^5.11.0", + "ws": "^8.9.0" + } + }, + "dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", + "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.1" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "ejs": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", + "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", + "requires": { + "jake": "^10.8.5" + } + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + }, + "engine.io": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz", + "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==", + "requires": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.2.3" + }, + "dependencies": { + "cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "ws": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", + "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", + "requires": {} + } + } + }, + "engine.io-parser": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz", + "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==" + }, + "entities": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", + "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==" + }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" + }, + "erlpack": { + "version": "git+ssh://git@github.com/discord/erlpack.git#cbe76be04c2210fc9cb6ff95910f0937c1011d04", + "from": "erlpack@github:discord/erlpack", + "requires": { + "bindings": "^1.5.0", + "nan": "^2.15.0" + } + }, + "es5-ext": { + "version": "0.10.62", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", + "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", + "requires": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "requires": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + } + }, + "ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "requires": { + "type": "^2.7.2" + }, + "dependencies": { + "type": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" + } + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-xml-parser": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.0.11.tgz", + "integrity": "sha512-4aUg3aNRR/WjQAcpceODG1C3x3lFANXRo8+1biqfieHmg9pyMt7qB4lQV/Ta6sJCTbA5vfD8fnA8S54JATiFUA==", + "optional": true, + "requires": { + "strnum": "^1.0.5" + } + }, + "ffmpeg-static": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ffmpeg-static/-/ffmpeg-static-5.1.0.tgz", + "integrity": "sha512-eEWOiGdbf7HKPeJI5PoJ0oCwkL0hckL2JdS4JOuB/gUETppwkEpq8nF0+e6VEQnDCo/iuoipbTUsn9QJmtpNkg==", + "requires": { + "@derhuerst/http-basic": "^8.2.0", + "env-paths": "^2.2.0", + "https-proxy-agent": "^5.0.0", + "progress": "^2.0.3" + } + }, + "file-type": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-18.0.0.tgz", + "integrity": "sha512-jjMwFpnW8PKofLE/4ohlhqwDk5k0NC6iy0UHAJFKoY1fQeGMN0GDdLgHQrvCbSpMwbqzoCZhRI5dETCZna5qVA==", + "requires": { + "readable-web-to-node-stream": "^3.0.2", + "strtok3": "^7.0.0", + "token-types": "^5.0.1" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "requires": { + "minimatch": "^5.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + } + }, + "findit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findit/-/findit-2.0.0.tgz", + "integrity": "sha512-ENZS237/Hr8bjczn5eKuBohLgaD0JyUd0arxretR1f9RO46vZHA1b2y0VorgGV3WaOT3c+78P8h7v4JGJ1i/rg==" + }, + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "htmlparser2": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", + "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "entities": "^4.3.0" + } + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "http-response-object": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", + "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", + "requires": { + "@types/node": "^10.0.3" + }, + "dependencies": { + "@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + } + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "requires": { + "agent-base": "6", + "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "human-time": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/human-time/-/human-time-0.0.2.tgz", + "integrity": "sha512-sbYI90YhYmstslPTb70BLGjy6mdESa0lxL7uDR4fIVAx9Iobz8fLEqi7FqF4Q/6vblrzZALg//MsYJlIPBU8SA==" + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==" + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" + }, + "jake": { + "version": "10.8.5", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", + "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", + "requires": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + } + }, + "jsonpath-plus": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-5.0.7.tgz", + "integrity": "sha512-7TS6wsiw1s2UMK/A6nA4n0aUJuirCVhJ87nWX5je5MPOl0z5VTr2qs7nMP8NZ2ed3rlt6kePTqddgVPE9F0i0w==" + }, + "kareem": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.4.1.tgz", + "integrity": "sha512-aJ9opVoXroQUPfovYP5kaj2lM7Jn02Gw13bL0lg9v0V7SaUc0qavPs0Eue7d2DcC3NjqI6QAUElXNsuZSeM+EA==" + }, + "keypress": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/keypress/-/keypress-0.2.1.tgz", + "integrity": "sha512-HjorDJFNhnM4SicvaUXac0X77NiskggxJdesG72+O5zBKpSqKFCrqmndKVqpu3pFqkla0St6uGk8Ju0sCurrmg==" + }, + "lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==" + }, + "lodash.uniqwith": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniqwith/-/lodash.uniqwith-4.5.0.tgz", + "integrity": "sha512-7lYL8bLopMoy4CTICbxygAUq6CdRJ36vFc80DucPueUee+d5NBRxz3FdT9Pes/HEx5mPoT9jwnsEJWz1N7uq7Q==" + }, + "lru-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", + "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==", + "requires": { + "es5-ext": "~0.10.2" + } + }, + "m3u8stream": { + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/m3u8stream/-/m3u8stream-0.8.6.tgz", + "integrity": "sha512-LZj8kIVf9KCphiHmH7sbFQTVe4tOemb202fWwvJwR9W5ENW/1hxJN6ksAWGhQgSBSa3jyWhnjKU1Fw1GaOdbyA==", + "requires": { + "miniget": "^4.2.2", + "sax": "^1.2.4" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" + }, + "memoizee": { + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", + "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", + "requires": { + "d": "^1.0.1", + "es5-ext": "^0.10.53", + "es6-weak-map": "^2.0.3", + "event-emitter": "^0.3.5", + "is-promise": "^2.2.2", + "lru-queue": "^0.1.0", + "next-tick": "^1.1.0", + "timers-ext": "^0.1.7" + } + }, + "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 + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "miniget": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/miniget/-/miniget-4.2.2.tgz", + "integrity": "sha512-a7voNL1N5lDMxvTMExOkg+Fq89jM2vY8pAi9ZEWzZtfNmdfP6RXkvUtFnCAXoCv2T9k1v/fUJVaAEuepGcvLYA==" + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==" + }, + "mongodb": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.11.0.tgz", + "integrity": "sha512-9l9n4Nk2BYZzljW3vHah3Z0rfS5npKw6ktnkmFgTcnzaXH1DRm3pDl6VMHu84EVb1lzmSaJC4OzWZqTkB5i2wg==", + "requires": { + "@aws-sdk/credential-providers": "^3.186.0", + "bson": "^4.7.0", + "denque": "^2.1.0", + "mongodb-connection-string-url": "^2.5.4", + "saslprep": "^1.0.3", + "socks": "^2.7.1" + } + }, + "mongodb-connection-string-url": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.5.4.tgz", + "integrity": "sha512-SeAxuWs0ez3iI3vvmLk/j2y+zHwigTDKQhtdxTgt5ZCOQQS5+HW4g45/Xw5vzzbn7oQXCNQ24Z40AkJsizEy7w==", + "requires": { + "@types/whatwg-url": "^8.2.1", + "whatwg-url": "^11.0.0" + } + }, + "mongoose": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.7.2.tgz", + "integrity": "sha512-lrP2V5U1qhaf+z33fiIn7aYAZZ1fVDly+TkFRjTujNBF/FIHESATj2RbgAOSlWqv32fsZXkXejXzeVfjbv35Ow==", + "requires": { + "bson": "^4.7.0", + "kareem": "2.4.1", + "mongodb": "4.11.0", + "mpath": "0.9.0", + "mquery": "4.0.3", + "ms": "2.1.3", + "sift": "16.0.1" + }, + "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.9.0", + "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz", + "integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==" + }, + "mquery": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.3.tgz", + "integrity": "sha512-J5heI+P08I6VJ2Ky3+33IpCdAvlYGTSUjwTPxkAr8i8EoduPMBX2OY/wa3IKZIQl7MU4SbFk8ndgSKyB/cl1zA==", + "requires": { + "debug": "4.x" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==" + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + }, + "next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" + }, + "node-fzf": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/node-fzf/-/node-fzf-0.5.3.tgz", + "integrity": "sha512-crN8rRfApu/GUrtKq+zJ6LueUyNAOJpFHxoT2Ru1Q+OYRa/F/H7CXvzcMrFc7D964yakYZEZ9XR3YbdSHXgyCw==", + "requires": { + "cli-color": "~1.2.0", + "keypress": "~0.2.1", + "minimist": "~1.2.0", + "redstar": "0.0.2", + "string-width": "~2.1.1", + "ttys": "0.0.3" + } + }, + "node-gyp-build": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", + "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==" + }, + "nodemon": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.20.tgz", + "integrity": "sha512-Km2mWHKKY5GzRg6i1j5OxOHQtuvVsgskLfigG25yTtbyfRGn/GNvIbRyOf1PSCKJ2aT/58TiuUsuOU5UToVViw==", + "requires": { + "chokidar": "^3.5.2", + "debug": "^3.2.7", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^5.7.1", + "simple-update-notifier": "^1.0.7", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", + "requires": { + "abbrev": "1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "requires": { + "boolbase": "^1.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "requires": { + "ee-first": "1.1.1" + } + }, + "parse-cache-control": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", + "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" + }, + "parse5": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.1.tgz", + "integrity": "sha512-kwpuwzB+px5WUg9pyK0IcK/shltJN5/OVhQagxhCQNtT9Y9QRZqNY2e1cmbu/paRh5LMnz/oVTVLBpjFmMZhSg==", + "requires": { + "entities": "^4.4.0" + } + }, + "parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "requires": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "peek-readable": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0.tgz", + "integrity": "sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "prism-media": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.3.4.tgz", + "integrity": "sha512-eW7LXORkTCQznZs+eqe9VjGOrLBxcBPXgNyHXMTSRVhphvd/RrxgIR7WaWt4fkLuhshcdT5KHL88LAfcvS3f5g==", + "requires": {} + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==" + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readable-web-to-node-stream": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", + "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", + "requires": { + "readable-stream": "^3.6.0" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "redstar": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/redstar/-/redstar-0.0.2.tgz", + "integrity": "sha512-VNvLaLxMJMYiAasJX5Q/GC+Os7FXL0yPWFDuTodhR7Na9wqzrXsePPWC+EtIv4t3q5DyAK00w423xi5mQN2fqg==", + "requires": { + "minimatch": "~3.0.4" + }, + "dependencies": { + "minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "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==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "sift": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/sift/-/sift-16.0.1.tgz", + "integrity": "sha512-Wv6BjQ5zbhW7VFefWusVP33T/EM0vYikCaQ2qR8yULbsilAT8/wQaXvuQ3ptGLpoKx+lihJE3y2UTgKDyyNHZQ==" + }, + "simple-update-notifier": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz", + "integrity": "sha512-BBKgR84BJQJm6WjWFMHgLVuo61FBDSj1z/xSFUIozqO6wO7ii0JxCqlIud7Enr/+LhlbNI0whErq96P2qHNWew==", + "requires": { + "semver": "~7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" + } + } + }, + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" + }, + "socket.io": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.3.tgz", + "integrity": "sha512-zdpnnKU+H6mOp7nYRXH4GNv1ux6HL6+lHL8g7Ds7Lj8CkdK1jJK/dlwsKDculbyOHifcJ0Pr/yeXnZQ5GeFrcg==", + "requires": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "debug": "~4.3.2", + "engine.io": "~6.2.0", + "socket.io-adapter": "~2.4.0", + "socket.io-parser": "~4.2.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "socket.io-adapter": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz", + "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==" + }, + "socket.io-parser": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz", + "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==", + "requires": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "socks": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "requires": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + } + }, + "sparse-bitfield": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", + "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", + "optional": true, + "requires": { + "memory-pager": "^1.0.2" + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + }, + "streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==" + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "requires": { + "ansi-regex": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==" + } + } + }, + "strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", + "optional": true + }, + "strtok3": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-7.0.0.tgz", + "integrity": "sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==", + "requires": { + "@tokenizer/token": "^0.3.0", + "peek-readable": "^5.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "timers-ext": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", + "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", + "requires": { + "es5-ext": "~0.10.46", + "next-tick": "1" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + }, + "token-types": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/token-types/-/token-types-5.0.1.tgz", + "integrity": "sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==", + "requires": { + "@tokenizer/token": "^0.3.0", + "ieee754": "^1.2.1" + } + }, + "touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "requires": { + "nopt": "~1.0.10" + } + }, + "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" + } + }, + "ts-mixer": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.2.tgz", + "integrity": "sha512-zvHx3VM83m2WYCE8XL99uaM7mFwYSkjR2OZti98fabHrwkjsCvgwChda5xctein3xGOyaQhtTeDq/1H/GNvF3A==" + }, + "tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + }, + "ttys": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/ttys/-/ttys-0.0.3.tgz", + "integrity": "sha512-UCqXRZS2S7U4aVB7Salj3ChPRSsb57ogJpJ1eMCvyowxFOBGsaHKcRU8bovcDwajX1mRbv0IpUnYkoG7Ieo5Zg==" + }, + "tweetnacl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + }, + "typescript": { + "version": "4.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz", + "integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==", + "dev": true + }, + "undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==" + }, + "undici": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.12.0.tgz", + "integrity": "sha512-zMLamCG62PGjd9HHMpo05bSLvvwWOZgGeiWlN/vlqu3+lRo3elxktVGEyLMX+IO7c2eflLjcW74AlkhEZm15mg==", + "requires": { + "busboy": "^1.6.0" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" + }, + "utf-8-validate": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", + "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", + "requires": { + "node-gyp-build": "^4.3.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "optional": true + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" + }, + "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" + } + }, + "ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "requires": {} + }, + "yt-search": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/yt-search/-/yt-search-2.10.3.tgz", + "integrity": "sha512-msITxMhn+1f3RIlS2R0d5/275grX0nUgaD570Fap3gvPmwfvR9w31JG8B9++4Xtm6BLAzhdITK7kAWRInef8QQ==", + "requires": { + "async.parallellimit": "~0.5.2", + "boolstring": "~1.0.2", + "cheerio": "^1.0.0-rc.10", + "dasu": "~0.4.3", + "human-time": "0.0.2", + "jsonpath-plus": "~5.0.2", + "minimist": "~1.2.5", + "node-fzf": "~0.5.1" + } + }, + "ytdl-core": { + "version": "4.11.2", + "resolved": "https://registry.npmjs.org/ytdl-core/-/ytdl-core-4.11.2.tgz", + "integrity": "sha512-D939t9b4ZzP3v0zDvehR2q+KgG97UTgrTKju3pOPGQcXtl4W6W5z0EpznzcJFu+OOpl7S7Ge8hv8zU65QnxYug==", + "requires": { + "m3u8stream": "^0.8.6", + "miniget": "^4.2.2", + "sax": "^1.1.3" + } + }, + "zlib-sync": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/zlib-sync/-/zlib-sync-0.1.7.tgz", + "integrity": "sha512-UmciU6ZrIwtwPC8noMzq+kGMdiWwNRZ3wC0SbED4Ew5Ikqx14MqDPRs/Pbk+3rZPh5SzsOgUBs1WRE0iieddpg==", + "requires": { + "nan": "^2.14.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..71bbcc5 --- /dev/null +++ b/package.json @@ -0,0 +1,38 @@ +{ + "name": "remchanv2", + "version": "1.0.0", + "description": "", + "main": "musicWorker.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "start": "node server.js", + "devStart": "nodemon server.js", + "_test": "nodemon test.js", + "musicWorker": "nodemon musicWorker.js 334456736633323520 Legendary" + }, + "author": "", + "license": "ISC", + "dependencies": { + "@discordjs/voice": "^0.13.0", + "axios": "^1.1.3", + "bufferutil": "^4.0.7", + "discord-ytdl-core": "^5.0.4", + "discord.js": "^14.6.0", + "ejs": "^3.1.8", + "erlpack": "github:discord/erlpack", + "express": "^4.18.2", + "ffmpeg-static": "^5.1.0", + "findit": "^2.0.0", + "mongoose": "^6.7.2", + "nodemon": "^2.0.20", + "socket.io": "^4.5.3", + "tweetnacl": "^1.0.3", + "utf-8-validate": "^5.0.10", + "yt-search": "^2.10.3", + "ytdl-core": "^4.11.2", + "zlib-sync": "^0.1.7" + }, + "devDependencies": { + "typescript": "^4.9.3" + } +} diff --git a/public/css/addtodiscord.css b/public/css/addtodiscord.css new file mode 100644 index 0000000..204af6a --- /dev/null +++ b/public/css/addtodiscord.css @@ -0,0 +1,103 @@ + +@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@1,900&display=swap'); + +body +{ + margin:0; + background-image: url("../images/wallhaven-650953.png"); + height:100%; + width:100%; + position:absolute; + top:0%; + left:0%; + background-repeat: no-repeat; + background-attachment: fixed; + background-position: center; +} + +.Footer +{ + font-family:Verdana, sans-serif; + color:rgb(14, 19, 19); + position: fixed; + left: 0; + bottom: 0; + width: 100%; + text-align: center; +} +button +{ + display:inline-block; + padding:0%; + margin:0; + height:10%; + width:30%; +} +.Discordbtn +{ + position:static; +} +.DiscordAddBtn +{ + height: 70%; + width:70%; + +} +.githublogo +{ + height:5%; + width:5%; +} +.github +{ + display:inline-block; + padding:3%; + font-family:Verdana, sans-serif; + font-size:100%; + font-weight:bolder; + color:black; + text-align: center; +} +h1 +{ + display:block; + padding-bottom: 30%; + color:rgb(0, 183, 255); + font-size: 50px; + font-family: 'Lato', sans-serif; + font-weight: bolder; + text-align: center; +} +a, +a:link, +a:visited, +a:hover, +a:active +{ + text-decoration: none; + color:black; +} +.center +{ + text-align: center; + margin: auto; + width: 50%; + padding: 10px; +} + + +.verticalCenter +{ + position: absolute; + margin: 0; + top: 50%; + left: 50%; + -ms-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); +} +.container +{ + height: 100%; + position: relative; + +} \ No newline at end of file diff --git a/public/css/index.css b/public/css/index.css new file mode 100644 index 0000000..da05f53 --- /dev/null +++ b/public/css/index.css @@ -0,0 +1,276 @@ +@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@1,900&display=swap'); + +body +{ + margin:0; + background-image: url("../images/wallhaven-650953.jpg"); + height:100%; + width:100%; + position:absolute; + top:0%; + left:0%; + background-repeat: no-repeat; + background-attachment: fixed; + background-position: center; + +} + +.Footer +{ + font-family:Verdana, sans-serif; + color:rgb(14, 19, 19); + position: fixed; + left: 0; + bottom: 0; + width: 100%; + text-align: center; +} +button +{ + display:inline-block; + padding:0%; + margin:0; + height:10%; + width:30%; +} + +.DiscordAddBtn +{ + position:absolute; + top:45%; + left:calc(50% - 17.5%); + height: 10%; + width:35%; + +} +.githublogo +{ + height:5%; + width:5%; +} +.github +{ + display:inline-block; + padding:3%; + font-family:Verdana, sans-serif; + font-size:100%; + font-weight:bolder; + color:black; + position: absolute; + top:55%; + left:40vw; +} +h1 +{ + display:block; + padding-bottom: 30%; + color:rgb(0, 183, 255); + font-size: 50px; + font-family: 'Lato', sans-serif; + font-weight: bolder; + text-align: center; +} + +.h3 +{ + text-align: center; + position: relative; + top: 60%; + padding-top: 1%; +} +.bottom +{ + position: absolute; + top:98%; + width: 85%; + border-bottom: 2px solid #010f14; +} +a, +a:link, +a:visited, +a:hover, +a:active +{ + text-decoration: none; + color:black; +} +.center +{ + text-align: center; + margin: auto; + width: 50%; + padding: 10px; +} + + +.verticalCenter +{ + position: absolute; + margin: 0; + top: 50%; + left: 50%; + -ms-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); +} +.container +{ + height: 100%; + position: relative; + +} + +.SideNav +{ + overflow: hidden; + background-color: #071c24; + margin: 0 0 0 0; + padding:0; + width: 15%; + height: 100%; + position: fixed; + right: 0%; + z-index: 1; + border-left: 2px solid #010f14; + +} + +.SideNav ul +{ + list-style: none; + position: absolute; + top:30%; + margin-right: auto; +} + +.SideNav a +{ + color: #ffffff; + text-align: center; + font-size: 17px; + text-decoration: none; +} +.btLogin +{ + float: left; + color: #ffffff; + background-color: #010f14; + height: 30px; + border-style: none; + margin-left: 10%; +} +.btRegister +{ + float: right; + color: #ffffff; + background-color: #010f14; + height: 30px; + border-style: none; + margin-right: 10%; +} +button:hover +{ + background-color: #7c949c ; +} +#iName +{ + color: rgba(0, 0, 0, 0.377); +} +#iPassword +{ + color: rgba(0, 0, 0, 0.377); +} +#iName:focus::placeholder +{ + color:transparent; +} +#iPassword:focus::placeholder +{ + color:transparent; +} + +#iName:focus +{ + color: black +} +#iPassword:focus +{ + color: black +} +#pLogin +{ + color: ivory; + text-align: Left; + font: helvetica; + font-size: 17px; + text-decoration: none; + margin-bottom: 45%; +} +div#password-constraints +{ + margin: 5px 0 0 0; + font-size: 16px; + z-index: 0; +} +button#toggle-password +{ + background: none; + border: none; + cursor: pointer; + font-weight: 300; + padding-left: 2%; + position: relative !important; + color: rgb(0, 183, 255); + top: -2.25vh !important; + right: -10.5vw !important; + margin-right: 3%; +} +label +{ + color:ivory; +} +button#toggle-password { + background: none; + border: none; + cursor: pointer; + font-weight: 300; + padding: 0; + /* Display at the top right of the password section */ + position: absolute; + top: -4px; + right: -2px; + } + + div#password-constraints { + display:none; + margin: 5px 0 0 0; + font-size: 16px; + } + input[type=password]:hover div#password-constraints +{ + background-color: black; + display: block; +} +@media (min-width: 450px) { + + button { + font-size: 14px; /* fallback */ + font-size: var(--desktop-font-size); + } + button#signin { + margin: 40px 0 0 0; + } + div#password-constraints { + font-size: 14px; + } + input { + font-size: 14px; /* fallback */ + } + label { + font-size: 14px; /* fallback */ + } + } +#Forgot +{ + font-size: 12px; + margin-left: 3%; +} \ No newline at end of file diff --git a/public/images/297223b974b01cc567b25a200d1e3229.png b/public/images/297223b974b01cc567b25a200d1e3229.png new file mode 100644 index 0000000..80a25f9 Binary files /dev/null and b/public/images/297223b974b01cc567b25a200d1e3229.png differ diff --git a/public/images/add-to-discord.png b/public/images/add-to-discord.png new file mode 100644 index 0000000..8ad94f3 Binary files /dev/null and b/public/images/add-to-discord.png differ diff --git a/public/images/favicon.ico b/public/images/favicon.ico new file mode 100644 index 0000000..7c5292e Binary files /dev/null and b/public/images/favicon.ico differ diff --git a/public/images/github.png b/public/images/github.png new file mode 100644 index 0000000..1a7c0ac Binary files /dev/null and b/public/images/github.png differ diff --git a/public/images/wallhaven-650953.jpg b/public/images/wallhaven-650953.jpg new file mode 100644 index 0000000..0dd7618 Binary files /dev/null and b/public/images/wallhaven-650953.jpg differ diff --git a/public/js/index.js b/public/js/index.js new file mode 100644 index 0000000..63c59ae --- /dev/null +++ b/public/js/index.js @@ -0,0 +1,38 @@ +window.onload = function () +{ + document.querySelector('input#password').addEventListener('input', validatePassword); + document.querySelector('button#toggle-password').addEventListener('click', togglePassword); +} + +function togglePassword() +{ + const passwordInput = document.querySelector('input#password'); + const togglePasswordButton = document.querySelector('button#toggle-password'); + if (passwordInput.type === 'password') { + passwordInput.type = 'text'; + togglePasswordButton.textContent = 'visibility_off'; + togglePasswordButton.setAttribute('aria-label', + 'Hide password.'); + } else { + passwordInput.type = 'password'; + togglePasswordButton.textContent = 'visibility'; + togglePasswordButton.setAttribute('aria-label', + 'Show password as plain text. ' + + 'Warning: this will display your password on the screen.'); + } +} +function validatePassword() +{ + const passwordInput = document.querySelector('input#password'); + let message= ''; + if (!/.{8,}/.test(passwordInput.value)) { + message = 'At least eight characters. '; + } + if (!/.*[A-Z].*/.test(passwordInput.value)) { + message += '\nAt least one uppercase letter. '; + } + if (!/.*[a-z].*/.test(passwordInput.value)) { + message += '\nAt least one lowercase letter.'; + } + passwordInput.setCustomValidity(message); +} \ No newline at end of file diff --git a/routes/routes.js b/routes/routes.js new file mode 100644 index 0000000..21150c2 --- /dev/null +++ b/routes/routes.js @@ -0,0 +1,7 @@ +const router = require('express').Router(); +const homeController = require('../controller/home.js'); +module.exports = (io)=> +{ + router.route('/').get(homeController.home(io)) + return router; +}; \ No newline at end of file diff --git a/server.js b/server.js new file mode 100644 index 0000000..be9d1a0 --- /dev/null +++ b/server.js @@ -0,0 +1,145 @@ +console.time('StartUp'); +const express = require('express'); +var app = express(); +const path = require('path'); +const http = require('http'); +const {Server} = require('socket.io'); +const mongoose = require('mongoose'); +const port = process.env.PORT || 5000; +const {Client, GatewayIntentBits,Partials, ActivityType} = require('./lib.js'); +const Spawner = require('child_process'); +const guildsM = require('./models/guilds') + +app.use(express.static(path.join(__dirname, "public"))); +app.set("view engine", "ejs"); +app.use(require('cors')()) +app.use(express.json()); +app.use(express.urlencoded({extended:true})); + +const mongoDB = process.env.mongoDB; + +const server = http.createServer(app); +const io = new Server(server); + +var Childs = []; + +server.listen(port, () => +{ + app.use('/', require('./routes/routes')(io)); + console.log(`Http-Server UP`); +}); + +const bot = new Client({ intents: [ + GatewayIntentBits.Guilds, + GatewayIntentBits.GuildMembers, + GatewayIntentBits.GuildBans, + GatewayIntentBits.GuildEmojisAndStickers, + GatewayIntentBits.GuildIntegrations , + GatewayIntentBits.GuildWebhooks , + GatewayIntentBits.GuildInvites , + GatewayIntentBits.GuildVoiceStates, + GatewayIntentBits.GuildPresences, + GatewayIntentBits.GuildMessages, + GatewayIntentBits.GuildMessageReactions, + GatewayIntentBits.GuildMessageTyping, + GatewayIntentBits.DirectMessages, + GatewayIntentBits.DirectMessageReactions, + GatewayIntentBits.DirectMessageTyping, + GatewayIntentBits.MessageContent, + GatewayIntentBits.GuildScheduledEvents, + GatewayIntentBits.AutoModerationConfiguration, + GatewayIntentBits.AutoModerationExecution], + partials: [ + Partials.Reaction, + Partials.Message + ] +}); +bot.login(process.env.discord_token); + +bot.on('ready', () => +{ + mongoose.Promise = global.Promise; + mongoose.connect(mongoDB).catch(err=>console.log(err)); + console.log(`--------------------------\n ${bot.user.tag.split('#')[0]} \n Ready \n on `+bot.guilds.cache.size+" guilds \n serving "+bot.users.cache.size+" users \n--------------------------") + bot.user.setPresence({ + activities: [{ name: `!help`, type: ActivityType.Listening }], + status: 'online', + }); + console.timeEnd('StartUp'); + + /* spawining a singe music worker for legendary + + Spawner.fork('./musicWorker.js',['334456736633323520', 'Legendary']) + + */ + + music(); + setInterval(() => + { + music(); + }, 60000); + setInterval(() => { + moveAFKs(); + }, 5*60*1000); +}); +bot.on('guildCreate', guild=> +{ + console.log('Added To guild', guild); + var guild = new GuildM() +}); +bot.on('guildDelete', guild => +{ + +}); +async function music() +{ + //console.log('Music: Looking for Servers.') + const ServersWithMusicOn = await serversWithMusicOn(bot.guilds.cache); + if(!ServersWithMusicOn) return + for(var server of ServersWithMusicOn) + { + if(!Childs[server.name]) + { + console.log('Index: Starting Music Worker:', server.name,`(${server.gID})`) + Childs[server.name] = Spawner.fork('./musicWorker.js',[server.gID, server.name]); + } + else + { //Health check + (function (server) + { + Childs[server.name].on('exit', ()=> + { + console.log('Child DIED, spawning another.') + Childs[server.name] = Spawner.fork('./musicWorker.js',[server.gID, server.name]); + }) + })(server); + } + + } +} + +function moveAFKs(){ + //Gets the members inside the AFK channel + let auxmembers = bot.channels.cache.get("335494006890823680").members + //console.log("MoveAFK: Member list with "+ auxmembers.size+" members.") + //Sorts through them looking for those who have the SS - Secret Services Role + if(auxmembers.size >0) + { + //console.log("hosting:"); + } + for(var [key, values] of auxmembers){ + //console.log(values.id);; + if(values.roles.cache.has('693413934715240498')){ + //Upon fiding someoe that has said role. + //Moves it to the correct Channel. + values.voice.setChannel('839266096401874974') + .then(() => console.log(`MoveAFK: Moved ${values.displayName}.`)) + .catch(console.error); + } + } +} + +async function serversWithMusicOn() +{ + return await guildsM.find({music:true}).then(g=>{return g}) +} \ No newline at end of file diff --git a/test.js b/test.js new file mode 100644 index 0000000..cb8aeed --- /dev/null +++ b/test.js @@ -0,0 +1,42 @@ +const {Client, GatewayIntentBits,Partials, AtivityType} = require('./lib.js'); +const mongoose = require('mongoose'); +const mongoDB = process.env.mongoDB; + +const bot = new Client( + { + intents: + [ + GatewayIntentBits.Guilds, + GatewayIntentBits.GuildMembers, + GatewayIntentBits.GuildBans, + GatewayIntentBits.GuildEmojisAndStickers, + GatewayIntentBits.GuildIntegrations , + GatewayIntentBits.GuildWebhooks , + GatewayIntentBits.GuildInvites , + GatewayIntentBits.GuildVoiceStates, + GatewayIntentBits.GuildPresences, + GatewayIntentBits.GuildMessages, + GatewayIntentBits.GuildMessageReactions, + GatewayIntentBits.GuildMessageTyping, + GatewayIntentBits.DirectMessages, + GatewayIntentBits.DirectMessageReactions, + GatewayIntentBits.DirectMessageTyping, + GatewayIntentBits.MessageContent, + GatewayIntentBits.GuildScheduledEvents, + GatewayIntentBits.AutoModerationConfiguration, + GatewayIntentBits.AutoModerationExecution + ], + partials: + [ + Partials.Reaction, + Partials.Message + ] + } +) +bot.login(process.env.discord_token); +bot.on('ready', ()=> +{ + mongoose.Promise = global.Promise; + mongoose.connect(mongoDB).catch(err=>console.log(err)); + console.log('Ready'); +}); \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..aeabf61 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,22 @@ +{ + // Change this to match your project + "include": ["*"], + "exclude": ["node_modules/**"], + "compilerOptions": { + // Tells TypeScript to read JS files, as + // normally they are ignored as source files + "allowJs": true, + // Generate d.ts files + "declaration": true, + // This compiler run should + // only output d.ts files + "emitDeclarationOnly": true, + // Types should go into this directory. + // Removing this would place the .d.ts files + // next to the .js files + "outDir": "dist", + // go to js file when using IDE functions like + // "Go to Definition" in VSCode + "declarationMap": true + } + } \ No newline at end of file diff --git a/views/addtodiscord.ejs b/views/addtodiscord.ejs new file mode 100644 index 0000000..da234fc --- /dev/null +++ b/views/addtodiscord.ejs @@ -0,0 +1,40 @@ + + + + + + + + Rem-chan at your service + + + + +
+

Rem-chan

+
+ + DiscordAddButton + +
+ +

+ Rem themed discord bot. Everything you want in a bot, with a weabo twist. +

+
+ +
+ +
+ + + + + diff --git a/views/home.ejs b/views/home.ejs new file mode 100644 index 0000000..679cf88 --- /dev/null +++ b/views/home.ejs @@ -0,0 +1,65 @@ + + + + + + + + Rem-chan at your service + + + + + +
+

Rem-chan

+
+
+
+ +

Sign in

+ +
+ + +
+ +
+ + + + Forgot the password? +
Eight or more characters, with at least one lowercase and one uppercase letter.
+
+ +
+
+ + DiscordAddButton + +
+ +

+ Rem themed discord bot. Everything you want in a bot, with a weabo twist. +

+
+ + +
+ + + + +