diff --git a/ExtendedMessage.js b/ExtendedMessage.js
deleted file mode 100644
index 5f362b0..0000000
--- a/ExtendedMessage.js
+++ /dev/null
@@ -1,29 +0,0 @@
-const { APIMessage, Structures } = require("discord.js");
-
-class ExtAPIMessage extends APIMessage {
- resolveData() {
- if (this.data) return this;
- super.resolveData();
- const allowedMentions = this.options.allowedMentions || this.target.client.options.allowedMentions || {};
- if (allowedMentions.repliedUser !== undefined) {
- if (this.data.allowed_mentions === undefined) this.data.allowed_mentions = {};
- Object.assign(this.data.allowed_mentions, { replied_user: allowedMentions.repliedUser });
- }
- if (this.options.replyTo !== undefined) {
- Object.assign(this.data, { message_reference: { message_id: this.options.replyTo.id } });
- }
- return this;
- }
-}
-
-class Message extends Structures.get("Message") {
- inlineReply(content, options) {
- return this.channel.send(ExtAPIMessage.create(this, content, options, { replyTo: this }).resolveData());
- }
-
- edit(content, options) {
- return super.edit(ExtAPIMessage.create(this, content, options).resolveData());
- }
-}
-
-Structures.extend("Message", () => Message);
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
index 676b1ed..bf880a4 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,127 +1,11 @@
-Creative Commons Legal Code
+PokètwoAuto-catcher
-CC0 1.0 Universal
+Made By Ninja.69#0000
+ALWAYS GIVE CREDIT
+DONT MODIFY AMD TAKE CREDITS!
- CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
- LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
- ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
- INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
- REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
- PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
- THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
- HEREUNDER.
+ATLEAST GIVE CREDIT!
+LOVE YOU
-NOTE
-
-Collaborators and all contributors alongwith the copyright holder have the discretion as to submit takedown requests upon any material that is possibly infringing
-the license holder's rights.
-
-
-Statement of Purpose
-
-The laws of most jurisdictions throughout the world automatically confer
-exclusive Copyright and Related Rights (defined below) upon the creator
-and subsequent owner(s) (each and all, an "owner") of an original work of
-authorship and/or a database (each, a "Work").
-
-Certain owners wish to permanently relinquish those rights to a Work for
-the purpose of contributing to a commons of creative, cultural and
-scientific works ("Commons") that the public can reliably and without fear
-of later claims of infringement build upon, modify, incorporate in other
-works, reuse and redistribute as freely as possible in any form whatsoever
-and for any purposes, including without limitation commercial purposes.
-These owners may contribute to the Commons to promote the ideal of a free
-culture and the further production of creative, cultural and scientific
-works, or to gain reputation or greater distribution for their Work in
-part through the use and efforts of others.
-
-For these and/or other purposes and motivations, and without any
-expectation of additional consideration or compensation, the person
-associating CC0 with a Work (the "Affirmer"), to the extent that he or she
-is an owner of Copyright and Related Rights in the Work, voluntarily
-elects to apply CC0 to the Work and publicly distribute the Work under its
-terms, with knowledge of his or her Copyright and Related Rights in the
-Work and the meaning and intended legal effect of CC0 on those rights.
-
-1. Copyright and Related Rights. A Work made available under CC0 may be
-protected by copyright and related or neighboring rights ("Copyright and
-Related Rights"). Copyright and Related Rights include, but are not
-limited to, the following:
-
- i. the right to reproduce, adapt, distribute, perform, display,
- communicate, and translate a Work;
- ii. moral rights retained by the original author(s) and/or performer(s);
-iii. publicity and privacy rights pertaining to a person's image or
- likeness depicted in a Work;
- iv. rights protecting against unfair competition in regards to a Work,
- subject to the limitations in paragraph 4(a), below;
- v. rights protecting the extraction, dissemination, use and reuse of data
- in a Work;
- vi. database rights (such as those arising under Directive 96/9/EC of the
- European Parliament and of the Council of 11 March 1996 on the legal
- protection of databases, and under any national implementation
- thereof, including any amended or successor version of such
- directive); and
-vii. other similar, equivalent or corresponding rights throughout the
- world based on applicable law or treaty, and any national
- implementations thereof.
-
-2. Waiver. To the greatest extent permitted by, but not in contravention
-of, applicable law, Affirmer hereby overtly, fully, permanently,
-irrevocably and unconditionally waives, abandons, and surrenders all of
-Affirmer's Copyright and Related Rights and associated claims and causes
-of action, whether now known or unknown (including existing as well as
-future claims and causes of action), in the Work (i) in all territories
-worldwide, (ii) for the maximum duration provided by applicable law or
-treaty (including future time extensions), (iii) in any current or future
-medium and for any number of copies, and (iv) for any purpose whatsoever,
-including without limitation commercial, advertising or promotional
-purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
-member of the public at large and to the detriment of Affirmer's heirs and
-successors, fully intending that such Waiver shall not be subject to
-revocation, rescission, cancellation, termination, or any other legal or
-equitable action to disrupt the quiet enjoyment of the Work by the public
-as contemplated by Affirmer's express Statement of Purpose.
-
-3. Public License Fallback. Should any part of the Waiver for any reason
-be judged legally invalid or ineffective under applicable law, then the
-Waiver shall be preserved to the maximum extent permitted taking into
-account Affirmer's express Statement of Purpose. In addition, to the
-extent the Waiver is so judged Affirmer hereby grants to each affected
-person a royalty-free, non transferable, non sublicensable, non exclusive,
-irrevocable and unconditional license to exercise Affirmer's Copyright and
-Related Rights in the Work (i) in all territories worldwide, (ii) for the
-maximum duration provided by applicable law or treaty (including future
-time extensions), (iii) in any current or future medium and for any number
-of copies, and (iv) for any purpose whatsoever, including without
-limitation commercial, advertising or promotional purposes (the
-"License"). The License shall be deemed effective as of the date CC0 was
-applied by Affirmer to the Work. Should any part of the License for any
-reason be judged legally invalid or ineffective under applicable law, such
-partial invalidity or ineffectiveness shall not invalidate the remainder
-of the License, and in such case Affirmer hereby affirms that he or she
-will not (i) exercise any of his or her remaining Copyright and Related
-Rights in the Work or (ii) assert any associated claims and causes of
-action with respect to the Work, in either case contrary to Affirmer's
-express Statement of Purpose.
-
-4. Limitations and Disclaimers.
-
- a. No trademark or patent rights held by Affirmer are waived, abandoned,
- surrendered, licensed or otherwise affected by this document.
- b. Affirmer offers the Work as-is and makes no representations or
- warranties of any kind concerning the Work, express, implied,
- statutory or otherwise, including without limitation warranties of
- title, merchantability, fitness for a particular purpose, non
- infringement, or the absence of latent or other defects, accuracy, or
- the present or absence of errors, whether or not discoverable, all to
- the greatest extent permissible under applicable law.
- c. Affirmer disclaims responsibility for clearing rights of other persons
- that may apply to the Work or any use thereof, including without
- limitation any person's Copyright and Related Rights in the Work.
- Further, Affirmer disclaims responsibility for obtaining any necessary
- consents, permissions or other rights required for any use of the
- Work.
- d. Affirmer understands and acknowledges that Creative Commons is not a
- party to this document and has no duty or obligation with respect to
- this CC0 or use of the Work.
+-NINJA
+PEACHE OUT!
\ No newline at end of file
diff --git a/README.md b/README.md
index 4a7b916..45c6d6e 100644
--- a/README.md
+++ b/README.md
@@ -1,63 +1,68 @@
-
A Fun and moderation bot with 150+ Commnds made using discord.js
- Made by tag:- Ninja.69#0000
-GITHUB - https://github.com/Ninja-bruh69
+## 🏆 Pokétwo Autocatcher 🏆
+**A POKÈTWO support auto catch bot**!
+**its completely antiban! and safe to use**
- STAR ⭐ THE PROJECT IF U LIKE :)
+![welcome to our](https://github.com/Ninja-bruh69/All-In-One-Discord-Bot/assets/130167556/c90149b9-48e6-4103-8457-c9fe6b56374b)
- Categories 📑
+credits: Ninja
+help?
+dm me on discord
+username - ninja.69#0000
-- ✅ music
-- ✅ moderation
-- ✅ NSFW
-- ✅ Info
-- ✅ giveway
-- ✅ fun
-- ✅ help
-- ✅ economy
-- ✅ nsfw
-- ✅ utility
-- ✅ search
-- ✅ owner
+---
-
-user will not see this plz! dont edit this
+### Features
+The bot has the following features:
+- ⚙️ Easy Setup (simply run a script and enter the correct information, no 'coding' needed)
+- ⬆️ Auto-levelling (Level up all your duel Pokémon to level 100 **overnight**!)
+- ✨ Get notified when and if you've caught a Pokémon, and also if another event occurs
+ - See when a Shiny/Legendary/Ultra Beast/Mythical Pokémon is caught, and which one it is!
+- 💲 **Completely free** and open-source (you can see the code as it is currently)
+- 💕 **Trustworthy**; this autocatcher is **completely** Free!
+- 🏎️ Super fast; the autocatcher can even handle Incense!
+- 🔍 Pokétwo-Resistant - the autocatcher sends a random series of numbers to enhance undetectability
+### Getting Started:
+To start up the bot on replit, go to the 'Secrets' tab on replit (the lock icon) and in the 'key' area, write `user_token`, and then type in your discord account token in the 'value' section.
-
- A FUN AND MODERATION BOT WITH 150+COMMNDS
-IF YOU WANT ADD MORE COOMNDS JOIN SUPPORT SERVER 😁
+**Secrets you have to put**:
+`user_token` ~~-->~~ The token of the user you want to autocatch\
+`spam_id` ~~-->~~ The id of the channel in which you want to spam\
+`catch_id` ~~-->~~ The id of the channel in which you want the bot to spam (First you need to redirect Pokétwo's spawns to that channel)\
+`bot_owner` ~~-->~~ The id of the owner of the bot.\
+`logs_id` (Optional) ~~-->~~ The id of the channel in which you want the bot to send all information. Every catch, it sends the type of the pokemon you caught, all pokemon, legendary pokemon, mythical pokemon and shiny pokemon you caught during the time the bot was active. This count sometimes reset if the bot is paused some hours, because captcha or other reasons.\
+`captcha_ping` (Optional) ~~-->~~ Only works if `logs_id` secret exists. It is the id of the player you want to ping. You can get it right-clicking the guy you want to ping and getting his id.\
-**[SUPPORT SERVER](https://dsc.gg/itzmeninja)**||
+**Other Things you can change:**\
+Prefix ~~-->~~ You can change the prefix of the commands of the bot by changing the value of the variable `bot_prefix` on the line 6. Default one is `%`.
+**Commands:**\
+`%start` and `%stop` commands are used to control the bot without accesing replit or uptime robot. We only recommend using them if you have your bot on uptime robot, else, they will be useless because you need to have replit opened, and if you have it opened, you can stop or start it easily. You can't use them if there's a pending captcha. Use the command below instead.
+`%captcha_ping` is used to confirm the pending captcha was done. Obviously, you can only use this if there's a pending captcha.
+`%say` is used to make the bot say things. This is useful if you don't want to log in into the alt if you want to check, for example, your money. You can use "%say @Pokétwo bal".
+**Important Details**\
+`%start`, `%stop`, `%captcha_ping` and `%say` commands can be used by anyone in any server your alt's in. It's recommended to leave all servers before use autocatcher.
-
+After you've done that, please see the below section.
+#### Running
+Once you have installed the correct dependencies, click the green 'Run' icon at the top of your webpage. If a new window opens up with 'Bot logged on' written inside, and `Logged into account: ` has appeared into your console, then the bot has successfully started.
- Bot support server
+> Remember to cd into your autocatcher folder as well. If you need any help with something, feel free to dm me on discord
+> username - ninja.69#0000
+> We recommend using Uptime Robot for 24/7 autocatcher.
+>
-
+>
+---
-
+## **DISCLAIMER**
+Please note that self botting is against Discord's Terms of Service and being discovered using a self bot may result in your account being banned. To avoid this, keep knowledge of your self bot to a minimum and use a throwaway account. I am not responsible for any accounts lost due to the self bot. I also recommend checking the self bot channel's messages occasionally to see if Pokétwo has sent a captcha. **If it has, it would be a good idea to solve it.**
-
-
-If u got any error join our discord server
- If you want working version join our discor server
-
- 💨 Run the projects
-
-
-### Frok Latest version on replit [Run on Repl.it](error)
-
-### START THE PROJECT IF U LIKE :)
-### copyright ©️ 2023-2026 Ninja:
+---
\ No newline at end of file
diff --git a/code credits.md b/code credits.md
deleted file mode 100644
index 4d13786..0000000
--- a/code credits.md
+++ /dev/null
@@ -1,14 +0,0 @@
-
- Thanks to all users and server for help to make a bot
-
- [Support Server](https://dsc.gg/itzmeninja)
-
-[Ninja Github](https://github.com/Ninja-bruh69)
-
-all rights are reserved By Ninja -
-and he is not giving permission to edit and distribute, you can just edit and use privately , Licensed By Indian Government 2023-2026
-
-
-
-
-
diff --git a/commands/backup/Load.js b/commands/backup/Load.js
deleted file mode 100644
index b874f7a..0000000
--- a/commands/backup/Load.js
+++ /dev/null
@@ -1,56 +0,0 @@
-const backup = require('discord-backup');
-module.exports = {
- name: "backup-load",
- aliases: ["bload"],
- category: "backup",
- usage: "qbackup-load",
- description: "load a server backup",
- run: async (client, message, args) => {
- if(!message.member.hasPermission('ADMINISTRATOR')){
- return message.channel.send(':x: You need to have the manage messages permissions to create a backup in this server.');
- }
-
- const backupID = args.join(' ');
-
- backup.fetch(backupID).then(() => {
-
- message.channel.send(':warning: All the server channels, roles, and settings will be cleared. Do you want to continue? Send `-confirm` or `cancel`!');
-
- const collector = message.channel.createMessageCollector((m) => m.author.id === message.author.id && ['-confirm', 'cancel'].includes(m.content), {
- time: 60000,
- max: 1
- });
- collector.on('collect', (m) => {
- const confirm = m.content === '-confirm';
- collector.stop();
- if (confirm) {
-
- backup.load(backupID, message.guild).then(() => {
-
- return message.author.send('Backup loaded successfully!');
-
- }).catch((err) => {
-
- if (err === 'No backup found')
- return message.channel.send(':x: No backup found for ID '+backupID+'!');
- else
- return message.author.send(':x: An error occurred: '+(typeof err === 'string') ? err : JSON.stringify(err));
-
- });
-
- } else {
- return message.channel.send(':x: Cancelled.');
- }
- })
-
- collector.on('end', (collected, reason) => {
- if (reason === 'time')
- return message.channel.send(':x: Command timed out! Please retry.');
- })
-
- }).catch(() => {
- return message.channel.send(':x: No backup found for ID '+backupID+'!');
- });
-
-}
-}
\ No newline at end of file
diff --git a/commands/backup/backup info.js b/commands/backup/backup info.js
deleted file mode 100644
index 82ab618..0000000
--- a/commands/backup/backup info.js
+++ /dev/null
@@ -1,47 +0,0 @@
-const Discord = require('discord.js');
-const backup = require('discord-backup');
-
-
-module.exports = {
- name: 'info-backup',
- aliases: [],
- category: 'backup',
-
-
- run: async (client, message, args) => {
- // If the member doesn't have enough permissions
- if(!message.member.hasPermission('ADMINISTRATOR')){
- return message.reply(':x: You need to have the administrator permissions to create a backup in this server.');
- }
-
- const backupID = args.join(' ');
-
- if (!backupID)
- return message.channel.send(':x: Please specify a valid backup ID!');
-
- backup.fetch(backupID).then((backup) => {
-
- const date = new Date(backup.data.createdTimestamp);
- const yyyy = date.getFullYear().toString(), mm = (date.getMonth()+1).toString(), dd = date.getDate().toString();
- const formattedDate = `${yyyy}/${(mm[1]?mm:"0"+mm[0])}/${(dd[1]?dd:"0"+dd[0])}`;
-
- const embed = new Discord.MessageEmbed()
- .setAuthor(':information_source: Backup', backup.data.iconURL)
- .addField('Server name', backup.data.name)
- .addField('Size', backup.size + ' kb')
- .addField('Created at', formattedDate)
- .setFooter('Backup ID: '+backup.id);
-
- return message.channel.send(embed);
-
- }).catch((err) => {
-
- if (err === 'No backup found')
- return message.channel.send(':x: No backup found for ID '+backupID+'!');
- else
- return message.channel.send(':x: An error occurred: '+(typeof err === 'string') ? err : JSON.stringify(err));
-
- });
-
- }
-}
diff --git a/commands/backup/create.js b/commands/backup/create.js
deleted file mode 100644
index 324d1b7..0000000
--- a/commands/backup/create.js
+++ /dev/null
@@ -1,24 +0,0 @@
-const backup = require('discord-backup');
-module.exports = {
- name: "backup-create",
- aliases: ["bc"],
- category: "backup",
- usage: "qbackup-create",
- description: "Get the bot's ping!",
- run: async (client, message, args) => {
- if(!message.member.hasPermission('MANAGE_MESSAGES')){
- return message.channel.send(':x: You need to have the manage messages permissions to create a backup in this server.');
- }
-
- backup.create(message.guild).then((backupData) => {
-
- return message.channel.send('Backup created! Here is your ID: `'+backupData.id+'` Use `qload-backup '+backupData.id+'` to load the backup on another server!');
-
- }).catch(() => {
-
- return message.channel.send(':x: An error occurred, please report to the Support server ');
-
- });
-
-}
-}
\ No newline at end of file
diff --git a/commands/backup/lol b/commands/backup/lol
deleted file mode 100644
index 8b13789..0000000
--- a/commands/backup/lol
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/commands/economy/Balance.js b/commands/economy/Balance.js
deleted file mode 100644
index ad5f31a..0000000
--- a/commands/economy/Balance.js
+++ /dev/null
@@ -1,44 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-const db = require("quick.db");
-
-module.exports = {
- name: "balance",
- aliases: ["bal"],
- category: "economy",
- description: "Shows Current Balance",
- usage: "[username | nickname | mention | ID](optional)",
- accessableby: "everyone"
- ,
- run: async (bot, message, args) => {
- let user =
- message.mentions.members.first() ||
- message.guild.members.cache.get(args[0]) ||
- message.guild.members.cache.find(
- r =>
- r.user.username.toLowerCase() === args.join(" ").toLocaleLowerCase()
- ) ||
- message.guild.members.cache.find(
- r => r.displayName.toLowerCase() === args.join(" ").toLocaleLowerCase()
- ) ||
- message.member;
-
- let bal = db.fetch(`money_${user.id}`);
-
- if (bal === null) bal = 0;
-
- let bank = await db.fetch(`bank_${user.id}`);
-
- if (bank === null) bank = 0;
-let Total = bal + bank
- if (user) {
- let moneyEmbed = new MessageEmbed()
- .setColor("BLUE")
- .setDescription(
- `**${user.user.username}'s Balance**\n**Cash:** ${bal}$\n**Bank:** ${bank}\n**Total:** ${Total}`
- );
- message.channel.send(moneyEmbed);
- } else {
- return message.channel.send("**Enter A Valid User!**");
- }
- }
-};
\ No newline at end of file
diff --git a/commands/economy/Daly.js b/commands/economy/Daly.js
deleted file mode 100644
index c4de22a..0000000
--- a/commands/economy/Daly.js
+++ /dev/null
@@ -1,40 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-const db = require("quick.db");
-const ms = require("parse-ms");
-
-module.exports = {
-
- name: "daily",
- aliases: ["coins-system"],
- category: "economy",
- description: "Gives You 200 per day",
- usage: " ",
- accessableby: "everyone"
- ,
- run: async (bot, message, args) => {
- let user = message.author;
-
- let timeout = 86400000;
- let amount = 200;
-
- let daily = await db.fetch(`daily_${user.id}`);
-
- if (daily !== null && timeout - (Date.now() - daily) > 0) {
- let time = ms(timeout - (Date.now() - daily));
-
- let timeEmbed = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ You've already collected your daily reward\n\nCollect it again in ${time.hours}h ${time.minutes}m ${time.seconds}s `);
- message.channel.send(timeEmbed)
- } else {
- let moneyEmbed = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`✅ You've collected your daily reward of ${amount} coins`);
- message.channel.send(moneyEmbed)
- db.add(`money_${user.id}`, amount)
- db.set(`daily_${user.id}`, Date.now())
-
-
- }
- }
-}
\ No newline at end of file
diff --git a/commands/economy/Fish.js b/commands/economy/Fish.js
deleted file mode 100644
index 0a86fdf..0000000
--- a/commands/economy/Fish.js
+++ /dev/null
@@ -1,77 +0,0 @@
-const fishes = require('../../JSON/fishes.json');
-let db = require('quick.db');
-const ms = require("parse-ms");
-const { randomRange } = require('../../functions');
-const { MessageEmbed } = require('discord.js');
-
-module.exports = {
-
- name: 'fish',
- aliases: ['catchfish'],
- category: 'economy',
- description: 'Catch A Fish From A Vast Ocean',
- usage: '[list | rewards] (optional)',
- acessableby: 'everyone'
- ,
- run: async (bot, message, args) => {
-
- let user = message.author;
-
- let bal = db.fetch(`money_${user.id}`)
-
- let fish = await db.fetch(`fish_${user.id}`)
- if (!args[0]) {
- if (bal === null) bal = 0;
-
- if (fish == null) fish = 0;
-
- const fishID = Math.floor(Math.random() * 10) + 1;
- let rarity;
- if (fishID < 5) rarity = 'junk';
- else if (fishID < 8) rarity = 'common';
- else if (fishID < 9) rarity = 'uncommon';
- else if (fishID < 10) rarity = 'rare';
- else rarity = 'legendary';
- const fishh = fishes[rarity];
- const worth = randomRange(fishh.min, fishh.max);
-
- let timeout = 1800000;
- let fishtime = await db.fetch(`fishtime_${user.id}`);
-
- if (fishtime !== null && timeout - (Date.now() - fishtime) > 0) {
- let time = ms(timeout - (Date.now() - fishtime));
-
- let timeEmbed = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ You've Recently Casted A Line\n\nFish Again in ${time.minutes}m ${time.seconds}s `);
- return message.channel.send(timeEmbed)
- }
-
- let embed = new MessageEmbed()
- .setColor('GREEN')
- .setDescription(`**🎣 You Cast Out Your Line And Caught A ${fishh.symbol}, I Bet It'd Sell For Around ${worth}**!`)
- message.channel.send(embed);
-
- db.add(`money_${user.id}`, worth);
- db.add(`fish_${user.id}`, 1);
- db.set(`fishtime_${user.id}`, Date.now())
- }
- if (args[0] === 'list' || args[0] === 'rewards') {
-
- let lEmbed = new MessageEmbed()
- .setColor('GREEN')
- .setTitle(`List Of Fish Names And Rewards You Can Get`)
- .setDescription(`
-\`\`\`🔧Junk :: Max Reward: 5, Min Reward: 1
-🐟Common :: Max Reward: 25, Min Reward: 10
-🐠Uncommon :: Max Reward: 50, Min Reward: 18
-🦑Rare :: Max Reward: 75, Min Reward: 30
-🐋Legendary :: Max Reward: 100, Min Reward: 50\`\`\`
-**All reward are random from max/min**
-
-`)
- .setFooter(message.guild.name, message.guild.iconURL())
- return message.channel.send(lEmbed);
- }
- }
-}
\ No newline at end of file
diff --git a/commands/economy/addmoney.js b/commands/economy/addmoney.js
deleted file mode 100644
index b5e10ec..0000000
--- a/commands/economy/addmoney.js
+++ /dev/null
@@ -1,31 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-const db = require("quick.db");
-
-module.exports = {
-
- name: "addmoney",
- aliases: ["am"],
- category: "economy",
- description: "Adds Money to a user",
- usage: "[ mention | ID]",
- accessableby: "Administrator, Owner"
- ,
- run: async (bot, message, args) => {
- if (!message.member.hasPermission("ADMINISTRATOR")) return message.channel.send("❌ You Do Not Have Permissions To Add Money! - [ADMINISTRATOR]");
- if (!args[0]) return message.channel.send("**Please Enter A User!**")
-
- let user = message.mentions.members.first() || message.guild.members.cache.get(args[0]) || message.guild.members.cache.find(r => r.user.username.toLowerCase() === args[0].toLocaleLowerCase()) || message.guild.members.cache.find(r => r.displayName.toLowerCase() === args[0].toLocaleLowerCase());
- if (!user) return message.channel.send("**Enter A Valid User!**")
- if (!args[1]) return message.channel.send("**Please Enter A Amount!**")
- if (isNaN(args[1])) return message.channel.send(`**❌ Your Amount Is Not A Number!**`);
- if (args[0] > 10000) return message.channel.send("**Cannot Add That Much Amount!**")
- db.add(`money_${user.id}`, args[1])
- let bal = db.fetch(`money_${user.id}`)
-
- let moneyEmbed = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`✅ Added ${args[1]} coins\n\nNew Balance: ${bal}`);
- message.channel.send(moneyEmbed)
-
- }
-}
\ No newline at end of file
diff --git a/commands/economy/beg.js b/commands/economy/beg.js
deleted file mode 100644
index c344e3c..0000000
--- a/commands/economy/beg.js
+++ /dev/null
@@ -1,41 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-const db = require("quick.db");
-const ms = require("parse-ms");
-
-module.exports = {
-
- name: "beg",
- noalias: [""],
- category: "economy",
- description: "Beg for money",
- usage: " ",
- accessableby: "everyone"
- ,
- run: async (bot, message, args) => {
- let user = message.author;
-
- let timeout = 120000;
- let amount = 20;
-
- let beg = await db.fetch(`beg_${user.id}`);
-
- if (beg !== null && timeout - (Date.now() - beg) > 0) {
- let time = ms(timeout - (Date.now() - beg));
-
- let timeEmbed = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ You've already begged recently\n\nBeg again in ${time.minutes}m ${time.seconds}s `);
- message.channel.send(timeEmbed)
- } else {
- let moneyEmbed = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`✅ You've begged and received ${amount} coins`);
- message.channel.send(moneyEmbed)
- db.add(`money_${user.id}`, amount)
- db.add(`begs_${user.id}`, 1)
- db.set(`beg_${user.id}`, Date.now())
-
-
- }
- }
-};
\ No newline at end of file
diff --git a/commands/economy/buy.js b/commands/economy/buy.js
deleted file mode 100644
index 1705219..0000000
--- a/commands/economy/buy.js
+++ /dev/null
@@ -1,102 +0,0 @@
-const { MessageEmbed } = require('discord.js')
-const db = require('quick.db')
-const { default_prefix } = require('../../config');
-
-module.exports = {
-
- name: "buy",
- noalias: [""],
- category: "economy",
- description: "buys items",
- usage: "[item]",
- accessableby: "everyone"
- ,
- run: async (bot, message, args) => {
- let user = message.author;
-
- let prefix;
- let fetched = await db.fetch(`prefix_${message.guild.id}`);
-
- if (fetched === null) {
- prefix = default_prefix
- } else {
- prefix = fetched
- }
-
- let author = db.fetch(`money_${user.id}`)
-
- let Embed = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ You need 200 coins to purchase Bronze VIP`);
-
-
- if (args.join(' ').toLocaleLowerCase() == 'bronze') {
- if (author < 200) return message.channel.send(Embed)
-
- await db.fetch(`bronze_${user.id}`);
- db.set(`bronze_${user.id}`, true)
-
- let Embed2 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`✅ Purchased Bronze VIP For 200 Coins`);
-
- db.subtract(`money_${user.id}`, 200)
- message.channel.send(Embed2)
- } else if (args.join(' ').toLocaleLowerCase() == 'nikes') {
- let Embed3 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ You need 600 coins to purchase some Nikes`);
-
- if (author < 600) return message.channel.send(Embed3)
-
- await db.fetch(`nikes_${user.id}`)
- db.add(`nikes_${user.id}`, 1)
-
- let Embed4 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`✅ Purchased Fresh Nikes For 600 Coins`);
-
- db.subtract(`money_${user.id}`, 600)
- message.channel.send(Embed4)
- } else if (args.join(' ').toLocaleLowerCase() == 'car') {
- let Embed5 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ You need 800 coins to purchase a new car`);
-
- if (author < 800) return message.channel.send(Embed5)
-
- await db.fetch(`car_${user.id}`)
- db.add(`car_${user.id}`, 1)
-
- let Embed6 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`✅ Purchased A New Car For 800 Coins`);
-
- db.subtract(`money_${message.guild.id}_${user.id}`, 800)
- message.channel.send(Embed6)
- } else if (args.join(' ').toLocaleLowerCase() == 'mansion') {
- let Embed7 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ You need 1200 coins to purchase a Mansion`);
-
- if (author < 1200) return message.channel.send(Embed7)
-
- await db.fetch(`house_${user.id}`)
- db.add(`house_${user.id}`, 1)
-
- let Embed8 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`✅ Purchased A Mansion For 1200 Coins`);
-
- db.subtract(`money_${user.id}`, 1200)
- message.channel.send(Embed8)
- } else {
- if (message.content.toLowerCase() === `${prefix}buy`) {
- let embed9 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ Enter An Item To Buy!\nType ${prefix}shop To See List Of Items!`)
- return message.channel.send(embed9)
- }
- }
- }
-}
\ No newline at end of file
diff --git a/commands/economy/deposit.js b/commands/economy/deposit.js
deleted file mode 100644
index 5088625..0000000
--- a/commands/economy/deposit.js
+++ /dev/null
@@ -1,78 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-const db = require("quick.db");
-
-module.exports = {
-
- name: "deposit",
- aliases: ["dep"],
- category: "economy",
- description: "Deposits money to bank",
- usage: "",
- accessableby: "everyone"
- ,
- run: async (bot, message, args) => {
-
- let user = message.author;
-
- let member = db.fetch(`money_${user.id}`)
-
- if (args[0] == 'all') {
- let money = await db.fetch(`money_${user.id}`)
-
- let embedbank = new MessageEmbed()
- .setColor('GREEN')
- .setDescription("❌ You don't have any money to deposit")
-
- if (!money) return message.channel.send(embedbank)
-
- db.subtract(`money_${user.id}`, money)
- db.add(`bank_${user.id}`, money)
- let sembed = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`✅ You have deposited all your coins into your bank`);
- message.channel.send(sembed)
-
- } else {
-
- let embed2 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ Specify an amount to deposit`);
-
- if (!args[0]) {
- return message.channel.send(embed2)
- .catch(err => message.channel.send(err.message))
- }
- let embed6 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ Your Amount Is Not A Number!`)
-
- if(isNaN(args[0])) {
- return message.channel.send(embed6)
-
- }
- let embed3 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ You can't deposit negative money`);
-
- if (message.content.includes('-')) {
- return message.channel.send(embed3)
- }
- let embed4 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ You don't have that much money`);
-
- if (member < args[0]) {
- return message.channel.send(embed4)
- }
-
- let embed5 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`✅ You have deposited ${args[0]} coins into your bank`);
-
- message.channel.send(embed5)
- db.subtract(`money_${user.id}`, args[0])
- db.add(`bank_${user.id}`, args[0])
-
- }
- }
-}
\ No newline at end of file
diff --git a/commands/economy/leaderboard.js b/commands/economy/leaderboard.js
deleted file mode 100644
index e23a61c..0000000
--- a/commands/economy/leaderboard.js
+++ /dev/null
@@ -1,38 +0,0 @@
-const { MessageEmbed } = require('discord.js');
-const db = require('quick.db');
-
-module.exports = {
-
- name: "leaderboard",
- aliases: ['lb'],
- category: 'economy',
- description: 'Shows Server\'s Top 10 Users of Economy Leaderboard',
- usage: ' ',
- accessableby: "everyone"
- ,
- run: async (bot, message, args) => {
- let money = db.all().filter(data => data.ID.startsWith(`money_`)).sort((a, b) => b.data - a.data);
- if (!money.length) {
- let noEmbed = new MessageEmbed()
- .setAuthor(message.member.displayName, message.author.displayAvatarURL())
- .setColor("GREEN")
- .setFooter("Nothing To See Here Yet!")
- return message.channel.send(noEmbed)
- };
-
- money.length = 10;
- var finalLb = "";
- for (var i in money) {
- if (money[i].data === null) money[i].data = 0
- finalLb += `**${money.indexOf(money[i]) + 1}. ${bot.users.cache.get(money[i].ID.split('_')[1]) ? bot.users.cache.get(money[i].ID.split('_')[1]).tag : "Unknown User#0000"}** - ${money[i].data} :dollar:\n`;
- };
-
- const embed = new MessageEmbed()
- .setTitle(`Leaderboard Of ${message.guild.name}`)
- .setColor("GREEN")
- .setDescription(finalLb)
- .setFooter(bot.user.tag, bot.user.displayAvatarURL())
- .setTimestamp()
- message.channel.send(embed);
- }
-};
\ No newline at end of file
diff --git a/commands/economy/pay.js b/commands/economy/pay.js
deleted file mode 100644
index a7c0810..0000000
--- a/commands/economy/pay.js
+++ /dev/null
@@ -1,78 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-const db = require("quick.db");
-
-module.exports = {
-
- name: "pay",
- noalias: [""],
- category: "economy",
- description: "Pay to Somebody",
- usage: "[mention | ID] ",
- accessableby: "everyone"
- ,
- run: async (bot, message, args) => {
-try {
- let user2 = message.author
- if (!args[0]) return message.channel.send("**Please Enter A User!**");
- let user =
- message.mentions.members.first() ||
- message.guild.members.cache.get(args[0]) ||
- message.guild.members.cache.find(
- r => r.user.username.toLowerCase() === args[0].toLocaleLowerCase()
- ) ||
- message.guild.members.cache.find(
- r => r.displayName.toLowerCase() === args[0].toLocaleLowerCase()
- );
- if (!user) return message.channel.send("**Enter A Valid User!**");
-
- let member = db.fetch(`money_${user2.id}`);
-
- let embed1 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ Mention someone to pay`);
-
- if (!args[0]) {
- return message.channel.send(embed1);
- }
- let embed2 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ You cannot pay yourself`);
-
- if (user.user.id === message.author.id) {
- return message.channel.send(embed2);
- }
-
- let embed3 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ Specify an amount to pay`);
-
- if (!args[1]) {
- return message.channel.send(embed3);
- }
- let embed4 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ Enter A Valid Amount!`);
-
- if (isNaN(args[1])) {
- return message.channel.send(embed4);
- }
- let embed5 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ You don't have that much money`);
-
- if (member < args[1]) {
- return message.channel.send(embed5);
- }
-
- let embed6 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`✅ You have payed ${user.displayName} ${args[1]} coins`);
-
- message.channel.send(embed6);
- db.add(`money_${user.id}`, args[1]);
- db.subtract(`money_${user2.id}`, args[1]);
- } catch {
-
- }
- }
-};
\ No newline at end of file
diff --git a/commands/economy/removemoney.js b/commands/economy/removemoney.js
deleted file mode 100644
index 57b642f..0000000
--- a/commands/economy/removemoney.js
+++ /dev/null
@@ -1,34 +0,0 @@
-const { MessageEmbed }= require("discord.js");
-const db = require("quick.db");
-
-module.exports = {
-
- name: "removemoney",
- aliases: ["rm"],
- category: "economy",
- description: "Removes money from a user",
- usage: "[ mention | ID]",
- accessableby: "Administrator, Owner"
- ,
- run: async (bot, message, args) => {
- if (!message.member.hasPermission("ADMINISTRATOR", "MANAGE_GUILD")) return message.channel.send("❌ You do not have permissions to remove money!");
- if (!args[0]) return message.channel.send("**Please Enter A User!**")
-
- let user = message.mentions.members.first() || message.guild.members.cache.get(args[0]) || message.guild.members.cache.find(r => r.user.username.toLowerCase() === args[0].toLocaleLowerCase()) || message.guild.members.cache.find(r => r.displayName.toLowerCase() === args[0].toLocaleLowerCase());
- if (!user) return message.channel.send("**Enter A Valid User!**")
-
- if (!args[1]) return message.channel.send("**Please Enter A Amount!**")
- if (isNaN(args[1])) return message.channel.send("**Enter Valid Amount!**");
- let bal = await db.fetch(`money_${user.id}`)
-
- if (args[0] > bal) return message.channel.send("**Cannot Remove That Much Money!**")
- db.subtract(`money_${user.id}`, args[1])
- let bal2 = await db.fetch(`money_${user.id}`)
-
- let moneyEmbed = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`✅ Removed ${args[1]} coins\n\nNew Balance: ${bal2}`);
- message.channel.send(moneyEmbed)
-
- }
-}
\ No newline at end of file
diff --git a/commands/economy/roulette.js b/commands/economy/roulette.js
deleted file mode 100644
index f45b10f..0000000
--- a/commands/economy/roulette.js
+++ /dev/null
@@ -1,89 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-const db = require("quick.db");
-const { default_prefix } = require('../../config');
-
-module.exports = {
-
- name: "roulette",
- aliases: ["roul"],
- category: "economy",
- description: "Bet a colour to win or lose",
- usage: "[colour]",
- accessableby: "everyone"
- ,
- run: async (bot, message, args) => {
- let prefix = "q"
- let fetched = await db.fetch(`prefix_${message.guild.id}`);
-
- if (fetched === null) {
- fetched = prefix
- } else {
- prefix = fetched
- }
-
- let user = message.author;
-
- function isOdd(num) {
- if ((num % 2) == 0) return false;
- else if ((num % 2) == 1) return true;
- }
-
- let colour = args[0];
- let money = parseInt(args[1]);
- let moneydb = await db.fetch(`money_${user.id}`)
-
- let random = Math.floor((Math.random() * 10));
-
- let moneyhelp = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ Specify an amount to gamble | ${prefix}roulette `);
-
- let moneymore = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ You are betting more than you have`);
-
- let colorbad = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ Specify a color | Red [1.5x] (normal) Black [2x] (hard) Green [15x](rare)`);
-
- if (!colour) return message.channel.send(colorbad);
- colour = colour.toLowerCase()
- if (!money) return message.channel.send(moneyhelp);
- if (money > moneydb) return message.channel.send(moneymore);
-
- if (colour == "b" || colour.includes("black")) colour = 0;
- else if (colour == "r" || colour.includes("red")) colour = 1;
- else if (colour == "g" || colour.includes("green")) colour = 2;
- else return message.channel.send(colorbad);
-
- if (random == 1 && colour == 2) { // Green
- money *= 15
- db.add(`money_${user.id}`, money)
- let moneyEmbed1 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`✅ You won ${money} coins\n\nMultiplier: 15x`);
- message.channel.send(moneyEmbed1)
- } else if (isOdd(random) && colour == 1) { // Red
- money = parseInt(money * 1.5)
- db.add(`money_${user.id}`, money)
- let moneyEmbed2 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`🔴 You won ${money} coins\n\nMultiplier: 1.5x`);
- message.channel.send(moneyEmbed2)
- } else if (!isOdd(random) && colour == 0) { // Black
- money = parseInt(money * 2)
- db.add(`money_${user.id}`, money)
- let moneyEmbed3 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`⬛ You won ${money} coins\n\nMultiplier: 2x`);
- message.channel.send(moneyEmbed3)
- } else { // Wrong
- db.subtract(`money_${user.id}`, money)
- let moneyEmbed4 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ You lost ${money} coins\n\nMultiplier: 0x`);
- message.channel.send(moneyEmbed4)
- }
- db.add(`games_${user.id}`, 1)
- }
-}
\ No newline at end of file
diff --git a/commands/economy/sell.js b/commands/economy/sell.js
deleted file mode 100644
index c15a3bb..0000000
--- a/commands/economy/sell.js
+++ /dev/null
@@ -1,90 +0,0 @@
-const { MessageEmbed } = require('discord.js');
-const db = require('quick.db');
-const { default_prefix } = require('../../config')
-
-module.exports = {
-
- name: "sell",
- noalias: [""],
- category: "economy",
- description: "Sell to somebody",
- usage: "[mention | ID] ",
- accessableby: "everyone"
- ,
- run: async (bot, message, args) => {
- let prefix;
- let fetched = await db.fetch(`prefix_${message.guild.id}`);
-
- if (fetched === null) {
- fetched = prefix
- } else {
- prefix = fetched
- }
- let user = message.author;
-
- if (args.join(' ').toLocaleLowerCase() == 'nikes') {
- let embed1 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ You don't have Nikes to sell`);
-
- let nikees = await db.fetch(`nikes_${user.id}`)
-
- if (nikees < 1) return message.channel.send(embed1)
-
- db.fetch(`nikes_${user.id}`)
- db.subtract(`nikes_${user.id}`, 1)
-
- let embed2 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`✅ Sold Fresh Nikes For 600 Coins`);
-
- db.add(`money_${user.id}`, 600)
- message.channel.send(embed2)
- } else if (args.join(' ').toLocaleLowerCase() == 'car') {
- let embed3 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ You don't have a Car to sell`);
-
- let cars = await db.fetch(`car_${user.id}`)
-
- if (cars < 1) return message.channel.send(embed3)
-
- db.fetch(`car_${user.id}`)
- db.subtract(`car_${user.id}`, 1)
-
- let embed4= new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`✅ Sold a Car For 800 Coins`);
-
- db.add(`money_${user.id}`, 800)
- message.channel.send(embed4)
- } else if (args.join(' ').toLocaleLowerCase() == 'mansion') {
- let sembed2 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ You don't have a Mansion to sell`);
-
- let houses = await db.fetch(`house_${user.id}`)
-
- if (houses < 1) return message.channel.send(sembed2)
-
- db.fetch(`house_${user.id}`)
- db.subtract(`house_${user.id}`, 1)
-
- let sembed3 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`✅ Sold a Mansion For 1200 Coins`);
-
- db.add(`money_${user.id}`, 1200)
- message.channel.send(sembed3)
- } else {
- if (message.content.toLowerCase() === `${prefix}sell`) {
- let embed9 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ Enter an item to sell. Type ${prefix}store to see list of items`)
- return message.channel.send(embed9)
- } else {
- return message.channel.send("**Not A Valid Item!**")
- }
- }
- }
-}
\ No newline at end of file
diff --git a/commands/economy/slots.js b/commands/economy/slots.js
deleted file mode 100644
index fd35326..0000000
--- a/commands/economy/slots.js
+++ /dev/null
@@ -1,57 +0,0 @@
-const slotItems = ["🍇", "🍉", "🍌", "🍎", "🍒"];
-const db = require("quick.db");
-const { MessageEmbed } = require('discord.js');
-
-module.exports = {
-
- name:"slots",
- aliases: ["sl"],
- category: "economy",
- description: "Slot game | 9x - rare | 3x - common",
- usage: "",
- accessableby: ""
- ,
- run: async (bot, message, args) => {
-
- let user = message.author;
- let moneydb = await db.fetch(`money_${user.id}`)
- let money = parseInt(args[0]);
- let win = false;
-
- let moneymore = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ You are betting more than you have`);
-
- let moneyhelp = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ Specify an amount`);
-
- if (!money) return message.channel.send(moneyhelp);
- if (money > moneydb) return message.channel.send(moneymore);
-
- let number = []
- for (let i = 0; i < 3; i++) { number[i] = Math.floor(Math.random() * slotItems.length); }
-
- if (number[0] == number[1] && number[1] == number[2]) {
- money *= 9
- win = true;
- } else if (number[0] == number[1] || number[0] == number[2] || number[1] == number[2]) {
- money *= 3
- win = true;
- }
- if (win) {
- let slotsEmbed1 = new MessageEmbed()
- .setDescription(`${slotItems[number[0]]} | ${slotItems[number[1]]} | ${slotItems[number[2]]}\n\nYou won ${money} coins`)
- .setColor("GREEN")
- message.channel.send(slotsEmbed1)
- db.add(`money_${user.id}`, money)
- } else {
- let slotsEmbed = new MessageEmbed()
- .setDescription(`${slotItems[number[0]]} | ${slotItems[number[1]]} | ${slotItems[number[2]]}\n\nYou lost ${money} coins`)
- .setColor("GREEN")
- message.channel.send(slotsEmbed)
- db.subtract(`money_${user.id}`, money)
- }
-
-}
-}
\ No newline at end of file
diff --git a/commands/economy/store.js b/commands/economy/store.js
deleted file mode 100644
index 4ae05d2..0000000
--- a/commands/economy/store.js
+++ /dev/null
@@ -1,41 +0,0 @@
-const { MessageEmbed } = require('discord.js');
-const { default_prefix } = require('../../config');
-const db = require('quick.db');
-
-module.exports = {
-
- name: "shop",
- noalias: [""],
- category: "economy",
- description: "Shows list of items",
- usage: " ",
- accessableby: "everyone"
- ,
- run: async (bot, message, args) => {
- let prefix;
- let fetched = await db.fetch(`prefix_${message.guild.id}`);
-let g = [1 , 2, 3, 4, null]
- if (fetched === null) {
- prefix = default_prefix
- } else {
- prefix = fetched
- }
-
-
- let embed = new MessageEmbed()
- .setDescription(`** SHOP: **\n PadLock: \`500$\`\n you can use padlock to keep your wallet safe [${prefix}buy/${prefix}sell PadLock]\n\n LapTop: \`800$\`
- you can use laptop to earn some money online 💰
-[${prefix}buy/${prefix}sell Laptop] \n\nFishing Rod: \`1600$\`
- you can buy some fish and earn some money.
-[${prefix}buy/${prefix}sell Fishing Rod]\n\nHunting Rifle: \`2000$\`
- with hunting rifle you can catch some animal and earn money . [${prefix}buy/${prefix}sell Hunting Rifle]\n\nBank Note: \`2600$\`
- you can increase storage of your bank to 100 to 5000. [${prefix}buy/${prefix}sell Bank Note]
- `)
- .setColor("BLUE")
- .setFooter(`Requested By ${message.author.username}`)
- message.channel.send(embed)
- if(args[0] === "2"){
-
- }
- }
-}
\ No newline at end of file
diff --git a/commands/economy/weekly.js b/commands/economy/weekly.js
deleted file mode 100644
index ad8199f..0000000
--- a/commands/economy/weekly.js
+++ /dev/null
@@ -1,40 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-const db = require("quick.db");
-const ms = require("parse-ms");
-
-module.exports = {
-
- name: "coins-system",
- aliases: ["week"],
- category: "economy",
- description: "Gives You 5000 per Day",
- usage: " ",
- accessableby: "everyone"
- ,
- run: async (bot, message, args) => {
-
- let user = message.author;
- let timeout = 604800000;
- let amount = 5000;
-
- let weekly = await db.fetch(`weekly_${user.id}`);
-
- if (weekly !== null && timeout - (Date.now() - weekly) > 0) {
- let time = ms(timeout - (Date.now() - weekly));
-
- let timeEmbed = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ You have already collected your weekly reward\n\nCollect it again in ${time.days}d ${time.hours}h ${time.minutes}m ${time.seconds}s `);
- message.channel.send(timeEmbed)
- } else {
- let moneyEmbed = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`✅ You've collected your weekly reward of ${amount} coins`);
- message.channel.send(moneyEmbed)
- db.add(`money_${user.id}`, amount)
- db.set(`weekly_${user.id}`, Date.now())
-
-
- }
- }
-}
\ No newline at end of file
diff --git a/commands/economy/withdraw.js b/commands/economy/withdraw.js
deleted file mode 100644
index 5f5d70e..0000000
--- a/commands/economy/withdraw.js
+++ /dev/null
@@ -1,70 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-const db = require("quick.db");
-
-module.exports = {
-
- name: "withdraw",
- aliases: ["wd"],
- category: "economy",
- description: "Withdraws Money From Bank",
- usage: "",
-
- run: async (bot, message, args) => {
- let user = message.author;
-
- let member2 = db.fetch(`bank_${user.id}`)
-
- if (args.join(' ').toLocaleLowerCase() == 'all') {
- let money = await db.fetch(`bank_${user.id}`)
- let embed = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌**You Do Not Have Any Money To Withdraw!**`)
- if (!money) return message.channel.send(embed)
- db.subtract(`bank_${user.id}`, money)
- db.add(`money_${user.id}`, money)
- let embed5 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`✅ You have withdrawn all your coins from your bank`);
- message.channel.send(embed5)
-
- } else {
-
- let embed2 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ Specify an amount to withdraw!`);
-
- if (!args[0]) {
- return message.channel.send(embed2)
- }
- let embed6 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ Your Amount Is Not A Number!`)
-
- if(isNaN(args[0])) {
- return message.channel.send(embed6)
- }
- let embed3 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ You can't withdraw negative money!`);
-
- if (message.content.includes('-')) {
- return message.channel.send(embed3)
- }
- let embed4 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ You don't have that much money in the bank!`);
-
- if (member2 < args[0]) {
- return message.channel.send(embed4)
- }
-
- let embed5 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`✅ You have withdrawn ${args[0]} coins from your bank!`);
-
- message.channel.send(embed5)
- db.subtract(`bank_${user.id}`, args[0])
- db.add(`money_${user.id}`, args[0])
- }
- }
-}
\ No newline at end of file
diff --git a/commands/economy/work.js b/commands/economy/work.js
deleted file mode 100644
index 09afc6e..0000000
--- a/commands/economy/work.js
+++ /dev/null
@@ -1,42 +0,0 @@
-const db = require('quick.db')
-const { MessageEmbed } = require('discord.js')
-const ms = require("parse-ms");
-const Jwork = require('../../JSON/works.json');
-const JworkR = Jwork[Math.floor(Math.random() * Jwork.length)];
-
-module.exports = {
-
- name: "work",
- aliases: ["wr"],
- category: "economy",
- description: "Work to Earn Money",
- usage: " ",
- accessableby: "everyone"
- ,
- run: async (bot, message, args) => {
-
- let user = message.author;
- let author = await db.fetch(`work_${user.id}`)
-
- let timeout = 1800000;
-
- if (author !== null && timeout - (Date.now() - author) > 0) {
- let time = ms(timeout - (Date.now() - author));
-
- let timeEmbed = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`❌ You have already worked recently\n\nTry again in ${time.minutes}m ${time.seconds}s `);
- message.channel.send(timeEmbed)
- } else {
- let amount = Math.floor(Math.random() * 80) + 1;
- let embed1 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`✅ **${JworkR} ${amount}**`)
- message.channel.send(embed1)
-
- db.add(`works_${user.id}`, 1)
- db.add(`money_${user.id}`, amount)
- db.set(`work_${user.id}`, Date.now())
- };
- }
-};
\ No newline at end of file
diff --git a/commands/fun/advice.js b/commands/fun/advice.js
deleted file mode 100644
index c79771d..0000000
--- a/commands/fun/advice.js
+++ /dev/null
@@ -1,14 +0,0 @@
-const { Random } = require("something-random-on-discord")
-const random = new Random();
-
-module.exports = {
- name: "advice",
- category: "fun",
- description: "Get some advice",
- run: async (client, message, args) => {
-
- let data = await random.getAdvice()
- message.channel.send(data)
-
- }
-}
\ No newline at end of file
diff --git a/commands/fun/asci.js b/commands/fun/asci.js
deleted file mode 100644
index c4220be..0000000
--- a/commands/fun/asci.js
+++ /dev/null
@@ -1,28 +0,0 @@
-const discord = require("discord.js");
-const figlet = require("figlet"); // MAKE SURE TO INSTALL FIGLET PACKAGE OR CODE WONT WORK
-
-module.exports = {
- name: "ascii",
- aliases: [],
- category: "fun",
- usage: "ascii ",
- description: "Returns provided text in ascii format.",
- run: async (client, message, args) => {
-
- let text = args.join(" ");
- if(!text) {
-return message.channel.send(`Please provide text for the ascii conversion!`)
-}
- let maxlen = 20
-if(text.length > 20) {
-return message.channel.send(`Please put text that has 20 characters or less because the conversion won't be good!`)
-}
- // AGAIN, MAKE SURE TO INSTALL FIGLET PACKAGE!
-figlet(text, function(err, data) {
-message.channel.send(data, {
-code: 'AsciiArt'
-});
-})
-
- }
-};
\ No newline at end of file
diff --git a/commands/fun/cat.js b/commands/fun/cat.js
deleted file mode 100644
index 42f3cf4..0000000
--- a/commands/fun/cat.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const superagent = require("snekfetch");
-const Discord = require('discord.js')
-
-
-module.exports = {
- name: "cat",
- category: "fun",
-description: "Sends a random image of a cat",
-usage: "[command]",
-run: async (client, message, args, level) => {
-//command
-superagent.get('https://nekos.life/api/v2/img/meow')
- .end((err, response) => {
- const lewdembed = new Discord.MessageEmbed()
- .setTitle("Random cat")
- .setImage(response.body.url)
- .setColor(`#000000`)
- .setFooter(`owo`)
- .setURL(response.body.url);
-message.channel.send(lewdembed);
-})
-}
-};
\ No newline at end of file
diff --git a/commands/fun/cry.js b/commands/fun/cry.js
deleted file mode 100644
index 415a5a4..0000000
--- a/commands/fun/cry.js
+++ /dev/null
@@ -1,21 +0,0 @@
-const discord = require("discord.js");
-const { Random } = require("something-random-on-discord");
-const random = new Random();
-
-module.exports = {
- name: "cry",
- category: "fun",
- description: "Cry with gif",
- run: async (client, message, args) => {
-
- let data = await random.getAnimeImgURL("cry");
-
- let embed = new discord.MessageEmbed()
- .setImage(data)
- .setColor("RANDOM")
- .setFooter(`Please talk with ${message.author.username} they are crying`)
- .setTimestamp()
-
- message.channel.send(embed);
- }
-};
\ No newline at end of file
diff --git a/commands/fun/dog.js b/commands/fun/dog.js
deleted file mode 100644
index 99fe74d..0000000
--- a/commands/fun/dog.js
+++ /dev/null
@@ -1,24 +0,0 @@
-const superagent = require("snekfetch");
-const Discord = require('discord.js')
-
-
-
-module.exports = {
- name: "dog",
- category: "fun",
-description: "Sends a random dog image",
-usage: "[command]",
-run: async (client, message, args) => {
-//command
-superagent.get('https://nekos.life/api/v2/img/woof')
- .end((err, response) => {
- const lewdembed = new Discord.MessageEmbed()
- .setTitle("")
- .setImage(response.body.url)
- .setColor(`#000000`)
- .setFooter(`🤣WHAT A DOG🤣`)
- .setURL(response.body.url);
-message.channel.send(lewdembed);
-})
-}
-};
\ No newline at end of file
diff --git a/commands/fun/fact.js b/commands/fun/fact.js
deleted file mode 100644
index e6bd5da..0000000
--- a/commands/fun/fact.js
+++ /dev/null
@@ -1,26 +0,0 @@
-const client = require('nekos.life');
-const {Discord,richEmbed} = require('discord.js')
-const neko = new client();
-
-
-module.exports = {
- name: "fact",
- category: "fun",
- description: "sends a cool fact",
- usage: "[command]",
- run: async (client, message, args) => {
- //command
-
- async function work() {
-
- let owo = (await neko.sfw.fact());
-
- message.channel.send(owo.fact).catch(error => {
- console.error(error);
- });
-message.delete();
- }
-
- work();
- }
- };
\ No newline at end of file
diff --git a/commands/fun/hug.js b/commands/fun/hug.js
deleted file mode 100644
index ea8fd39..0000000
--- a/commands/fun/hug.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const discord = require("discord.js");
-const { Random } = require("something-random-on-discord");
-const random = new Random();
-
-module.exports = {
- name: "hug",
- category: "fun",
- description: "Hug someone",
- run: async (client, message, args) => {
-
- let target = message.mentions.members.first()
-
- let data = await random.getAnimeImgURL("hug");
-
- let embed = new discord.MessageEmbed()
- .setImage(data)
- .setColor("RANDOM")
- .setFooter(`${message.author.username} hugs ${target.user.username}`)
- .setTimestamp()
-
- message.channel.send(embed);
- }
-};
\ No newline at end of file
diff --git a/commands/fun/joke.js b/commands/fun/joke.js
deleted file mode 100644
index be98e16..0000000
--- a/commands/fun/joke.js
+++ /dev/null
@@ -1,14 +0,0 @@
-const { Random } = require("something-random-on-discord")
-const random = new Random();
-
-module.exports = {
- name: "joke",
- category: "fun",
- description: "Get some fun jokes",
- run: async (client, message, args) => {
-
- let data = await random.getJoke()
- message.channel.send(data)
-
- }
-}
\ No newline at end of file
diff --git a/commands/fun/kiss.js b/commands/fun/kiss.js
deleted file mode 100644
index 2c32e9b..0000000
--- a/commands/fun/kiss.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const discord = require("discord.js");
-const { Random } = require("something-random-on-discord");
-const random = new Random();
-
-module.exports = {
- name: "kiss",
- category: "fun",
- description: "Kiss someone",
- run: async (client, message, args) => {
-
- let target = message.mentions.members.first()
-
- let data = await random.getAnimeImgURL("kiss");
-
- let embed = new discord.MessageEmbed()
- .setImage(data)
- .setColor("RANDOM")
- .setFooter(`${message.author.username} kisses ${target.user.username}`)
- .setTimestamp()
-
- message.channel.send(embed);
- }
-};
\ No newline at end of file
diff --git a/commands/fun/kpop.js b/commands/fun/kpop.js
deleted file mode 100644
index 9609dac..0000000
--- a/commands/fun/kpop.js
+++ /dev/null
@@ -1,14 +0,0 @@
-const { Random } = require("something-random-on-discord")
-const random = new Random();
-
-module.exports = {
- name: "kpop",
- category: "fun",
- description: "Get some kpop singers images with names",
- run: async (client, message, args) => {
-
- let data = await random.getKpop()
- message.channel.send(data)
-
- }
-}
\ No newline at end of file
diff --git a/commands/fun/lol.js b/commands/fun/lol.js
deleted file mode 100644
index 883fbd7..0000000
--- a/commands/fun/lol.js
+++ /dev/null
@@ -1,46 +0,0 @@
-const Discord = require("discord.js");
-const { parse } = require("twemoji-parser");
-
-
-module.exports = {
- name: "emojiadd",
- category: "moderation",
- usage: "stealemoji ",
- description: "Steal an emoji from a different server",
- botPermissions: ["MANAGE_EMOJIS"],
- memberPermissions: ["MANAGE_EMOJIS"],
- async execute(bot, message, args) {
- const emoji = args[0];
- if (!emoji) return message.channel.send("Please Give Me A Emoji!");
-
- let customemoji = Discord.Util.parseEmoji(emoji);
-
- if (customemoji.id) {
- const Link = `https://cdn.discordapp.com/emojis/${customemoji.id}.${
- customemoji.animated ? "gif" : "png"
- }`;
- const name = args.slice(1).join(" ");
-
- message.guild.emojis.create(
- `${Link}`,
- `${name || `${customemoji.name}`}`
- );
- const Added = BaseEmbed(message)
- .setTitle("Emoji Added")
- .setColor("BLUE")
- .setDescription(
- `Emoji Has Been Added! | Name : ${
- name || `${customemoji.name}`
- } | Preview : [Click Me](${Link})`
- );
- return message.channel.send(Added);
- } else {
- let CheckEmoji = parse(emoji, { assetType: "png" });
- if (!CheckEmoji[0])
- return message.channel.send("Please Give Me A Valid Emoji!");
- message.channel.send(
- "You Can Use Normal Emoji Without Adding In Server!"
- );
- }
- },
-};
\ No newline at end of file
diff --git a/commands/fun/math.js b/commands/fun/math.js
deleted file mode 100644
index f0970f9..0000000
--- a/commands/fun/math.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-const math = require("mathjs");
-const Color = `RANDOM`;
-
-module.exports = {
- name: "math",
- category: "fun",
- run: async (client, message, args) => {
- try {
- if (!args[0]) return message.channel.send("Please Give Me Equation!");
-
- const embed = new MessageEmbed()
- .setColor(`${Color}`)
- .setTitle(`Result`)
- .setDescription(math.evaluate(args.join(" ")))
- .setTimestamp();
-
- message.channel.send(embed);
- } catch (error) {
- message.channel.send(`Please Give Me Valid Equation | Try Again Later!`).then(() => console.log(error));
- }
- }
-};
\ No newline at end of file
diff --git a/commands/fun/meme.js b/commands/fun/meme.js
deleted file mode 100644
index ea945e5..0000000
--- a/commands/fun/meme.js
+++ /dev/null
@@ -1,47 +0,0 @@
-const Discord = require("discord.js");
-const { MessageEmbed } = require("discord.js");
-const Color = `RANDOM`;
-const Fetch = require("node-fetch"); //Install Node-fetch - npm i node-fetch
-
-module.exports = {
- name: "meme",
- category: "fun",
- description: "Send A Meme!",
- usage: "Meme",
- run: async (client, message, args) => {
-
- //Start
-
- const Reds = [
- "memes",
- "me_irl",
- "dankmemes",
- "comedyheaven",
- "Animemes"
- ];
-
- const Rads = Reds[Math.floor(Math.random() * Reds.length)];
-
- const res = await Fetch(`https://www.reddit.com/r/${Rads}/random/.json`);
-
- const json = await res.json();
-
- if (!json[0]) return message.channel.send(`Your Life Lmfao`);
-
- const data = json[0].data.children[0].data;
-
- const Embed = new MessageEmbed()
- .setColor(Color)
- .setURL(`https://reddit.com${data.permalink}`)
- .setTitle(data.title)
- .setDescription(`Author : ${data.author}`)
- .setImage(data.url)
- .setFooter(`${data.ups || 0} 👍 | ${data.downs || 0} 👎 | ${data.num_comments || 0} 💬`)
- .setTimestamp();
-
- return message.channel.send(Embed);
-
- //End
-
- }
-};
diff --git a/commands/fun/mw.js b/commands/fun/mw.js
deleted file mode 100644
index cc96b1a..0000000
--- a/commands/fun/mw.js
+++ /dev/null
@@ -1,16 +0,0 @@
-const discord = require("discord.js");
-const akaneko = require('akaneko');
-
-module.exports = {
- name: "mwallpapers",
- aliases: ["mw", "mobilewallpapers", "mwall"],
- category: "nsfw",
- description: "Get some wallpapers",
- run: async (client, message, args) => {
-
- let akanekoSan = new discord.MessageEmbed()
- akanekoSan.setColor("RANDOM")
- akanekoSan.setImage(akaneko.mobileWallpapers());
- return message.channel.send(akanekoSan);
- }
-}
\ No newline at end of file
diff --git a/commands/fun/neko.js b/commands/fun/neko.js
deleted file mode 100644
index 8e51619..0000000
--- a/commands/fun/neko.js
+++ /dev/null
@@ -1,14 +0,0 @@
-const { Random } = require("something-random-on-discord")
-const random = new Random();
-
-module.exports = {
- name: "neko",
- category: "Image",
- description: "Get some neko images",
- run: async (client, message, args) => {
-
- let data = await random.getNeko()
- message.channel.send(data)
-
- }
-}
\ No newline at end of file
diff --git a/commands/fun/pat.js b/commands/fun/pat.js
deleted file mode 100644
index 9a73f67..0000000
--- a/commands/fun/pat.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const discord = require("discord.js");
-const { Random } = require("something-random-on-discord");
-const random = new Random();
-
-module.exports = {
- name: "pat",
- category: "fun",
- description: "Pat someone",
- run: async (client, message, args) => {
-
- let target = message.mentions.members.first()
-
- let data = await random.getAnimeImgURL("pat");
-
- let embed = new discord.MessageEmbed()
- .setImage(data)
- .setColor("RANDOM")
- .setFooter(`${message.author.username} pats ${target.user.username}`)
- .setTimestamp()
-
- message.channel.send(embed);
- }
-};
\ No newline at end of file
diff --git a/commands/fun/punch.js b/commands/fun/punch.js
deleted file mode 100644
index 52c7dd5..0000000
--- a/commands/fun/punch.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const discord = require("discord.js");
-const { Random } = require("something-random-on-discord");
-const random = new Random();
-
-module.exports = {
- name: "punch",
- category: "fun",
- description: "Punch someone",
- run: async (client, message, args) => {
-
- let target = message.mentions.members.first()
-
- let data = await random.getAnimeImgURL("punch");
-
- let embed = new discord.MessageEmbed()
- .setImage(data)
- .setColor("RANDOM")
- .setFooter(`${message.author.username} punches ${target.user.username}`)
- .setTimestamp()
-
- message.channel.send(embed);
- }
-};
diff --git a/commands/fun/slapgif.js b/commands/fun/slapgif.js
deleted file mode 100644
index 3b50f8c..0000000
--- a/commands/fun/slapgif.js
+++ /dev/null
@@ -1,26 +0,0 @@
-
-const Color = "RANDOM";
-const Discord = require("discord.js");
-
-module.exports = {
- name: "slap",
- aliases: ["batmanslap", "slp"],
- category: "Image",
- description: "Return A Slap Image!",
- usage: "Slap | ",
- run: async (client, message, args) => {
-
- const Member = message.mentions.members.first() || message.guild.members.cache.get(args[0]);
- if (!Member) return message.channel.send("Please Mention Or Give ID Of A Member!");
-
- const Other = args.slice(1).join(" ") || "Don't Be Gay";
- if (Other.length > 50) return message.channel.send("Characters Limit Reached - 50!");
-
- const Embed = new Discord.MessageEmbed()
- .setColor(Color)
- .setImage(encodeURI(`https://vacefron.nl/api/batmanslap?text1=bruh&text2=${Other}&batman=${message.author.avatarURL({ format: "png" })}&robin=${Member.user.displayAvatarURL({ format: "png" })}`))
- .setTimestamp();
-
- return message.channel.send(Embed);
- }
-};
diff --git a/commands/giveaways/end.js b/commands/giveaways/end.js
deleted file mode 100644
index a0a6cfe..0000000
--- a/commands/giveaways/end.js
+++ /dev/null
@@ -1,50 +0,0 @@
-const { MessageEmbed } = require('discord.js')
-const ms = require('ms');
-module.exports = {
- name: "end",
- description: "Ending giveaway",
- accessableby: "Administrator",
- category: "giveaway",
- aliases: ["giveaway-end"],
- usage: '',
- run: async (bot, message, args) => {
- if(!message.member.hasPermission('MANAGE_MESSAGES') && !message.member.roles.cache.some((r) => r.name === "Giveaways")){
- return message.channel.send(':x: You need to have the manage messages permissions to reroll giveaways.');
- }
-
- // If no message ID or giveaway name is specified
- if(!args[0]){
- return message.channel.send(':x: You have to specify a valid message ID!');
- }
-
- // try to found the giveaway with prize then with ID
- let giveaway =
- // Search with giveaway prize
- bot.giveawaysManager.giveaways.find((g) => g.prize === args.join(' ')) ||
- // Search with giveaway ID
- bot.giveawaysManager.giveaways.find((g) => g.messageID === args[0]);
-
- // If no giveaway was found
- if(!giveaway){
- return message.channel.send('Unable to find a giveaway for `'+ args.join(' ') + '`.');
- }
-
- // Edit the giveaway
- bot.giveawaysManager.edit(giveaway.messageID, {
- setEndTimestamp: Date.now()
- })
- // Success message
- .then(() => {
- // Success message
- message.channel.send('Giveaway will end in less than '+(bot.giveawaysManager.options.updateCountdownEvery/1000)+' seconds...');
- })
- .catch((e) => {
- if(e.startsWith(`Giveaway with message ID ${giveaway.messageID} is already ended.`)){
- message.channel.send('This giveaway is already ended!');
- } else {
- console.error(e);
- message.channel.send('An error occured...');
- }
- });
- }
-}
\ No newline at end of file
diff --git a/commands/giveaways/reroll.js b/commands/giveaways/reroll.js
deleted file mode 100644
index 217aba4..0000000
--- a/commands/giveaways/reroll.js
+++ /dev/null
@@ -1,47 +0,0 @@
-const { MessageEmbed } = require('discord.js')
-const ms = require('ms');
-module.exports = {
- name: "reroll",
- description:
- "Get list of all command and even get to know every command detials",
- usage: "help ",
- category:"giveaway",
- run: async (bot, message, args) => {
- if(!message.member.hasPermission('MANAGE_MESSAGES') && !message.member.roles.cache.some((r) => r.name === "Giveaways")){
- return message.channel.send(':x: You need to have the manage messages permissions to reroll giveaways.');
- }
-
- // If no message ID or giveaway name is specified
- if(!args[0]){
- return message.channel.send(':x: You have to specify a valid message ID!');
- }
-
- // try to found the giveaway with prize then with ID
- let giveaway =
- // Search with giveaway prize
- bot.giveawaysManager.giveaways.find((g) => g.prize === args.join(' ')) ||
- // Search with giveaway ID
- bot.giveawaysManager.giveaways.find((g) => g.messageID === args[0]);
-
- // If no giveaway was found
- if(!giveaway){
- return message.channel.send('Unable to find a giveaway for `'+ args.join(' ') +'`.');
- }
-
- // Reroll the giveaway
- bot.giveawaysManager.reroll(giveaway.messageID)
- .then(() => {
- // Success message
- message.channel.send('Giveaway rerolled!');
- })
- .catch((e) => {
- if(e.startsWith(`Giveaway with message ID ${giveaway.messageID} is not ended.`)){
- message.channel.send('This giveaway is not ended!');
- } else {
- console.error(e);
- message.channel.send('An error occured...');
- }
- });
-
- }
-}
\ No newline at end of file
diff --git a/commands/giveaways/start.js b/commands/giveaways/start.js
deleted file mode 100644
index fd4ef4b..0000000
--- a/commands/giveaways/start.js
+++ /dev/null
@@ -1,78 +0,0 @@
-const { MessageEmbed } = require('discord.js')
-const ms = require('ms');
-module.exports = {
- name: "start",
- description: "Creating giveaway",
- accessableby: "Administrator",
- category: "giveaway",
- aliases: ["giveaway-start"],
- usage: ' , ',
- run: async (bot, message, args) => {
- if(!message.member.hasPermission('MANAGE_MESSAGES') && !message.member.roles.cache.some((r) => r.name === "Giveaways")){
- return message.channel.send(':x: You need to have the manage messages permissions to start giveaways.');
- }
-
- // Giveaway channel
- let giveawayChannel = message.mentions.channels.first();
- // If no channel is mentionned
- if(!giveawayChannel){
- return message.channel.send(':x: You have to mention a valid channel!');
- }
-
- // Giveaway duration
- let giveawayDuration = args[1];
- // If the duration isn't valid
- if(!giveawayDuration || isNaN(ms(giveawayDuration))){
- return message.channel.send(':x: You have to specify a valid duration!');
- }
-
- // Number of winners
- let giveawayNumberWinners = args[2];
- // If the specified number of winners is not a number
- if(isNaN(giveawayNumberWinners) || (parseInt(giveawayNumberWinners) <= 0)){
- return message.channel.send(':x: You have to specify a valid number of winners!');
- }
-
- // Giveaway prize
- let giveawayPrize = args.slice(3).join(' ');
- // If no prize is specified
- if(!giveawayPrize){
- return message.channel.send(':x: You have to specify a valid prize!');
- }
-
- // Start the giveaway
- bot.giveawaysManager.start(giveawayChannel, {
- // The giveaway duration
- time: ms(giveawayDuration),
- // The giveaway prize
- prize: giveawayPrize,
- // The giveaway winner count
- winnerCount: giveawayNumberWinners,
- // Who hosts this giveaway
- hostedBy: message.author,
- // Messages
- messages: {
- giveaway: "🎉🎉 **GIVEAWAY** 🎉🎉",
- giveawayEnded: "🎉🎉 **GIVEAWAY ENDED** 🎉🎉",
- timeRemaining: "Time remaining: **{duration}**!",
- inviteToParticipate: "React with 🎉 to participate!",
- winMessage: "Congratulations, {winners}! You won **{prize}**!",
- embedFooter: "Giveaways",
- noWinner: "Giveaway cancelled, no valid participations.",
- hostedBy: "Hosted by: {user}",
- winners: "winner(s)",
- endedAt: "Ended at",
- units: {
- seconds: "seconds",
- minutes: "minutes",
- hours: "hours",
- days: "days",
- pluralS: false // Not needed, because units end with a S so it will automatically removed if the unit value is lower than 2
- }
- }
- });
-
- message.channel.send(`Giveaway started in ${giveawayChannel}!`);
-
- }
-}
\ No newline at end of file
diff --git a/commands/help/Added.js b/commands/help/Added.js
deleted file mode 100644
index 761d5b7..0000000
--- a/commands/help/Added.js
+++ /dev/null
@@ -1,30 +0,0 @@
-const Discord = require('discord.js')
-const { parse } = require("twemoji-parser");
-const { MessageEmbed } = require("discord.js");
-module.exports = {
- name: "add-these",
- category: "moderation",
- run: async (client, message, args) => {
- if (!message.member.hasPermission("MANAGE_EMOJIS")) {
-return message.channel.send(`:x: | **You Don't Have Permission To Use This Command**`)
-}
- const emojis = args.join(" ").match(/(a)?:?(\w{2,32}):(\d{17,19})>?/gi)
- if (!emojis) return message.channel.send(`:x: | **Provde The emojis to add**`);
- emojis.forEach(emote => {
- let emoji = Discord.Util.parseEmoji(emote);
- if (emoji.id) {
- const Link = `https://cdn.discordapp.com/emojis/${emoji.id}.${
- emoji.animated ? "gif" : "png"
-}`
- message.guild.emojis.create(
- `${Link}`,
- `${`${emoji.name}`}`
- ).then(em => message.channel.send(em.toString() + " added!")).catch(error => {
- message.channel.send(":x: | an Error occured")
- console.log(error)
-})
-
- }
- })
-}
-}
\ No newline at end of file
diff --git a/commands/help/Inv.js b/commands/help/Inv.js
deleted file mode 100644
index 95e11c2..0000000
--- a/commands/help/Inv.js
+++ /dev/null
@@ -1,27 +0,0 @@
-
-const discord = require('discord.js'); //Define the discord.js module
-const client = new discord.Client(); //Creating discord.js client (constructor)
-require('discord-buttons')(client);
-module.exports = {
- name: "inv",
- description: "a cool invite bot Commnd ",
- category: "info",
- // users will need premium to execute this
- run: async (bot, message, args) => {
-
-
- message.buttons('Invite me', {
- buttons: [
- {
- style: 'green',
- label: 'Click to function!',
- id: 'click_to_function'
- },
- {
- style: 'url',
- label: 'Vote for me!',
- url:'https://dsc.gg/automodbot'
- }
- ]
- })
- }}
\ No newline at end of file
diff --git a/commands/help/announce.js b/commands/help/announce.js
deleted file mode 100644
index 0131018..0000000
--- a/commands/help/announce.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const Discord = require ('discord.js')
-const { MessageEmbed } = require('discord.js')
-
-module.exports = {
-name: "announce",
-aliases: ["", "a"],
-category: "moderation",
-usage: "embed ",
-description: "Returns provided text in Embed form.",
-run: async(client, message, args) => {
- if(!message.member.hasPermission("ADMINISTRATION")) return message.channel.send(`YOU DO NOT HAVE PERMISSION `)
- await message.delete()
- let say = message.content.split(" ").slice(1).join(" ")
- if(!say) return message.channel.send(`❌ | `+"I Cannot Repeat Blank Message")
- let embed = new MessageEmbed()
-.setAuthor(message.author.username, message.author.avatarURL())
- .setDescription(`${say}`)
- .setColor("RANDOM")
-.setFooter(` ${message.guild}`)
-.setTimestamp()
- message.channel.send(embed)
-}
-}
\ No newline at end of file
diff --git a/commands/help/bug.js b/commands/help/bug.js
deleted file mode 100644
index dbe624a..0000000
--- a/commands/help/bug.js
+++ /dev/null
@@ -1,58 +0,0 @@
-const discord = require("discord.js");
-module.exports = {
- name: "bug",
- category: "moderation",
- args: true,
- description:
- "Please specify the bug. Example:\n`punch isn't working. It isn't mentioning the user I'm trying to punch`",
- usage:
- "Please specify the bug. Example:\n`punch isn't working. It isn't mentioning the user I'm trying to punch`",
- run: async (client, message, args) => {
- // again make this fit your command handler style 😀
- args = args.join(" ");
- const channels = message.channel;
- let check;
- if (args[0] === "temp") {
- check = "true";
- } else if (args[1] === "temp") {
- check = "true";
- } else {
- check = "false";
- }
- let check2;
- if (args[0] === "temp") {
- check2 = "86400";
- } else if (args[1] === "temp") {
- check2 = "86400";
- } else {
- check2 = "0";
- }
- message.reply(
- "Thanks for submitting a bug!, we will check your report\nwe will DM you when this bug is resolved\nplease also activate DM permissions all"
- );
- channels
- .createInvite({
- temporary: `${check}`,
- maxAge: `${check2}`,
- maxUses: 0,
- reason: `Requested By : ${message.author.username}`
- })
- .then(InviteCode =>
- client.channels.cache.get("834825028444618773").send(
- new discord.MessageEmbed()
- .setTitle("New Report Bug")
- .addField(
- "User Name",
- `**${message.author.username}#${message.author.discriminator}**`
- )
- .addField("ID User", message.author.id)
- .addField("Reported", args)
- .addField("Server Name", `**${message.guild.name}**`)
- .addField("ID Server", `**${message.guild.id}**`)
- .addField("USER SEARCH", `**[Click Here](https://discordapp.com/users/${message.guild.id}/)**`)
- .addField(`Link Server`, `https://discord.gg/${InviteCode.code}`)
- .setColor("RANDOM")
- )
- );
- }
-};
\ No newline at end of file
diff --git a/commands/help/help.js b/commands/help/help.js
deleted file mode 100644
index 8ffe739..0000000
--- a/commands/help/help.js
+++ /dev/null
@@ -1,62 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-
-module.exports = {
- name: "help",
- description:
- "Get list of all command and even get to know every command detials",
- usage: "help ",
- category: "info",
- run: async (client, message, args) => {
-
- if (args[0]) {
- const command = await client.commands.get(args[0]);
-
- if (!command) {
- return message.channel.send("Unknown Command: " + args[0]);
- }
-
- let embed = new MessageEmbed()
- .setAuthor(command.name, client.user.displayAvatarURL())
- .addField("> ❯ Description", command.description || "Not Provided :(")
- .addField("> ❯ Usage", "`" + command.usage + "`" || "Not Provied")
- .setThumbnail(client.user.displayAvatarURL())
- .setColor("BLUE")
- .setFooter(client.user.username, client.user.displayAvatarURL());
-
- return message.channel.send(embed);
- } else {
-
- const commands = await client.commands;
-
- let emx = new MessageEmbed()
- .setDescription('**A fun and moderation bot with 150+ commnds and 10+ category ** \n**If u got any error do ** `qbug` **your bug must be 10 ltters **')
-
- .setColor("BLUE")
- .setFooter(client.user.username, client.user.displayAvatarURL())
-
- .setThumbnail(client.user.displayAvatarURL());
-
- let com = {};
- for (let comm of commands.array()) {
- let category = comm.category || "Unknown";
- let name = comm.name;
-
- if (!com[category]) {
- com[category] = [];
- }
- com[category].push(name);
- }
-
- for(const [key, value] of Object.entries(com)) {
- let category = key;
-
- let desc = "`" + value.join("`, `") + "`";
-
- emx.addField(`${category.toUpperCase()}[${value.length}]`, desc);
- }
- emx.addField('important links ','**:link: [Support](https://dsc.gg/itzmeninja)** | **[JoinNow](https://dsc.gg/itzmeninja)**')
- return message.channel.send(emx)
-
- }
- }
-};
diff --git a/commands/help/invite.js b/commands/help/invite.js
deleted file mode 100644
index b7aad63..0000000
--- a/commands/help/invite.js
+++ /dev/null
@@ -1,20 +0,0 @@
-const discord = require("discord.js");
-
-module.exports = {
- name: "invite",
- category: "info",
- description: "INVITE Automodv12 beta BOT",
- run: async (client, message, args) => {
-
- let embed = new discord.MessageEmbed()
- .setTitle(`HERE INVITE LINK OF BOT`)
- .setDescription(`<:CPTNLINK:830835407343714325> [CLICK HERE](https://discord.com/api/oauth2/authorize?client_id=744597377406599188&permissions=8&scope=bot) OR [support server ](https://dsc.gg/cwkhan)`)
- .setColor("RANDOM")
- .setFooter(`made by cw khan `)
- .setTimestamp(message.timestamp = Date.now())
-
- message.channel .send(embed)
-
-
- }
-}
\ No newline at end of file
diff --git a/commands/image/Jail.js b/commands/image/Jail.js
deleted file mode 100644
index a1cf6ce..0000000
--- a/commands/image/Jail.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const Color = "RANDOM";
-const Discord = require("discord.js");
-
-module.exports = {
- name: "jail",
- aliases: ["j"],
- category: "Image",
- description: "Shows image of jail",
- usage: "jail ",
- run: async (client, message, args) => {
-
- const Member = message.mentions.members.first() || message.guild.members.cache.get(args[0]) || message.member;
-
- const Embed = new Discord.MessageEmbed()
- .setColor(Color)
- .setTitle("Jail")
- .setImage(encodeURI
- (`https://api.devs-hub.xyz/jail?image=${Member.user.displayAvatarURL({ format: "png" })}`))
- .setTimestamp();
-
- return message.channel.send(Embed);
- }
-};
\ No newline at end of file
diff --git a/commands/image/Love.js b/commands/image/Love.js
deleted file mode 100644
index 1464ec7..0000000
--- a/commands/image/Love.js
+++ /dev/null
@@ -1,31 +0,0 @@
-const Discord = require("discord.js");
-const fetch = require("node-fetch");
-
-module.exports = {
- name: "love",
- aliases: [],
- category: "Image",
- description: "Return A Random Pat!",
- usage: "qlove user1 user2 | q love id1 id2",
- run: async (bot, message, args) => {
-
- let user = await message.mentions.members.first() || message.guild.members.cache.get(args[0]) || message.guild.members.cache.find(m => m.user.username.toLowerCase() === args[0].toLocaleLowerCase()) || message.guild.members.cache.find(mp => mp.displayName.toLowerCase() === args[0].toLocaleLowerCase());
- let user2 = await message.mentions.members.array()[1] || message.guild.members.cache.get(args[1]) || message.guild.members.cache.find(m => m.user.username.toLowerCase() === args[1].toLocaleLowerCase()) || message.guild.members.cache.find(mp => mp.displayName.toLowerCase() === args[1].toLocaleLowerCase());
- if(!args[0]) return message.channel.send("**Enter Name Of Lover!**")
- if(!args[1]) return message.channel.send("**Enter Name Of Another Lover!**")
-
- if (!user) return message.channel.send("**Please Enter A Valid User!**")
- if (!user2) return message.channel.send("**Please Enter A Valid User!**")
-
- let m = await message.channel.send("**Please Wait..**");
- try {
- let res = await fetch(encodeURI(`https://nekobot.xyz/api/imagegen?type=ship&user1=${user.user.displayAvatarURL({ format: "png", size: 512 })}&user2=${user2.user.displayAvatarURL({ format: "png", size: 512 })}`));
- let json = await res.json();
- let attachment = new Discord.MessageAttachment(json.message, "love.png");
- message.channel.send(attachment);
- m.delete({ timeout: 5000 });
- } catch(e){
- m.edit("Error, Please Try Again! Mention Someone");
- }
- }
-};
\ No newline at end of file
diff --git a/commands/image/Trigerm.js b/commands/image/Trigerm.js
deleted file mode 100644
index fc3da04..0000000
--- a/commands/image/Trigerm.js
+++ /dev/null
@@ -1,26 +0,0 @@
-const canvacord = require ("canvacord")
-
-const { MessageAttachment } = require("discord.js")
-module.exports= {
- name:"triggered",
- description:"trigger some one",
- category:"Image",
- aliases: ["tg"],
-run: async (client, message, args) => {
-async function create() {
- let img = await canvacord.Canvas.trigger("./image.png");
- canvacord.write(img, "triggered.gif");
-
- let color = await canvacord.color("#4E5D94");
- canvacord.write(color, "color.png");
-}
-
-create()
-
- let user = message.mentions.users.first() || client.users.cache.get(args[0]) || message.author;
- let faceplam = await canvacord.Canvas.trigger(user.displayAvatarURL({ format: "png", dynamic: true }));
- let attachment = new MessageAttachment(faceplam, "triggered.gif");
- return message.channel.send(attachment);
-}
-
-}
\ No newline at end of file
diff --git a/commands/image/achievement.js b/commands/image/achievement.js
deleted file mode 100644
index 4f18572..0000000
--- a/commands/image/achievement.js
+++ /dev/null
@@ -1,17 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-
-module.exports = {
- name: "achievement",
- description: "Gives you an achievment",
- aliases: ["ach"],
- category: "Image",
- run: async (client, message, args) => {
- const text = args.join("+");
- const e = new MessageEmbed()
- .setTitle("MineCraft achievement!")
- .setImage(
- `https://minecraftskinstealer.com/achievement/12/Achievement%20Get!/${text}`
- );
- message.channel.send(e);
- },
-};
\ No newline at end of file
diff --git a/commands/image/avs.js b/commands/image/avs.js
deleted file mode 100644
index 9eb2c8e..0000000
--- a/commands/image/avs.js
+++ /dev/null
@@ -1,37 +0,0 @@
-const { createCanvas, loadImage } = require('canvas');
-const request = require('node-superfetch');
-module.exports = {
-
- name: "avatarfusion",
- aliases: ["avs"],
- category: "Image",
- description: "",
- usage: "[first mention | first username | first ID | first nickname] ",
- accessableby: "everyone"
- ,
- run: async (bot, message, args) => {
- if (!message.guild.me.hasPermission('ATTACH_FILES')) return message.channel.send("**Missing Permissions - [ATTACH_FILES]!**");
- if (!args[0]) return message.channel.send("**Which User Would You Like To Be The Base?**");
- if (!args[1]) return message.channel.send("**Which User Would You Like To Put Over The Base?**");
- let base = message.mentions.members.first() || message.guild.members.cache.get(args[0]) || message.guild.members.cache.find(r => r.user.username.toLowerCase() === args[0].toLocaleLowerCase()) || message.guild.members.cache.find(r => r.displayName === args[0].toLocaleLowerCase());
- if (!base) return message.channel.send("**Base User Not Found!**");
- let overlay = message.mentions.members.first(2)[1] || message.guild.members.cache.get(args[1]) || message.guild.members.cache.find(r => r.user.username.toLowerCase() === args[1].toLocaleLowerCase()) || message.guild.members.cache.find(r => r.displayName === args[1].toLocaleLowerCase());
- if (!overlay) return message.channel.send("**Overlay User Not Found!**");
- const baseAvatarURL = base.user.displayAvatarURL({ format: 'png', size: 512 });
- const overlayAvatarURL = overlay.user.displayAvatarURL({ format: 'png', size: 512 });
- try {
- const baseAvatarData = await request.get(baseAvatarURL);
- const baseAvatar = await loadImage(baseAvatarData.body);
- const overlayAvatarData = await request.get(overlayAvatarURL);
- const overlayAvatar = await loadImage(overlayAvatarData.body);
- const canvas = createCanvas(baseAvatar.width, baseAvatar.height);
- const ctx = canvas.getContext('2d');
- ctx.globalAlpha = 0.5;
- ctx.drawImage(baseAvatar, 0, 0);
- ctx.drawImage(overlayAvatar, 0, 0, baseAvatar.width, baseAvatar.height);
- return message.channel.send({ files: [{ attachment: canvas.toBuffer(), name: 'avatarfusion.png' }] });
- } catch (err) {
- return message.channel.send(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
- };
- }
-};
\ No newline at end of file
diff --git a/commands/image/lol b/commands/image/lol
deleted file mode 100644
index 8b13789..0000000
--- a/commands/image/lol
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/commands/image/panda.js b/commands/image/panda.js
deleted file mode 100644
index 196060b..0000000
--- a/commands/image/panda.js
+++ /dev/null
@@ -1,16 +0,0 @@
-
-const Color = "RANDOM", Random = require("srod-v2");
-const Discord = require("discord.js");
-
-module.exports = {
- name: "panda",
- aliases: ["pandaa"],
- category: "Image",
- description: "Return A Random Panda!",
- usage: "Panda",
- run: async (client, message, args) => {
-
- const Data = await Random.GetAnimalImage({ Animal: "panda", Color: Color });
- return message.channel.send(Data);
- }
-};
diff --git a/commands/image/rip.js b/commands/image/rip.js
deleted file mode 100644
index b462079..0000000
--- a/commands/image/rip.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const Color = "RANDOM";
-const Discord = require("discord.js");
-
-module.exports = {
- name: "rip",
- aliases: ["died", ""],
- category: "Image",
- description: "Shows RIP create with user avatar",
- usage: "rip ",
- run: async (client, message, args) => {
-
- const Member = message.mentions.members.first() || message.guild.members.cache.get(args[0]) || message.member;
-
- const Embed = new Discord.MessageEmbed()
- .setColor(Color)
- .setTitle("Rest In Peace")
- .setImage(encodeURI
- (`https://api.devs-hub.xyz/rip?image=${Member.user.displayAvatarURL({ format: "png" })}`))
- .setTimestamp();
-
- return message.channel.send(Embed);
- }
-};
\ No newline at end of file
diff --git a/commands/image/shit.js b/commands/image/shit.js
deleted file mode 100644
index 49dace1..0000000
--- a/commands/image/shit.js
+++ /dev/null
@@ -1,20 +0,0 @@
-const Discord = require('discord.js')
-
-module.exports = {
- name: "affect",
- category: "Image",
- description: "get affected, REALLY AFFECTED",
- usage: "jail ",
- run: async (client, message, args) => {
-
- const Member = message.mentions.members.first() || message.guild.members.cache.get(args[0]) || message.member;
-
- const Embed = new Discord.MessageEmbed()
- .setColor(Color)
- .setImage(encodeURI
- (`https://kaskus.cf/api/v1/imagegen/affect?avatar=${Member.user.displayAvatarURL({ format: "png" })}`))
- .setTimestamp();
-
- return message.channel.send(Embed);
- }
-};
diff --git a/commands/info-search/Anime.js b/commands/info-search/Anime.js
deleted file mode 100644
index 0745785..0000000
--- a/commands/info-search/Anime.js
+++ /dev/null
@@ -1,54 +0,0 @@
-const Discord = require("discord.js");
-
-const malScraper = require('mal-scraper');
-
-
-module.exports = {
- name: "anime",
- category: "search",
- description: "Get info about an anime",
- usage: "[command | Anime]",
- run: async (client, message, args) => {
- //command
- const search = `${args}`;
- if (!search)
- return message.reply('Please add a search query!');
-
- malScraper.getInfoFromName(search)
- .then((data) => {
- const malEmbed = new Discord.MessageEmbed()
- .setAuthor(`My Anime List search result for ${args}`.split(',').join(' '))
- .setThumbnail(data.picture)
- .setColor('RANDOM') //What ever u want color!
- .addField('Premiered', `\`${data.premiered}\``, true)
- .addField('Broadcast', `\`${data.broadcast}\``, true)
- .addField('Genres', `\`${data.genres}\``, true)
- .addField('English Title', `\`${data.englishTitle}\``, true)
- .addField('Japanese Title', `\`${data.japaneseTitle}\``, true)
- .addField('Type', `\`${data.type}\``, true)
- .addField('Episodes', `\`${data.episodes}\``, true)
- .addField('Rating', `\`${data.rating}\``, true)
- .addField('Aired', `\`${data.aired}\``, true)
- .addField('Score', `\`${data.score}\``, true)
- .addField('Favorite', `\`${data.favorites}\``, true)
- .addField('Ranked', `\`${data.ranked}\``, true)
- .addField('Duration', `\`${data.duration}\``, true)
- .addField('Studios', `\`${data.studios}\``, true)
- .addField('Popularity', `\`${data.popularity}\``, true)
- .addField('Members', `\`${data.members}\``, true)
- .addField('Score Stats', `\`${data.scoreStats}\``, true)
- .addField('Source', `\`${data.source}\``, true)
- .addField('Synonyms', `\`${data.synonyms}\``, true)
- .addField('Status', `\`${data.status}\``, true)
- .addField('Identifier', `\`${data.id}\``, true)
- .addField('Link', data.url, true)
- .setTimestamp()
- .setFooter(`Requested ${message.member.displayName}`, message.author.displayAvatarURL({ dynamic: true }))
-
- message.channel.send(malEmbed);
-
- })
- }
-};
-
-//Made By Alison_
\ No newline at end of file
diff --git a/commands/info-search/Invite.js b/commands/info-search/Invite.js
deleted file mode 100644
index bbc3aa7..0000000
--- a/commands/info-search/Invite.js
+++ /dev/null
@@ -1,41 +0,0 @@
-const Discord = require('discord.js');
-
-
-
-
-module.exports = {
-
- name:"invites",
- aliases: ["invs"],
- category: "info",
- accessableby: ""
- ,
- run: async (bot, message, args) => {
- try {
- let member = await message.mentions.members.first() || message.guild.members.cache.get(args[0]) || message.guild.members.cache.find(r => r.user.username.toLowerCase() === args.join(' ').toLocaleLowerCase()) || message.guild.members.cache.find(r => r.displayName.toLowerCase() === args.join(' ').toLocaleLowerCase()) || message.member;
-
- let invites = await message.guild.fetchInvites()
-
- let memberInvites = invites.filter(i => i.inviter && i.inviter.id === member.user.id);
-
- if (memberInvites.size <= 0) {
- return message.channel.send(`**${member.displayName} didn't invite anyone to the server!**`, (member === message.member ? null : member));
- {} }
-
- let content = memberInvites.map(i => i.code).join("\n");
- let index = 0;
- memberInvites.forEach(invite => index += invite.uses);
-
- let embed = new Discord.MessageEmbed()
- .setColor("GREEN")
- .setFooter(message.guild.name, message.guild.iconURL())
- .setAuthor(`Invite Tracker for ${message.guild.name}`)
- .setDescription(`Information on Invites of ${member.displayName}`)
- .addField("**No. Invited Persons**", index)
- .addField("Invitation Codes\n\n", content);
- message.channel.send(embed);
- } catch (e) {
- return message.channel.send(e.message)
- }
- }
-};
\ No newline at end of file
diff --git a/commands/info-search/avatar.js b/commands/info-search/avatar.js
deleted file mode 100644
index 8373347..0000000
--- a/commands/info-search/avatar.js
+++ /dev/null
@@ -1,39 +0,0 @@
-const Discord = require("discord.js");
-const { MessageEmbed } = require("discord.js");
-const { Color } = require("../../config.json");
-
-module.exports = {
- name: "avatar",
- aliases: ["icon", "pfp"],
- category: "fun",
- description: "Show Member Avatar!",
- usage: "Avatar | ",
- accessableby: "everyone",
- run: async (client, message, args) => {
- //Start
-
- let Member = message.mentions.users.first() || message.guild.member(args[0]) || message.author;
-
- let embed = new Discord.MessageEmbed()
- .setColor(Color)
- .addField(
- "Links",
- `[Png](${Member.displayAvatarURL({
- format: "png",
- dynamic: true
- })}) | [Jpg](${Member.displayAvatarURL({
- format: "jpg",
- dynamic: true
- })}) | [Webp](${Member.displayAvatarURL({
- format: "webp",
- dynamic: true
- })})`
- )
- .setImage(Member.displayAvatarURL({ dynamic: true }))
- .setTimestamp();
-
- message.channel.send(embed);
-
- //End
- }
-};
\ No newline at end of file
diff --git a/commands/info-search/badge.js b/commands/info-search/badge.js
deleted file mode 100644
index 7ffe60a..0000000
--- a/commands/info-search/badge.js
+++ /dev/null
@@ -1,21 +0,0 @@
-const { Client, Message, MessageEmbed } = require('discord.js');
-
-module.exports = {
-
- name: 'badges',
- category: 'info',
- /**
- * @param {Client} client
- * @param {Message} message
- * @param {String[]} args
- */
- run: async(client, message, args) => {
- const user = message.mentions.users.first() || message.author;
-
- const flags = user.flags.toArray();
-
- console.log(flags);
-
- message.channel.send(`${user}'s badges: ${flags.join(', ')}`)
- }
-}
\ No newline at end of file
diff --git a/commands/info-search/botinfo.js b/commands/info-search/botinfo.js
deleted file mode 100644
index 4cf2d34..0000000
--- a/commands/info-search/botinfo.js
+++ /dev/null
@@ -1,31 +0,0 @@
-const db = require("quick.db");
-const Discord = require ("discord.js")
-const { version } = require('../../package.json');
-const ms = require('pretty-ms');
-const { version: discordjsVersion } = require('discord.js');
-module.exports = {
-
- name: "botinfo",
-
- category: "info",
- aliases: ['uptime', 'botstats', 'stats'],
- description: 'Check\'s bot\'s status',
- run: async (client, message, args, del, member) => {
- message.delete();
- message.channel.send(new Discord.MessageEmbed()
- .setColor('RANDOM')
- .setTitle(`Autmodv12 v${version}`)
- .setThumbnail(client.user.displayAvatarURL({ dynamic: true }))
- .addField('Uptime', `${ms(client.uptime)}`, true)
- .addField('WebSocket Ping', `${client.ws.ping}ms`, true)
- .addField('Memory', `${(process.memoryUsage().rss / 1024 / 1024).toFixed(2)} MB RSS\n${(process.memoryUsage().heapUsed / 1024 / 1024).toFixed(2)} MB Heap`, true)
- .addField('Guild Count', `${client.guilds.cache.size} guilds`, true)
- .addField(`User Count`, `${client.users.cache.size} users`, true)
- .addField('Commands', `${client.commands.size} cmds`,true)
- .addField('Node', `${process.version} on ${process.platform} ${process.arch}`, true)
- .addField('Cached Data', `${client.users.cache.size} users\n${client.emojis.cache.size} emojis`, true)
- .addField('Discord.js', `${discordjsVersion}`, true)
- .setTimestamp()
- );
- }
-}
diff --git a/commands/info-search/djs.js b/commands/info-search/djs.js
deleted file mode 100644
index 373160e..0000000
--- a/commands/info-search/djs.js
+++ /dev/null
@@ -1,45 +0,0 @@
-const fetch = require("node-fetch");
-
-module.exports = {
-
- name: "discord",
- category: "search",
- aliases: ["discorddocs", "djs", "docs"],
-
- run: async(client, message, args) => {
- const search = args[0];
- if (!search) return message.channel.send({
- embed: {
- "color": 0x4D5E94,
- "description": "❌ **What are you searching?**"
-
- }
- });
- let version = args[1];
- if (!version) version = `stable`;
-
- fetch(`https://djsdocs.sorta.moe/v2/embed?src=${encodeURIComponent(version)}&q=${encodeURIComponent(search)}`)
- .then(res => res.json())
- .then(body => {
- if (body === null) return message.channel.send({
- embed: {
- "color": 0x4D5E94,
- "author": {
- "name": "Discord.js Docs (master)",
- "url": "https://discord.js.org/#/docs/main/master",
- "icon_url": "https://discord.js.org/favicon.ico"
- },
- "title": "Search results:",
- "description": "❌ **No results please try again.**"
- }
- });
- body.color = 0x4D5E94;
- message.channel.send({ embed: body });
- })
- .catch(e => {
- message.channel.send({
- embed: { "color": 0x4D5E94, "author": { "name": "Discord.js Docs (master)", "url": "https://discord.js.org/#/docs/main/master", "icon_url": "https://discord.js.org/favicon.ico" }, "title": "Search results:", "description": "No results." }
- });
- });
- }
-}
diff --git a/commands/info-search/embed.is b/commands/info-search/embed.is
deleted file mode 100644
index 89bc494..0000000
--- a/commands/info-search/embed.is
+++ /dev/null
@@ -1,147 +0,0 @@
-const Discord = require("discord.js")
-
-module.exports = {
-
- name: 'embedgen',
-
- aliases: ["emb"],
-
- description: 'embed Generator',
-
- category: "info",
-
- run: async (client, message, args) => {
-
- try {
-
- const filter = msg => msg.author.id == message.author.id;
-
- const options = {
-
- max: 1
-
- };
-
- //===============================================================================================
-
- // Getting Started
-
- const embed = new Discord.MessageEmbed();
-
- message.channel.send("Reply `skip` or `no` for next question, Reply `cancel` to stop the command.");
-
-
-
- //===============================================================================================
-
- // Getting Title
-
- message.channel.send("So, Do you want your embed to have any title?");
-
- let title = await message.channel.awaitMessages(filter, options);
-
- if (title.first().content == 'cancel') return message.channel.send('Embed Generator Cancelled.')
-
- if (title.first().content !== 'skip' && title.first().content !== 'cancel') embed.setTitle(title.first().content);
-
-
-
- //===============================================================================================
-
- // Getting Description
-
- message.channel.send("great, now o you want your embed to have any Description?");
-
- let Description = await message.channel.awaitMessages(filter, options);
-
- if (Description.first().content == 'cancel') return message.channel.send('Embed Generator Cancelled.')
-
- if (Description.first().content !== 'skip' && Description.first().content !== 'cancel') embed.setDescription(Description.first().content);
-
-
-
- //===============================================================================================
-
- // Getting Footer
-
- message.channel.send("So, Do you want your embed to have any Footer?");
-
- let Footer = await message.channel.awaitMessages(filter, options);
-
- if (Footer.first().content == 'cancel') return message.channel.send('Embed Generator Cancelled. ')
-
- if (Footer.first().content !== 'skip' && Footer.first().content !== 'cancel') embed.setFooter(Footer.first().content);
-
-
-
- //===============================================================================================
-
- // Getting URL
-
- if (title.first().content !== 'skip' && title.first().content !== 'cancel') {
-
- message.channel.send("So, Do you want your embed to have any masked link on title?, say `no` if you do not have set title");
-
- let URL = await message.channel.awaitMessages(filter, options);
-
- if (URL.first().content == 'cancel') return message.channel.send('Embed Generator Cancelled.')
-
- if (URL.first().content !== 'skip' && URL.first().content !== 'cancel') embed.setURL(URL.first().content);
-
- }
-
-
-
- //===============================================================================================
-
- // Getting Color
-
- message.channel.send("So, Do you want your embed to have any specifci color? Default is Black");
-
- let Color = await message.channel.awaitMessages(filter, options);
-
- if (Color.first().content == 'cancel') return message.channel.send('Embed Generator Cancelled.')
-
- if (Color.first().content !== 'skip' && Color.first().content !== 'cancel') embed.setColor(Color.first().content.toUpperCase() || "2f3136")
-
-
-
- //===============================================================================================
-
- // Getting Author Field
-
- message.channel.send("So, Do you want your embed to have any Author Field?");
-
- let Author = await message.channel.awaitMessages(filter, options);
-
- if (Author.first().content == 'cancel') return message.channel.send('Embed Generator Cancelled.')
-
- if (Author.first().content !== 'skip' && Author.first().content !== 'cancel') embed.setAuthor(Author.first().content);
-
-
-
- //===============================================================================================
-
- // Getting TimeStamp
-
- message.channel.send("So, Do you want your embed to have any TimeStamp? Reply `yes` or `no`");
-
- let TimeStamp = await message.channel.awaitMessages(filter, options);
-
- if (TimeStamp.first().content == 'cancel') return message.channel.send('Embed Generator Cancelled.')
-
- if (TimeStamp.first().content !== 'yes') embed.setTimestamp();
-
-
-
- message.channel.send(embed)
-
- } catch (error) {
-
- console.error(error);
-
- }
-
- }
-
-}
diff --git a/commands/info-search/embed.js b/commands/info-search/embed.js
deleted file mode 100644
index 4302eca..0000000
--- a/commands/info-search/embed.js
+++ /dev/null
@@ -1,72 +0,0 @@
-const Discord = require("discord.js")
-module.exports = {
- name: 'embedgen',
- aliases: ["emb"],
- description: 'embed Generator',
- category: "info",
- run: async (client, message, args) => {
-
- try {
-
- const filter = msg => msg.author.id == message.author.id;
- const options = {
- max: 1
- };
- //===============================================================================================
- // Getting Started
- const embed = new Discord.MessageEmbed();
- message.channel.send("Reply `skip` or `no` for next question, Reply `cancel` to stop the command.");
-
-
- //===============================================================================================
- // Getting Title
- message.channel.send("So, Do you want your embed to have any title?");
- let title = await message.channel.awaitMessages(filter, options);
- if (title.first().content == 'cancel') return message.channel.send('Embed Generator Cancelled.')
- if (title.first().content !== 'skip' && title.first().content !== 'cancel') embed.setTitle(title.first().content);
-
- //===============================================================================================
- // Getting Description
- message.channel.send("great, now o you want your embed to have any Description?");
- let Description = await message.channel.awaitMessages(filter, options);
- if (Description.first().content == 'cancel') return message.channel.send('Embed Generator Cancelled.')
- if (Description.first().content !== 'skip' && Description.first().content !== 'cancel') embed.setDescription(Description.first().content);
-
- //===============================================================================================
- // Getting Footer
- message.channel.send("So, Do you want your embed to have any Footer? or cancel");
- let Footer = await message.channel.awaitMessages(filter, options);
- if (Footer.first().content == 'cancel') return message.channel.send('Embed Generator Cancelled. ')
- if (Footer.first().content !== 'skip' && Footer.first().content !== 'cancel') embed.setFooter(Footer.first().content);
-
- //===============================================================================================
- // Getting URL
-
-
- //===============================================================================================
- // Getting Color
- message.channel.send("So, Do you want your embed to have any specifci color? Default is Black");
- let Color = await message.channel.awaitMessages(filter, options);
- if (Color.first().content == 'cancel') return message.channel.send('Embed Generator Cancelled.')
- if (Color.first().content !== 'skip' && Color.first().content !== 'cancel') embed.setColor(Color.first().content.toUpperCase() || "2f3136")
-
- //===============================================================================================
- // Getting Author Field
- message.channel.send("So, Do you want your embed to have any Author Field?");
- let Author = await message.channel.awaitMessages(filter, options);
- if (Author.first().content == 'cancel') return message.channel.send('Embed Generator Cancelled.')
- if (Author.first().content !== 'skip' && Author.first().content !== 'cancel') embed.setAuthor(Author.first().content);
-
- //===============================================================================================
- // Getting TimeStamp
- message.channel.send("So, Do you want your embed to have any TimeStamp? Reply `yes` or `no`");
- let TimeStamp = await message.channel.awaitMessages(filter, options);
- if (TimeStamp.first().content == 'cancel') return message.channel.send('Embed Generator Cancelled.')
- if (TimeStamp.first().content !== 'yes') embed.setTimestamp();
-
- message.channel.send(embed)
- } catch (error) {
- console.error(error);
- }
- }
-}
\ No newline at end of file
diff --git a/commands/info-search/github.js b/commands/info-search/github.js
deleted file mode 100644
index 3ebd38b..0000000
--- a/commands/info-search/github.js
+++ /dev/null
@@ -1,47 +0,0 @@
-const { Discord, discord } = require("discord.js");
-const { MessageEmbed } = require("discord.js");
-const moment = require("moment");
-const fetch = require("node-fetch")
-
-module.exports = {
- name: "github",
- aliases: ["git"],
- category: "search",
- usage: "Github ",
- exmaple: "Github Emoji",
- description: `Github User Account Information!`,
- run: async (client, message, args) => {
-
- try {
-
- if (!args[0]) return message.channel.send(`Please Give Me A Username!`)
-
- fetch(`https://api.github.com/users/${args.join('-')}`)
- .then(res => res.json()).then(body => {
- if(body.message) return message.channel.send(`User Not Found | Please Give Me A Valid Username!`);
- let { login, avatar_url, name, id, html_url, public_repos, followers, following, location, created_at, bio } = body;
-
- const embed = new MessageEmbed()
- .setAuthor(`${login} Information!`, avatar_url)
- .setColor(`#211F1F`)
- .setThumbnail(`${avatar_url}`)
- .addField(`Username`, `${login}`)
- .addField(`ID`, `${id}`)
- .addField(`Bio`, `${bio || "No Bio"}`)
- .addField(`Public Repositories`, `${public_repos || "None"}`, true)
- .addField(`Followers`, `${followers}`, true)
- .addField(`Following`, `${following}`, true)
- .addField(`Location`, `${location || "No Location"}`)
- .addField(`Account Created`, moment.utc(created_at).format("dddd, MMMM, Do YYYY"))
- .setFooter(`Tysm For Using Me! ${message.author.username}`)
-
- message.channel.send(embed)
-
- })
-
- } catch (error) {
- console.log(`[Commands] [github] Getting Error In github Command :\n`, error);
- return message.channel.send(`Something Went Wrong Try Again Later!`)
- }
- }
-};
\ No newline at end of file
diff --git a/commands/info-search/imbd.js b/commands/info-search/imbd.js
deleted file mode 100644
index 3dbb259..0000000
--- a/commands/info-search/imbd.js
+++ /dev/null
@@ -1,36 +0,0 @@
-const discord = require("discord.js");
-const imdb = require("imdb-api");
-
-module.exports = {
-name: "imdb",
- description: "Get the information about series and movie",
- category: "info",
- usage: "imdb ",
- run: async (client, message, args, color) => {
-
- if(!args.length) {
- return message.channel.send("Please give the name of movie or series")
- }
-
- const imob = new imdb.Client({apiKey: "5e36f0db"}) //You need to paste you imdb api
-
- let movie = await imob.get({'name': args.join(" ")})
-
- let embed = new discord.MessageEmbed()
- .setTitle(movie.title)
- .setColor("RANDOM")
- .setThumbnail(movie.poster)
- .setDescription(movie.plot)
- .setFooter(`Ratings: ${movie.rating}`)
- .addField("Country", movie.country, true)
- .addField("Languages", movie.languages, true)
- .addField("Type", movie.type, true);
-
-
- message.channel.send(embed)
-
-
-
- }
-
-}
\ No newline at end of file
diff --git a/commands/info-search/insta.js b/commands/info-search/insta.js
deleted file mode 100644
index 1bb07e9..0000000
--- a/commands/info-search/insta.js
+++ /dev/null
@@ -1,44 +0,0 @@
-const axios = require('axios')
-const { MessageEmbed } = require('discord.js');
-module.exports = {
- name: "ig",
- category: "search",
- run: async (client, message, args) => {
- if (!args[0]) {
- return message.channel.send(`Please Enter a Channel Name`)
- }
- let url, response, account, details;
- try {
- url = `https://instagram.com/${args[0]}/?__a=1`;
- response = await axios.get(url)
- account = response.data
- details = account.graphql.user
- } catch (error) {
- return message.channel.send(`Not A Account`)
- }
-
- const embed = new MessageEmbed()
- .setTitle(`${details.is_verified ? `${details.username} ` : ` ${details.username}`} ${details.is_private ? '🔒' : ''} `)
- .setDescription(details.biography)
- .setThumbnail(details.profile_pic_url)
- .addFields(
- {
- name: "Total Posts:",
- value: details.edge_owner_to_timeline_media.count.toLocaleString(),
- inline: true
- },
- {
- name: "Followers:",
- value: details.edge_followed_by.count.toLocaleString(),
- inline: true
- },
- {
- name: "Following:",
- value: details.edge_follow.count.toLocaleString(),
- inline: true
- }
- )
- await message.channel.send(embed)
-
- }
-}
\ No newline at end of file
diff --git a/commands/info-search/npm.js b/commands/info-search/npm.js
deleted file mode 100644
index 267d98a..0000000
--- a/commands/info-search/npm.js
+++ /dev/null
@@ -1,52 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-const fetch = require("node-fetch");
-const moment = require("moment");
-module.exports = {
- name: "npm",
- description: "Check for packages on npm!",
- category: "search",
- run: async (client, message, args) => {
- let query = args.join(' ');
- if (!query) query = await awaitMessages(message);
- if (!query) return;
- const res = await fetch(`https://registry.npmjs.com/${encodeURIComponent(query)}`).catch(err => console.log(err));
- if (res.status === 404) return message.channel.send('No search results found, maybe try searching for something that exists.');
- const body = await res.json();
- const embed = new MessageEmbed()
- .setColor(0xde2c2c)
- .setTitle(body.name)
- .setURL(`https://www.npmjs.com/package/${body.name}`)
- .setDescription(body.description || 'No description.')
- .addField('❯ Version', body['dist-tags'].latest, true)
- .addField('❯ License', body.license || 'None', true)
- .addField('❯ Author', body.author ? body.author.name : '???', true)
- .addField('❯ Creation Date', moment.utc(body.time.created).format('YYYY/MM/DD hh:mm:ss'), true)
- .addField('❯ Modification Date', body.time.modified ? moment.utc(body.time.modified).format('YYYY/MM/DD hh:mm:ss') : 'None', true)
- .addField('❯ Repository', body.repository ? `[View Here](${body.repository.url.split('+')[1]})` : 'None', true)
- .addField('❯ Maintainers', body.maintainers.map(user => user.name).join(', '))
- message.channel.send(embed);
-
-
- async function awaitMessages(message) {
- let responce;
-
- const filter = (user) => {
- return user.author.id === message.author.id;
- };
-
- message.channel.send('**What do you want to search for?** \nType `cancel` to cancel the command.');
-
- await message.channel.awaitMessages(filter, { max: 1, time: 120000, errors: ['time'] })
- .then((msg) => {
- const firstMsg = msg.first();
- if (firstMsg.content.toLowerCase() === 'cancel') return firstMsg.react('👍');
- responce = firstMsg.content;
- })
- .catch(() => {
- message.channel.send('Welp.. you took too long, cancelling the command.');
- });
-
- return responce;
- }
- },
-};
\ No newline at end of file
diff --git a/commands/info-search/ping.js b/commands/info-search/ping.js
deleted file mode 100644
index 05984ef..0000000
--- a/commands/info-search/ping.js
+++ /dev/null
@@ -1,16 +0,0 @@
-const discord = require("discord.js");
-
-module.exports = {
- name: "ping",
- category: "info",
- description: "Returns latency and API ping",
- run: async (client, message, args) => {
-
- let embed = new discord.MessageEmbed()
- .setDescription(`Pong - ${client.ws.ping}ms`)
- .setColor("RANDOM")
- .setFooter(`Requested by ${message.author.username}`)
-
- message.channel.send(embed)
- }
-}
\ No newline at end of file
diff --git a/commands/info-search/pokemon.js b/commands/info-search/pokemon.js
deleted file mode 100644
index 2d39f48..0000000
--- a/commands/info-search/pokemon.js
+++ /dev/null
@@ -1,35 +0,0 @@
-const { get } = require("request-promise-native");
-const { MessageEmbed } = require("discord.js")
-module.exports = {
- name: "pokemon",
- description: "Get any pokemon description",
- category: "info",
- usage: "pokemon ",
- run (client, message, args) {
-
-
-const options = {
- url: `https://courses.cs.washington.edu/courses/cse154/webservices/pokedex/pokedex.php?pokemon=${args.join(" ")}`,
- json: true
-
-}
-
-message.channel.send(`Fetching Informtion for the Pokemon`).then(msg => {
- get(options).then(body => {
-
- let embed = new MessageEmbed()
- .setAuthor(body.name, `https://courses.cs.washington.edu/courses/cse154/webservices/pokedex/${body.images.typeIcon}`)
- .setDescription(`Type of this pokemon is **${body.info.type}**. ${body.info.description}`)
- .setThumbnail(`https://courses.cs.washington.edu/courses/cse154/webservices/pokedex/${body.images.photo}`)
- .setColor("RANDOM")
- .setFooter(`Weakness of pokemon - ${body.info.weakness}`, `https://courses.cs.washington.edu/courses/cse154/webservices/pokedex/${body.images.weaknessIcon}`)
-
- message.channel.send(embed)
- msg.delete()
- })
-})
-
-
-
-}
-}
\ No newline at end of file
diff --git a/commands/info-search/server.js b/commands/info-search/server.js
deleted file mode 100644
index 2fa76c4..0000000
--- a/commands/info-search/server.js
+++ /dev/null
@@ -1,157 +0,0 @@
-const { MessageEmbed } = require('discord.js');
-
-const moment = require('moment');
-
-const filterLevels = {
-
- DISABLED: 'Off',
-
- MEMBERS_WITHOUT_ROLES: 'No Role',
-
- ALL_MEMBERS: 'Everyone'
-
-};
-
-const verificationLevels = {
-
- NONE: 'None',
-
- LOW: 'Low',
-
- MEDIUM: 'Medium',
-
- HIGH: '(╯°□°)╯︵ ┻━┻',
-
- VERY_HIGH: '┻━┻ ミヽ(ಠ益ಠ)ノ彡┻━┻'
-
-};
-
-const regions = {
-
- brazil: 'Brazil',
-
- europe: 'Europe',
-
- hongkong: 'Hong Kong',
-
- india: 'India',
-
- japan: 'Japan',
-
- russia: 'Russia',
-
- singapore: 'Singapore',
-
- southafrica: 'South Africa',
-
- sydeny: 'Sydeny',
-
- 'us-central': 'US Central',
-
- 'us-east': 'US East',
-
- 'us-west': 'US West',
-
- 'us-south': 'US South'
-
-};
-
-module.exports = {
-
- name: "serverinfo",
-
- category: "info",
-
- aliases: ["serverinfo"],
-
- description: "Get info about your server.",
-
- usage: "serverinfo ",
-
-run: (client, message, args) => {
-
- const roles = message.guild.roles.cache.sort((a, b) => b.position - a.position).map(role => role.toString());
-
- const members = message.guild.members.cache;
-
- const channels = message.guild.channels.cache;
-
- const emojis = message.guild.emojis.cache;
-
- const embed = new MessageEmbed()
-
- .setDescription(`**Guild information for __${message.guild.name}__**`)
-
- .setColor('BLUE')
-
- .setThumbnail(message.guild.iconURL({ dynamic: true }))
-
- .addField('General', [
-
- `**❯ Name:** ${message.guild.name}`,
-
- `**❯ ID:** ${message.guild.id}`,
-
- `**❯ Owner:** ${message.guild.owner.user.tag} (${message.guild.ownerID})`,
-
- `**❯ Region:** ${regions[message.guild.region]}`,
-
- `**❯ Boost Tier:** ${message.guild.premiumTier ? `Tier ${message.guild.premiumTier}` : 'None'}`,
-
- `**❯ Explicit Filter:** ${filterLevels[message.guild.explicitContentFilter]}`,
-
- `**❯ Verification Level:** ${verificationLevels[message.guild.verificationLevel]}`,
-
- `**❯ Time Created:** ${moment(message.guild.createdTimestamp).format('LT')} ${moment(message.guild.createdTimestamp).format('LL')} ${moment(message.guild.createdTimestamp).fromNow()}`,
-
- '\u200b'
-
- ])
-
- .addField('Statistics', [
-
- `**❯ Role Count:** ${roles.length}`,
-
- `**❯ Emoji Count:** ${emojis.size}`,
-
- `**❯ Regular Emoji Count:** ${emojis.filter(emoji => !emoji.animated).size}`,
-
- `**❯ Animated Emoji Count:** ${emojis.filter(emoji => emoji.animated).size}`,
-
- `**❯ Member Count:** ${message.guild.memberCount}`,
-
- `**❯ Humans:** ${members.filter(member => !member.user.bot).size}`,
-
- `**❯ Bots:** ${members.filter(member => member.user.bot).size}`,
-
- `**❯ Text Channels:** ${channels.filter(channel => channel.type === 'text').size}`,
-
- `**❯ Voice Channels:** ${channels.filter(channel => channel.type === 'voice').size}`,
-
- `**❯ Boost Count:** ${message.guild.premiumSubscriptionCount || '0'}`,
-
- '\u200b'
-
- ])
-
- .addField('Presence', [
-
- `**❯ Online:** ${members.filter(member => member.presence.status === 'online').size}`,
-
- `**❯ Idle:** ${members.filter(member => member.presence.status === 'idle').size}`,
-
- `**❯ Do Not Disturb:** ${members.filter(member => member.presence.status === 'dnd').size}`,
-
- `**❯ Offline:** ${members.filter(member => member.presence.status === 'offline').size}`,
-
- '\u200b'
-
- ])
-
- .setTimestamp();
-
- message.channel.send(embed);
-
- }
-
-};
diff --git a/commands/info-search/serveravatar.js b/commands/info-search/serveravatar.js
deleted file mode 100644
index 1f0659c..0000000
--- a/commands/info-search/serveravatar.js
+++ /dev/null
@@ -1,19 +0,0 @@
-const discord = require("discord.js")
-
-module.exports = {
- name: "servericon",
- aliases: ["sav", "guildavatar"],
- category: "info",
- description: "Get avatar of the server",
- run: async (client, message, args) => {
-
- let embed = new discord.MessageEmbed()
-
- embed.setDescription(`[Download](${message.guild.iconURL({ dynamic: true, size: 1024 })})`)
- embed.setImage(message.guild.iconURL({ dynamic: true, size: 1024 }))
- embed.setColor("RANDOM")
-
- message.channel.send(embed)
-
- }
-}
\ No newline at end of file
diff --git a/commands/info-search/snupe.js b/commands/info-search/snupe.js
deleted file mode 100644
index b3c0ea5..0000000
--- a/commands/info-search/snupe.js
+++ /dev/null
@@ -1,26 +0,0 @@
-const Discord = require("discord.js")
-const db = require("quick.db")
-
-module.exports = {
- name: "snipe",
- aliases: ["ms", "messagesnipe"],
- category: "info",
- usage: "(prefix)snipe",
- description: "Get last message which is deleted with message Author and Image(If any)",
- run:async (client, message, args) => {
-
- const msg = client.snipes.get(message.channel.id)
- if(!msg) return message.channel.send("There's nothing to snipe!")
- const embed = new Discord.MessageEmbed()
- .setAuthor(msg.author)
- .setDescription(msg.content)
- if(msg.image)embed
- .setImage(msg.image)
- .setColor("00FFFF")
- .setTimestamp();
-
- message.channel.send(embed)
-
-
- }
-}
\ No newline at end of file
diff --git a/commands/info-search/tweeter.js b/commands/info-search/tweeter.js
deleted file mode 100644
index eafad3c..0000000
--- a/commands/info-search/tweeter.js
+++ /dev/null
@@ -1,35 +0,0 @@
-
-const Discord = require("discord.js")
-const request = require("node-superfetch") //npm i node-superfetch
-const {stripIndents} = require("common-tags") //npm i common-tags
-const twitter = require("twitter-api.js") //npm i twitter-api.js
-module.exports = {
- name: "twitter",
- aliases: ["twe"],
- category: "search",
- premiumOnly: "true",
- run: async (client, msg, args) => {
- let user = args[0]
- if(!user) return msg.channel.send("Provide your twitter name")
-
- try {
- const body = await twitter.users(user)
- const tweet = new Discord.MessageEmbed()
- .setColor("BLUE")
- .setAuthor(`@${body.screen_name.toLowerCase()}`, body.verified ? "https://emoji.gg/assets/emoji/6817_Discord_Verified.png" : null)
- .setDescription(stripIndents` ${body.description}
- \`•\` Followers: **${(body.followers_count).toLocaleString()}**
- \`•\` Following: **${(body.friends_count).toLocaleString()}**
- \`•\` Tweets: **${(body.statuses_count).toLocaleString()}**
- \`•\` Account Created At: ${body.created_at}`)
- .setFooter(`Twitter ID: ${body.id}`, "https://abs.twimg.com/favicons/twitter.ico")
- .setThumbnail(body.profile_image_url_https.replace('_normal', ''))
- .setImage(body.profile_banner_url)
- msg.channel.send(tweet)
- } catch (e) {
- if(e.status === 403) return msg.channel.send("This user private mode, or deleted account")
- else if(e.status === 404) return msg.channel.send("Not Found")
- else return msg.channel.send(`Unknown error: \`${e.message}\``)
- }
- }
-}
\ No newline at end of file
diff --git a/commands/info-search/uptimee.js b/commands/info-search/uptimee.js
deleted file mode 100644
index 6850fc2..0000000
--- a/commands/info-search/uptimee.js
+++ /dev/null
@@ -1,18 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-const Discord = require("discord.js");
-module.exports = {
- name: "uptime",
- category: "info",
- description: "Shows Bot's Uptime.",
- usage: "uptime",
-
- run: async (client, message, args) => {
- let days = Math.floor(client.uptime / 86400000);
- let hours = Math.floor(client.uptime / 3600000) % 24;
- let minutes = Math.floor(client.uptime / 60000) % 60;
- let seconds = Math.floor(client.uptime / 1000) % 60;
-
- return message.channel.send(`__Uptime:__\n${days}d ${hours}h ${minutes}m ${seconds}s`);
- }
-
-}
\ No newline at end of file
diff --git a/commands/info-search/whois.js b/commands/info-search/whois.js
deleted file mode 100644
index ce39a5f..0000000
--- a/commands/info-search/whois.js
+++ /dev/null
@@ -1,101 +0,0 @@
-const { MessageEmbed } = require("discord.js")
-const moment = require("moment")
-
-module.exports = {
- name: "userinfo",
- category: "info",
- aliases: ["whois", "user"],
- usage: "userinfo ",
- description: "Get advance stats of given person or yourself",
- run: async (client, message, args) => {
-
-
- let user;
-
- if (!args[0]) {
- user = message.member;
- } else {
-
-
-
-
-
- user = message.mentions.members.first() || await message.guild.members.fetch(args[0]).catch(err => { return message.channel.send(":x: Unable to find this Person") })
- }
-
- if (!user) {
- return message.channel.send(":x: Unable to find this person!")
- }
-
-
- //OPTIONS FOR STATUS
-
- let stat = {
- online: "https://emoji.gg/assets/emoji/9166_online.png",
- idle: "https://emoji.gg/assets/emoji/3929_idle.png",
- dnd: "https://emoji.gg/assets/emoji/2531_dnd.png",
- offline: "https://emoji.gg/assets/emoji/7445_status_offline.png"
- }
-
- //NOW BADGES
- let badges = await user.user.flags
- badges = await badges ? badges.toArray() : ["None"]
-
- let newbadges = [];
- badges.forEach(m => {
- newbadges.push(m.replace("_", " "))
- })
-
- let embed = new MessageEmbed()
- .setThumbnail(user.user.displayAvatarURL({ dynamic: true }))
-
- //ACTIVITY
- let array = []
- if (user.user.presence.activities.length) {
-
- let data = user.user.presence.activities;
-
- for (let i = 0; i < data.length; i++) {
- let name = data[i].name || "None"
- let xname = data[i].details || "None"
- let zname = data[i].state || "None"
- let type = data[i].type
-
- array.push(`**${type}** : \`${name} : ${xname} : ${zname}\``)
-
- if (data[i].name === "Spotify") {
- embed.setThumbnail(`https://i.scdn.co/image/${data[i].assets.largeImage.replace("spotify:", "")}`)
- }
-
- embed.setDescription(array.join("\n"))
-
- }
- }
-
- //EMBED COLOR BASED ON member
- embed.setColor(user.displayHexColor === "#000000" ? "#ffffff" : user.displayHexColor)
-
- //OTHER STUFF
- embed.setAuthor(user.user.tag, user.user.displayAvatarURL({ dynamic: true }))
-
- //CHECK IF USER HAVE NICKNAME
- if (user.nickname !== null) embed.addField("Nickname", user.nickname)
- embed.addField("Joined At", moment(user.joinedAt).format("LLLL"))
- .addField("Account Created At", moment(user.user.createdAt).format("LLLL"))
- .addField("Common Information", `ID: \`${user.user.id}\`\nDiscriminator: ${user.user.discriminator}\nBot: ${user.user.bot}\nDeleted User: ${user.deleted}`)
- .addField("Badges", newbadges.join(", ").toLowerCase() || "None")
- .setFooter(user.user.presence.status, stat[user.user.presence.status])
-
-
-
- return message.channel.send(embed).catch(err => {
- return message.channel.send("Error : " + err)
- })
-
-
-
- }
-
-
-
- }
\ No newline at end of file
diff --git a/commands/level/profile.js b/commands/level/profile.js
deleted file mode 100644
index 517bf3b..0000000
--- a/commands/level/profile.js
+++ /dev/null
@@ -1,34 +0,0 @@
-const Levels = require("discord-xp");
-const Discord = require ("discord.js")
-const Canvas = require('canvas');
-
- const canvas = Canvas.createCanvas(867, 892);
- const ctx = canvas.getContext('2d');
- module.exports = {
- name: "lb",
- description: "get chat Level", category: "level[beta]",
- // users will need premium to execute this
- run: async (bot, message, args) => {
-
-
- const rawLeaderboard = await Levels.fetchLeaderboard(message.guild.id, 10);
- const leaderboard = await Levels.computeLeaderboard(bot, rawLeaderboard);
- if (rawLeaderboard.length < 1) return message.channel.send("Nobody's in leaderboard yet.");
-
- const lb = leaderboard.map(e => `${e.position}. ${e.username}#${e.discriminator}\nLevel: ${e.level}\nXP: ${e.xp.toLocaleString()}`);
-
- const background = await Canvas.loadImage('https://cdn.discordapp.com/attachments/823585354569351208/843202808287199232/image1.jpg');
- ctx.drawImage(background, 0, 0, canvas.width, canvas.height);
-
- ctx.strokeStyle = '#74037b';
- ctx.strokeRect(0, 0, canvas.width, canvas.height);
- ctx.font = 'normal normal bold 30px Arial';
- ctx.fillStyle = '#ffffff';
- ctx.fillText(`${lb.join("\n\n")}`, canvas.width / 3.0, canvas.height / 5.0);
- ctx.beginPath();
- ctx.arc(125, 125, 100, 0, Math.PI * 2, true);
- ctx.closePath();
- ctx.clip();
- const attachment = new Discord.MessageAttachment(canvas.toBuffer(), `abotlb.jpg`);
- message.channel.send(attachment);
- } }
\ No newline at end of file
diff --git a/commands/level/rank.js b/commands/level/rank.js
deleted file mode 100644
index 54e6cfc..0000000
--- a/commands/level/rank.js
+++ /dev/null
@@ -1,24 +0,0 @@
-const canvacord = require('canvacord')
-
-const Levels = require('discord-xp')
-
-const {MessageAttachment} = require('discord.js')
-module.exports = {
- name: 'rank',
- category: "level[beta]",
- run: async (client, message, args) => {
- const userData = await Levels.fetch(message.author.id, message.guild.id)
- const requiredXP = (userData.level +1) * (userData.level +1) *100 // Enter the formula for calculating the experience here. I used mine, which is used in discord-xp.
- const rank = new canvacord.Rank()
- .setAvatar(message.author.displayAvatarURL({format: "png", size: 1024}))
- .setProgressBar("#F0F6FF", "COLOR")
- .setBackground("IMAGE", "https://cdn.discordapp.com/attachments/823585354569351208/843216311257137172/image0.jpg")
- .setCurrentXP(userData.xp)
- .setLevel(userData.level)
- .setRequiredXP(requiredXP)
- .setUsername(message.author.username)
- .setDiscriminator(message.author.discriminator)
- const img = await rank.build()
- message.channel.send(new MessageAttachment(img, "AbotRankCard.png"))
- }
-}
\ No newline at end of file
diff --git a/commands/moderation/addrole.js b/commands/moderation/addrole.js
deleted file mode 100644
index 26b1f74..0000000
--- a/commands/moderation/addrole.js
+++ /dev/null
@@ -1,55 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-const db = require('quick.db');
-
-module.exports = {
- name: "addrole",
- aliases: ["role", "qrole"],
- category: "moderation",
- description: "Add role to any user",
-run: async (bot, message, args) => {
-
- if (!message.member.hasPermission("MANAGE_ROLES")) return message.channel.send("**You Dont Have The Permissions To Add Roles To Users! - [MANAGE_ROLES]**");
- if (!message.guild.me.hasPermission("MANAGE_ROLES")) return message.channel.send("**I Dont Have The Permissions To Add Roles To Users! - [MANAGE_ROLES]**");
-
- if (!args[0]) return message.channel.send("**Please Enter A Role!**")
-
- let rMember = message.mentions.members.first() || message.guild.members.cache.get(args[0]) || message.guild.members.cache.find(r => r.user.username.toLowerCase() === args[0].toLocaleLowerCase()) || message.guild.members.cache.find(ro => ro.displayName.toLowerCase() === args[0].toLocaleLowerCase());
- if (!rMember) return message.channel.send("**Please Enter A User Name!**");
- if (rMember.roles.highest.comparePositionTo(message.guild.me.roles.highest) >= 0) return message.channel.send('**Cannot Add Role To This User!**')
-
- let role = message.mentions.roles.first() || message.guild.roles.cache.get(args[1]) || message.guild.roles.cache.find(rp => rp.name.toLowerCase() === args.slice(1).join(' ').toLocaleLowerCase());
- if (!args[1]) return message.channel.send("**Please Enter A Role!**")
-
- if (!role) return message.channel.send("**Could Not Find That Role!**")
-
- if (role.managed) return message.channel.send("**Cannot Add That Role To The User!**")
- if (message.guild.me.roles.highest.comparePositionTo(role) <= 0) return message.channel.send('**Role Is Currently Higher Than Me Therefore Cannot Add It To The User!**')
-
- if (rMember.roles.cache.has(role.id)) return message.channel.send("**User Already Has The Role!**")
- if (!rMember.roles.cache.has(role.id)) await rMember.roles.add(role.id);
- var sembed = new MessageEmbed()
- .setColor("GREEN")
- .setAuthor(message.guild.name, message.guild.iconURL())
- .setDescription(`Role has been added to ${rMember.user.username}`)
- message.channel.send(sembed)
-
- let channel = db.fetch(`modlog_${message.guild.id}`)
- if (!channel) return;
-
- const embed = new MessageEmbed()
- .setAuthor(`${message.guild.name} Modlogs`, message.guild.iconURL())
- .setColor("#ff0000")
- .setThumbnail(rMember.user.displayAvatarURL({ dynamic: true }))
- .setFooter(message.guild.name, message.guild.iconURL())
- .addField("**Moderation**", "addrole")
- .addField("**Added Role to**", rMember.user.username)
- .addField("**Role Added**", role.name)
- .addField("**Added By**", message.author.username)
- .addField("**Date**", message.createdAt.toLocaleString())
- .setTimestamp();
-
- let sChannel = message.guild.channels.cache.get(channel)
- if (!sChannel) return;
- sChannel.send(embed)
- }
-};
\ No newline at end of file
diff --git a/commands/moderation/ban.js b/commands/moderation/ban.js
deleted file mode 100644
index 54fba92..0000000
--- a/commands/moderation/ban.js
+++ /dev/null
@@ -1,44 +0,0 @@
-const discord = require("discord.js");
-
-module.exports = {
- name: "ban",
- category: "moderation",
- description: "Ban anyone with one shot whithout knowing anyone xD",
- usage: "ban <@user> ",
- run: async (client, message, args) => {
-
- const target = message.mentions.members.first()
-
- const reason = args.slice(1).join(" ")
-
- if(!message.member.hasPermission("BAN_MEMBERS")) return message.reply(`You don't have enough powers to ban someone`)
-
- if(!message.guild.me.hasPermission("BAN_MEMBERS")) return message.reply(`I don't have powers to ban someone`)
-
- if(!args[0]) return message.reply(`Please mention someone to ban`)
-
- if(!target) return message.reply(`I can't find that member`)
-
- if(target.roles.highest.position >= message.member.roles.highest.position || message.author.id !== message.guild.owner.id) {
- return message.reply(`They have more power than you`)
- }
-
- if(target.id === message.author.id) return message.reply(`I can't ban you as you are the Boss`)
-
- if(target.bannable) {
- let embed = new discord.MessageEmbed()
- .setColor("RANDOM")
- .setDescription(`Banned \`${target}\` for \`${reason || "No Reason Provided"}\``)
-
- message.channel.send(embed)
-
- target.ban()
-
- message.delete()
-
- } else {
- return message.reply(`I can't ban them, make sure that my role is above of theirs`)
- }
- return undefined
- }
-};
\ No newline at end of file
diff --git a/commands/moderation/clear.js b/commands/moderation/clear.js
deleted file mode 100644
index 86d05f9..0000000
--- a/commands/moderation/clear.js
+++ /dev/null
@@ -1,354 +0,0 @@
-const Discord = require("discord.js");
-const bot = new Discord.Client();
-module.exports = {
- name: "purge",
- category: "moderation",
- aliases: ['clear', 'delete', 'prune'],
-
- async run(bot, message, args) {
-// UPDATE ^ ACCORDING TO YOUR HANDLER
-let prefix = "q"
- try {
-
- if(!message.member.hasPermission("MANAGE_MESSAGES")) return message.reply("You don't have **MANAGE_MESSAGES** premssions to use this command.");
- if(!message.guild.me.hasPermission("MANAGE_MESSAGES")) return message.reply("I don't have **MANAGE_MESSAGES** permissions to use this command.");
-
-const commands = [
-`bots\` - Delete messages sent by bots. (Ignore humans)`,
-`humans\` - Delete messages sent by humans. (Ignore bots)`,
-`embeds\` - Delete messages containing rich embeds.`,
-`files\` - Delete messages containing files/images/attachments.`,
-`mentions\` - Delete messages containing member/user/channel/role mentions.`,
-`pins\` - Delete messages which are pinned.`,
-`text\` - Delete messages containing only text. (Ignores files/images/attachments, embeds)`,
-`match\` - Delete messages containing text.` ,
-`not\` - Delete messages not containing text.`,
-`startswith\` - Delete messages starts with text.`,
-`endswith\` - Delete messages ends with text.`
-]
-
-const embd = new Discord.MessageEmbed()
-.setColor("BLUE")
-.setTitle("Purge | Clear | Delete | Prune")
-.setDescription(`Delete a number of messages from a channel. (Ignores the pinned messages and limit is 100)`)
-.addField("Usage", `\`${prefix}purge \` - Delete a number of messages.\n\`${prefix}purge --${commands.join(`\n\`${prefix}purge --`)}`)
-.setFooter(`${prefix}purge, ${prefix}clear, ${prefix}delete, ${prefix}prune`)
-
-
-
-
-if(!args[0] || !args.length) return message.channel.send(embd);
-let amount = Number(args[0],10) || parseInt(args[0]);
-if(isNaN(amount) || !Number.isInteger(amount)) return message.channel.send("Please enter a number of messages to purge.");
-if(!amount || amount < 2 || amount > 100) return message.channel.send("Please enter a number of message between 2 and 100.")
-if(!args[1]) {
-
-try {
- await message.delete()
-await message.channel.bulkDelete(amount).then(async (m) => {
-
- let embed = new Discord.MessageEmbed()
- .setColor('0x#00ffff')
- .setDescription(`✅ Cleared **${m.size}**/**${amount}** messages!`);
-
- message.channel.send(embed).then(msg => msg.delete({timeout:4000}));
-})
-
- } catch (e) {
- console.log(e)
- message.channel.send(`You can only delete the messages which are not older than 14 days.`)
-
-
- }
-
-} else if(args[1]) {
- let msg;
- let data;
- let embed;
- switch(args[1]) {
- case "--bots":
- msg = await message.channel.messages.fetch({limit: amount})
- data = []
- msg.map(m => m).forEach(ms => {
- if(ms.author.bot && !ms.pinned) data.push(ms)
- })
-
- try {
- await message.delete()
- await message.channel.bulkDelete(data.length ? data : 1, true).then(async (m) => {
-
- embed = new Discord.MessageEmbed()
- .setColor('0x#00ffff')
- .setDescription(`✅ Cleared **${m.size}**/**${amount}** messages!`);
-
- message.channel.send(embed).then(msg => msg.delete({timeout:50000}));
- })
-
- } catch (e) {
- console.log(e)
- message.channel.send(`You can only delete the messages which are not older than 14 days.`)
- }
-
- break;
- case "--humans":
- msg = await message.channel.messages.fetch({limit: amount})
- data = []
- msg.map(m => m).forEach(ms => {
- if(!ms.author.bot && !ms.pinned) data.push(ms)
- })
-
- try {
-
- await message.channel.bulkDelete(data.length ? data : 1, true).then(async (m) => {
-
- embed = new Discord.MessageEmbed()
- .setColor('0x#00ffff')
- .setDescription(`✅ Cleared **${m.size}**/**${amount}** messages!`);
-
- message.channel.send(embed).then(msg => msg.delete({timeout:50000}));
- })
-
- } catch (e) {
- console.log(e)
- message.channel.send(`You can only delete the messages which are not older than 14 days.`)
- }
-
- break;
-case "--embeds":
- msg = await message.channel.messages.fetch({limit: amount})
- data = []
- msg.map(m => m).forEach(ms => {
- if(ms.embeds.length && !ms.pinned) data.push(ms)
- })
-
- try {
-
- await message.channel.bulkDelete(data.length ? data : 1, true).then(async (m) => {
-
- embed = new Discord.MessageEmbed()
- .setColor('0x#00ffff')
- .setDescription(`✅ Cleared **${m.size}**/**${amount}** messages!`);
-
- message.channel.send(embed).then(msg => msg.delete({timeout:50000}));
- })
-
- } catch (e) {
- console.log(e)
- message.channel.send(`You can only delete the messages which are not older than 14 days.`)
- }
-
- break;
-case "--files":
- msg = await message.channel.messages.fetch({limit: amount})
- data = []
- msg.map(m => m).forEach(ms => {
- if(ms.attachments.first() && !ms.pinned) data.push(ms)
- })
-
- try {
-
- await message.channel.bulkDelete(data.length ? data : 1, true).then(async (m) => {
-
- embed = new Discord.MessageEmbed()
- .setColor('0x#00ffff')
- .setDescription(`✅ Cleared **${m.size}**/**${amount}** messages!`);
-
- message.channel.send(embed).then(msg => msg.delete({timeout:50000}));
- })
-
- } catch (e) {
- console.log(e)
- message.channel.send(`You can only delete the messages which are not older than 14 days.`)
- }
-
- break;case "--text":
- msg = await message.channel.messages.fetch({limit: amount})
- data = []
- msg.map(m => m).forEach(ms => {
- if(!ms.attachments.first() && !ms.embeds.length && !ms.pinned) data.push(ms)
- })
-
- try {
-
- await message.channel.bulkDelete(data.length ? data : 1, true).then(async (m) => {
-
- embed = new Discord.MessageEmbed()
- .setColor('0x#00ffff')
- .setDescription(`✅ Cleared **${m.size}**/**${amount}** messages!`);
-
- message.channel.send(embed).then(msg => msg.delete({timeout:50000}));
- })
-
- } catch (e) {
- console.log(e)
- message.channel.send(`You can only delete the messages which are not older than 14 days.`)
- }
-
- break;
- case "--mentions":
- msg = await message.channel.messages.fetch({limit: amount})
- data = []
- msg.map(m => m).forEach(ms => {
- if((ms.mentions.users.first() || ms.mentions.members.first() || ms.mentions.channels.first() || ms.mentions.roles.first())&& !ms.pinned) data.push(ms)
- })
-
- try {
-
- await message.channel.bulkDelete(data.length ? data : 1, true).then(async (m) => {
-
- embed = new Discord.MessageEmbed()
- .setColor('0x#00ffff')
- .setDescription(`✅ Cleared **${m.size}**/**${amount}** messages!`);
-
- message.channel.send(embed).then(msg => msg.delete({timeout:50000}));
- })
-
- } catch (e) {
- console.log(e)
- message.channel.send(`You can only delete the messages which are not older than 14 days.`)
- }
-
- break;
-case "--pins":
- msg = await message.channel.messages.fetch({limit: amount})
- data = []
- msg.map(m => m).forEach(ms => {
- if(ms.pinned) data.push(ms)
- })
-
- try {
-
- await message.channel.bulkDelete(data.length ? data : 1, true).then(async (m) => {
-
- embed = new Discord.MessageEmbed()
- .setColor('0x#00ffff')
- .setDescription(`✅ Cleared **${m.size}**/**${amount}** messages!`);
-
- message.channel.send(embed).then(msg => msg.delete({timeout:50000}));
- })
-
- } catch (e) {
- console.log(e)
- message.channel.send(`You can only delete the messages which are not older than 14 days.`)
- }
-
- break;
-case "--match":
- msg = await message.channel.messages.fetch({limit: amount})
- data = []
- msg.map(m => m).forEach(ms => {
-if(!args[2]) return message.channel.send(embd);
- if(ms.content.includes(args.slice(2).join(" ")) && !ms.pinned) data.push(ms)
- })
-
- try {
-
-
- await message.channel.bulkDelete(data.length ? data : 1, true).then(async (m) => {
-
- embed = new Discord.MessageEmbed()
- .setColor('0x#00ffff')
- .setDescription(`✅ Cleared **${m.size}**/**${amount}** messages!`);
-
- message.channel.send(embed).then(msg => msg.delete({timeout:50000}));
- })
-
- } catch (e) {
- console.log(e)
- message.channel.send(`You can only delete the messages which are not older than 14 days.`)
- }
-
- break;
-case "--not":
- msg = await message.channel.messages.fetch({limit: amount})
- data = []
- msg.map(m => m).forEach(ms => {
-if(!args[2]) return message.channel.send(embd);
- if(!ms.content.includes(args.slice(2).join(" ")) && !ms.pinned) data.push(ms)
- })
-
- try {
-
- await message.channel.bulkDelete(data.length ? data : 1, true).then(async (m) => {
-
- embed = new Discord.MessageEmbed()
- .setColor('0x#00ffff')
- .setDescription(`✅ Cleared **${m.size}**/**${amount}** messages!`);
-
- message.channel.send(embed).then(msg => msg.delete({timeout:50000}));
- })
-
- } catch (e) {
- console.log(e)
- message.channel.send(`You can only delete the messages which are not older than 14 days.`)
- }
-
- break;
-case "--startswith":
- msg = await message.channel.messages.fetch({limit: amount})
- data = []
- msg.map(m => m).forEach(ms => {
-if(!args[2]) return message.channel.send(embd);
- if(ms.content.startsWith(args.slice(2).join(" ")) && !ms.pinned) data.push(ms)
- })
-
- try {
-
- await message.channel.bulkDelete(data.length ? data : 1, true).then(async (m) => {
-
- embed = new Discord.MessageEmbed()
- .setColor('0x#00ffff')
- .setDescription(`✅ Cleared **${m.size}**/**${amount}** messages!`);
-
- message.channel.send(embed).then(msg => msg.delete({timeout:50000}));
- })
-
- } catch (e) {
- console.log(e)
- message.channel.send(`You can only delete the messages which are not older than 14 days.`)
- }
-
- break;
-case "--endswith":
- msg = await message.channel.messages.fetch({limit: amount})
- data = []
- msg.map(m => m).forEach(ms => {
-if(!args[2]) return message.channel.send(embd);
- if(ms.content.endsWith(args.slice(2).join(" ")) && !ms.pinned) data.push(ms)
- })
-
- try {
-
- await message.channel.bulkDelete(data.length ? data : 1, true).then(async (m) => {
-
- embed = new Discord.MessageEmbed()
- .setColor('0x#00ffff')
- .setDescription(`✅ Cleared **${m.size}**/**${amount}** messages!`);
-
- message.channel.send(embed).then(msg => msg.delete({timeout:50000}));
- })
-
- } catch (e) {
- console.log(e)
- message.channel.send(`You can only delete the messages which are not older than 14 days.`)
- }
-
- break;
-default:
-return message.channel.send(embd)
-break;
-}
-
-} else {
- return message.channel.send(`An error occoured.`)
-}
-} catch (error) {
- console.log(error)
- message.channel.send(`An error occurred: \`${error}\``)
-}
-
-
-}
-}
-
-
diff --git a/commands/moderation/hackeban.js b/commands/moderation/hackeban.js
deleted file mode 100644
index 28e80cc..0000000
--- a/commands/moderation/hackeban.js
+++ /dev/null
@@ -1,43 +0,0 @@
-const db = require("quick.db")
-const { MessageEmbed } = require("discord.js");
-const { measureMemory } = require("vm");
-
-module.exports = {
- name: "hackban",
- description: "asdf",
- category: "moderation",
- run: async(bot, message, args) => {
-
- if(!message.channel.permissionsFor(message.member).has("BAN_MEMBERS") && !ownerID.includes(message.author.id)) return;
-
- const target = args[0];
- if (isNaN(target)) return message.reply(`Please specify an ID`);
-
- const reason = args.splice(1, args.length).join(' ');
-
- try {
- message.guild.members.ban(target, {reason: reason.length < 1 ? 'No reason supplied.': reason});
- const embed2 = new MessageEmbed()
- .setColor("GREEN")
- .setDescription("**They were successfully banned. User was not notified!**");
- await message.channel.send(embed2);
- const channel = db.fetch(`modlog_${message.guild.id}`);
- if (!channel) return;
- const embed = new MessageEmbed()
- .setAuthor(`${message.guild.name} Modlogs`, message.guild.iconURL())
- .setColor("#ff0000")
- .setFooter(message.guild.name, message.guild.iconURL())
- .addField("**Moderation**", "ban")
- .addField("**ID**", `${target}`)
- .addField("**Banned By**", message.author.username)
- .addField("**Reason**", `${reason || "**No Reason**"}`)
- .addField("**Date**", message.createdAt.toLocaleString())
- .setTimestamp();
-
- var sChannel = message.guild.channels.cache.get(channel)
- if (!sChannel) return;
- sChannel.send(embed)
-
- } catch (error) { console.log(error)}
- }
-}
\ No newline at end of file
diff --git a/commands/moderation/kick.js b/commands/moderation/kick.js
deleted file mode 100644
index c91350f..0000000
--- a/commands/moderation/kick.js
+++ /dev/null
@@ -1,54 +0,0 @@
-const { MessageEmbed } = require("discord.js")
-const moment = require('moment')
-
-module.exports = {
-name: "kick",
-category: "moderation",
-description: "kick a user",
-cooldown: 5,
-userPerms: ["KICK_MEMBERS"],
-clientPerms: ["KICK_MEMBERS"],
-run: async(client, message, args) => {
-const mentionedMember = message.mentions.members.first() || message.guild.members.cache.get(args[0])
-const reason = args.slice(1).join(" ")
- if (!args[0]) return message.channel.send(":x: | **Specify someone to kick.**")
- if (!mentionedMember) return message.channel.send(":x: | **I can't find that member.**")
- if (mentionedMember.id === message.author.id) return message.channel.send(":x: | You can't kick yourself.")
- if (mentionedMember.roles.highest.position >= message.member.roles.highest.position && message.author.id !== message.guild.owner.id) {
- return message.channel.send(":x: | **You can\'t kick this member due to your role being lower than that member role.**")
- }
- if (mentionedMember.kickable) {
- const embed = new MessageEmbed()
- .setAuthor(`${message.author.username} - (${message.author.id})`, message.author.displayAvatarURL({dynamic: true}))
- .setThumbnail(mentionedMember.user.displayAvatarURL({dynamic: true}))
- .setColor(`RANDOM`)
- .setDescription(`
-**Member:** ${mentionedMember.user.username} - (${mentionedMember.user.id})
-**Reason:** ${reason || "None"}
- `)
- message.channel.send(embed)
- mentionedMember.kick()
- } else {
- return message.channel.send(":x: | **I can\'t kick this user make sure that the users role is lower than my role.**")
- }
- return undefined
- let channel = db.fetch(`modlog_${message.guild.id}`)
- if (!channel) return;
-
- const embed = new MessageEmbed()
- .setAuthor(`${message.guild.name} Modlogs`, message.guild.iconURL())
- .setColor("#ff0000")
- .setThumbnail(kickMember.user.displayAvatarURL({ dynamic: true }))
- .setFooter(message.guild.name, message.guild.iconURL())
- .addField("**Moderation**", "kick")
- .addField("**User Kicked**", kickMember.user.username)
- .addField("**Kicked By**", message.author.username)
- .addField("**Reason**", `${reason || "**No Reason**"}`)
- .addField("**Date**", message.createdAt.toLocaleString())
- .setTimestamp();
-
- var sChannel = message.guild.channels.cache.get(channel)
- if (!sChannel) return;
- sChannel.send(embed)
- }
- }
diff --git a/commands/moderation/lock.js b/commands/moderation/lock.js
deleted file mode 100644
index 3b0f8bf..0000000
--- a/commands/moderation/lock.js
+++ /dev/null
@@ -1,24 +0,0 @@
-const Discord = module.require("discord.js");
-
-module.exports = {
- name: "lock",
- category: "moderation",
- description: "Locks a Channel"
-}
- run: async(client, message, args) => {
- if (!message.member.hasPermission('MANAGE_SERVER', 'MANAGE_CHANNELS')) {
- return message.channel.send("You don't have enough Permissions")
- }
- message.channel.overwritePermissions([
- {
- id: message.guild.id,
- deny : ['SEND_MESSAGES'],
- },
- ],);
- const embed = new Discord.MessageEmbed()
- .setTitle("Channel Updates")
- .setDescription(`🔒 ${message.channel} has been Locked`)
- .setColor("RANDOM");
- await message.channel.send(embed);
- message.delete();
-}
diff --git a/commands/moderation/mute.js b/commands/moderation/mute.js
deleted file mode 100644
index 62e6eff..0000000
--- a/commands/moderation/mute.js
+++ /dev/null
@@ -1,48 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-
-module.exports = {
- name: "mute",
- aliases: ["mutes", "muted"],
- category: "moderation",
- description: "muet",
- run: async (client, message, args) => {
- if (!message.member.hasPermission("MANAGE_ROLES")) {
- return message.channel.send("sorry you need permission to mute someone");
- }
- if (!message.guild.me.hasPermission("MANAGE_ROLES")) {
- return message.channel.send("I do not have permission to mute");
- }
-
- const user = message.mentions.members.first();
-
- if (!user) {
- return message.channel.send("\```please mention the members for mute\```");
- }
- if (user.id === message.author.id) {
- return message.channel.send("I can't mute you because you are message author");
- }
- let reason = args.slice(1).join("");
-
- if (!reason) {
- return message.channel.send(" \``` please give some reason for mute\``` ");
- }
-
- const vrole = user.roles.cache
-
- let muterole = message.guild.roles.cache.find(x => x.name === "muted");
-
- if (!muterole) {
- return message.channel.send("\```please create role name with muted \``` ");
- }
-
- await user.roles.remove(vrole);
- await user.roles.add(muterole);
-
- await message.channel.send(
- `you muted ${message.mentions.users.first().username} for ${reason}`
- );
-
- user.send(`You get muted in ${message.guild} for ${reason}`
- );
- }
-};
diff --git a/commands/moderation/removerole.js b/commands/moderation/removerole.js
deleted file mode 100644
index 25c529b..0000000
--- a/commands/moderation/removerole.js
+++ /dev/null
@@ -1,34 +0,0 @@
-const { MessageEmbed } = require('discord.js')
-
-module.exports = {
- name: "removerole",
- aliases: ["rmrole", "-role"],
- category: "moderation",
- description: "Remove role from any user",
- run: async (client, message, args) => {
-
- let target = message.mentions.members.first();
-
- if(!target) return message.reply(`I am unable to find the user`)
-
- let rrole = message.mentions.roles.first();
-
- if(!rrole) return message.reply(`I am unable to find the role`)
-
- let ticon = target.user.avatarURL({ dynamic: true, size: 2048 });
- let aicon = message.author.avatarURL({ dynamic: true, size: 2048 });
-
- const embed = new MessageEmbed()
- .setAuthor(target.user.username, ticon)
- .setThumbnail(target.user.displayAvatarURL({ dynamic: true }))
- .setColor("RANDOM")
- .setDescription(`${rrole} role removed from ${target}`)
- .setFooter(`Role added by ${message.author.username}`, aicon)
- .setTimestamp()
-
- await message.channel.send(embed)
-
- target.roles.remove(rrole)
-
- }
-}
\ No newline at end of file
diff --git a/commands/moderation/resetwarn.js b/commands/moderation/resetwarn.js
deleted file mode 100644
index dc3b26c..0000000
--- a/commands/moderation/resetwarn.js
+++ /dev/null
@@ -1,44 +0,0 @@
-const db = require("quick.db");
-
-module.exports = {
- name: "resetwarns",
- aliases: ["rwarns", "rsetwarns"],
- category: "moderation",
- usage: "rwarns <@user>",
- description: "Reset warnings of mentioned person",
- run: async (client, message, args) => {
- if (!message.member.hasPermission("ADMINISTRATOR")) {
- return message.channel.send(
- "Yopu should have admin perms to use this command"
- );
- }
-
- const user = message.mentions.members.first();
-
- if (!user) {
- return message.channel.send("Please mention the person whose warning you want to reset");
- }
-
- if (message.mentions.users.first().bot) {
- return message.channel.send("Bot are not allowed to have warnings");
- }
-
- if (message.author.id === user.id) {
- return message.channel.send("You are not allowed to reset your warnings");
- }
-
- let warnings = db.get(`warnings_${message.guild.id}_${user.id}`);
-
- if (warnings === null) {
- return message.channel.send(`${message.mentions.users.first().username} do not have any warnings`);
- }
-
- db.delete(`warnings_${message.guild.id}_${user.id}`);
- user.send(
- `Your all warnings are reseted by ${message.author.username} from ${message.guild.name}`
- );
- await message.channel.send(
- `Reseted all warnings of ${message.mentions.users.first().username}`
- );
- }
-};
diff --git a/commands/moderation/setNickname.js b/commands/moderation/setNickname.js
deleted file mode 100644
index 16c81a7..0000000
--- a/commands/moderation/setNickname.js
+++ /dev/null
@@ -1,54 +0,0 @@
-const { MessageEmbed } = require('discord.js');
-const db = require('quick.db');
-module.exports = {
- name: "setnick",
- aliases: ["sn", 'nick'],
- category: "moderation",
- description: "Sets Or Changes Nickname Of An User",
- usage: "[mention | name | nickname | ID] ",
- run: async (bot, message, args) => {
- if (!message.member.hasPermission("MANAGE_GUILD")) return message.channel.send("**You Dont Have Permissions To Change Nickname! - [MANAGE_GUILD]**");
-
- if (!message.guild.me.hasPermission("CHANGE_NICKNAME")) return message.channel.send("**I Dont Have Permissions To Change Nickname! - [CHANGE_NICKNAME]**");
-
- if (!args[0]) return message.channel.send("**Please Enter A User!**")
-
- let member = message.mentions.members.first() || message.guild.members.cache.get(args[0]) || message.guild.members.cache.find(r => r.user.username.toLowerCase() === args[0].toLocaleLowerCase()) || message.guild.members.cache.find(ro => ro.displayName.toLowerCase() === args[0].toLocaleLowerCase()) || message.member;
- if (!member) return message.channel.send("**Please Enter A Username!**");
-
- if (member.roles.highest.comparePositionTo(message.guild.me.roles.highest) >= 0) return message.channel.send('**Cannot Set or Change Nickname Of This User!**')
-
- if (!args[1]) return message.channel.send("**Please Enter A Nickname**");
-
- let nick = args.slice(1).join(' ');
-
- try {
- member.setNickname(nick)
- const embed = new MessageEmbed()
- .setColor("GREEN")
- .setDescription(`**Changed Nickname of ${member.displayName} to ${nick}**`)
- message.channel.send(embed)
- } catch {
- return message.channel.send("**Missing Permissions - [CHANGE_NICKNAME]")
- }
-
- let channel = db.fetch(`modlog_${message.guild.id}`)
- if (!channel) return;
-
- const sembed = new MessageEmbed()
- .setAuthor(`${message.guild.name} Modlogs`, message.guild.iconURL())
- .setColor("#ff0000")
- .setThumbnail(member.user.displayAvatarURL({ dynamic: true }))
- .setFooter(message.guild.name, message.guild.iconURL())
- .addField("**Moderation**", "setnick")
- .addField("**Nick Changed Of**", member.user.username)
- .addField("**Nick Changed By**", message.author.username)
- .addField("**Nick Changed To**", args[1])
- .addField("**Date**", message.createdAt.toLocaleString())
- .setTimestamp();
-
- var sChannel = message.guild.channels.cache.get(channel)
- if (!sChannel) return;
- sChannel.send(sembed)
- }
-}
\ No newline at end of file
diff --git a/commands/moderation/setmodlog.js b/commands/moderation/setmodlog.js
deleted file mode 100644
index 618976f..0000000
--- a/commands/moderation/setmodlog.js
+++ /dev/null
@@ -1,41 +0,0 @@
-const db = require("quick.db")
-
-module.exports = {
- name: "setmodlog",
- description: "set mod log cgannel",
- category: "moderation",
-
- run: async (bot, message, args) => {
- if (!message.member.hasPermission("ADMINISTRATOR")) return message.channel.send("**You Do Not Have The Required Permissions! - [ADMINISTRATOR]**")
- if (!args[0]) {
- let b = await db.fetch(`modlog_${message.guild.id}`);
- let channelName = message.guild.channels.cache.get(b);
- if (message.guild.channels.cache.has(b)) {
- return message.channel.send(
- `**Modlog Channel Set In This Server Is \`${channelName.name}\`!**`
- );
- } else
- return message.channel.send(
- "**Please Enter A Channel Name or ID To Set!**"
- );
- }
- let channel = message.mentions.channels.first() || bot.guilds.cache.get(message.guild.id).channels.cache.get(args[0]) || message.guild.channels.cache.find(c => c.name.toLowerCase() === args.join(' ').toLocaleLowerCase());
-
- if (!channel || channel.type !== 'text') return message.channel.send("**Please Enter A Valid Text Channel!**");
-
- try {
- let a = await db.fetch(`modlog_${message.guild.id}`)
-
- if (channel.id === a) {
- return message.channel.send("**This Channel is Already Set As Modlog Channel!**")
- } else {
- bot.guilds.cache.get(message.guild.id).channels.cache.get(channel.id).send("**Modlog Channel Set!**")
- db.set(`modlog_${message.guild.id}`, channel.id)
-
- message.channel.send(`**Modlog Channel Has Been Set Successfully in \`${channel.name}\`!**`)
- }
- } catch {
- return message.channel.send("**Error - `Missing Permissions Or Channel Is Not A Text Channel!`**");
- }
- }
-};
\ No newline at end of file
diff --git a/commands/moderation/slowmode.js b/commands/moderation/slowmode.js
deleted file mode 100644
index 75e8bed..0000000
--- a/commands/moderation/slowmode.js
+++ /dev/null
@@ -1,48 +0,0 @@
-module.exports = {
- name: "slowmode",
- category: "moderation",
- description: "Lets you set slowmode on the channel.",
- args: true,
- usage: "",
- run: (client, message, args) => {
- const amount = parseInt(args[0]);
- if (message.member.hasPermission("MANAGE_CHANNEL"))
- if (isNaN(amount))
- return message.channel.send(" 1) {
- message.channel.send("slowmode is now " + amount + " seconds");
- return;
- } else {
- message.channel.send("slowmode is now " + amount + " second");
- return;
- }
- }
- if (args[0] === amount + "min") {
- message.channel.setRateLimitPerUser(amount * 60);
- if (amount > 1) {
- message.channel.send("slowmode is now " + amount + " minutes");
- return;
- } else {
- message.channel.send("slowmode is now " + amount + " minute");
-
- return;
- }
- }
- if (args[0] === amount + "h") {
- message.channel.setRateLimitPerUser(amount * 60 * 60);
- if (amount > 1) {
- message.channel.send("slowmode is now " + amount + " hours");
- return;
- } else {
- message.channel.send("slowmode is now " + amount + " hour");
- return;
- }
- } else {
- message.channel.send(
- "You can only set seconds(s), minutes(min) and hours(h)"
- );
- }
- }
-};
diff --git a/commands/moderation/unlock.js b/commands/moderation/unlock.js
deleted file mode 100644
index 641027d..0000000
--- a/commands/moderation/unlock.js
+++ /dev/null
@@ -1,27 +0,0 @@
-const Discord = module.require("discord.js");
-
-module.exports = {
- name: "unlock",
- description: "Unlocks a Channel",
- usage: "unlock ",
- args: true,
- category: "moderation",
- permissions: "MANAGE_CHANNELS",
- run: async(client, message, args) => {
- if (!message.member.hasPermission('MANAGE_SERVER', 'MANAGE_CHANNELS')) {
- return message.channel.send("You don't have enough Permissions")
- }
- message.channel.overwritePermissions([
- {
- id: message.guild.id,
- null : ['SEND_MESSAGES'],
- },
- ],);
- const embed = new Discord.MessageEmbed()
- .setTitle("Channel Updates")
- .setDescription(`🔓 ${message.channel} has been Unlocked`)
- .setColor("RANDOM");
- await message.channel.send(embed);
- message.delete();
-}
-}
\ No newline at end of file
diff --git a/commands/moderation/unmute.js b/commands/moderation/unmute.js
deleted file mode 100644
index 88840e1..0000000
--- a/commands/moderation/unmute.js
+++ /dev/null
@@ -1,37 +0,0 @@
-const db = require("quick.db");
-
-module.exports = {
- name: "unmute",
- category: "moderation",
- run: async (client, message, args) => {
- if (!message.member.hasPermission("MANAGE_ROLES")) {
- return message.channel.send(
- "Sorry but you do not have permission to unmute anyone"
- );
- }
-
- if (!message.guild.me.hasPermission("MANAGE_ROLES")) {
- return message.channel.send("I do not have permission to manage roles.");
- }
-
- const user = message.mentions.members.first();
-
- if (!user) {
- return message.channel.send("Please mention the member to who you want to unmute");
- }
-
- let muterole = message.guild.roles.cache.find(x => x.name === "Muted");
-
- if (user.roles.cache.has(muterole)) {
- return message.channel.send("Given User do not have mute role so what i am suppose to take");
- }
-
- user.roles.remove(muterole)
-
- await message.channel.send(`**${message.mentions.users.first().username}** is now unmuted`);
-
- user.send(`You are now unmuted from **${message.guild.name}**`);
-
- message.delete()
- }
-};
diff --git a/commands/moderation/voicekick.js b/commands/moderation/voicekick.js
deleted file mode 100644
index f66c141..0000000
--- a/commands/moderation/voicekick.js
+++ /dev/null
@@ -1,24 +0,0 @@
-module.exports = {
- name: "voicekick",
- category: "moderation",
- run: async (client, message, args) => {
- if (!message.guild.me.hasPermission(["ADMINISTRATOR"]))
- return message.channel.send(
- "I Don't Have Proper Permissions To Use This Command!"
- );
-
- if (!message.mentions.members.first())
- return message.channel.send(
- `Please Mention User That You Want To Kick From Voice Channel!`
- );
-
- let { channel } = message.mentions.members.first().voice;
-
- if (!channel)
- return message.channel.send(`User Is Not In Any Voice Channel!`);
-
- message.mentions.members.first().voice.kick();
-
- message.channel.send(`User Has Been Kicked From Voice Channel!`)
- }
-};
\ No newline at end of file
diff --git a/commands/moderation/warn.js b/commands/moderation/warn.js
deleted file mode 100644
index 3033f1f..0000000
--- a/commands/moderation/warn.js
+++ /dev/null
@@ -1,70 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-const db = require("quick.db");
-
-module.exports = {
- name: "warn",
- category: "moderation",
- usage: "warn <@mention> ",
- description: "Warn anyone who do not obey the rules",
- run: async (client, message, args) => {
- if (!message.member.hasPermission("ADMINISTRATOR")) {
- return message.channel.send(
- "You should have admin perms to use this command!"
- );
- }
-
- const user = message.mentions.members.first();
-
- if (!user) {
- return message.channel.send(
- "Please Mention the person to who you want to warn - warn @mention "
- );
- }
-
- if (message.mentions.users.first().bot) {
- return message.channel.send("You can not warn bots");
- }
-
- if (message.author.id === user.id) {
- return message.channel.send("You can not warn yourself");
- }
-
- if (user.id === message.guild.owner.id) {
- return message.channel.send(
- "You jerk, how you can warn server owner -_-"
- );
- }
-
- const reason = args.slice(1).join(" ");
-
- if (!reason) {
- return message.channel.send(
- "Please provide reason to warn - warn @mention "
- );
- }
-
- let warnings = db.get(`warnings_${message.guild.id}_${user.id}`);
-
- if (warnings === null) {
- db.set(`warnings_${message.guild.id}_${user.id}`, 1);
- user.send(
- `You have been warned in **${message.guild.name}** for ${reason}`
- );
- await message.channel.send(
- `You warned **${
- message.mentions.users.first().username
- }** for ${reason}`
- );
- } else if(warnings !== null) {
-
- db.add(`warnings_${message.guild.id}_${user.id}`, 1);
-
- user.send(`You have been warned in **${message.guild.name}** for ${reason}`);
-
- await message.channel.send(`You warned **${message.mentions.users.first().username}** for ${reason}`);
-
- message.delete
-
- }
- }
-};
diff --git a/commands/moderation/warning.js b/commands/moderation/warning.js
deleted file mode 100644
index 045056d..0000000
--- a/commands/moderation/warning.js
+++ /dev/null
@@ -1,16 +0,0 @@
-const db = require("quick.db");
-
-module.exports = {
- name: "warnings",
- description: "Get the warnings of yours or mentioned person",
- category: "moderation",
- run: (client, message, args) => {
- const user = message.mentions.members.first() || message.author;
-
- let warnings = db.get(`warnings_${message.guild.id}_${user.id}`);
-
- if (warnings === null) warnings = 0;
-
- message.channel.send(`${user} have **${warnings}** warning(s)`);
- }
-};
diff --git a/commands/moderation/welcome.js b/commands/moderation/welcome.js
deleted file mode 100644
index e1b7aca..0000000
--- a/commands/moderation/welcome.js
+++ /dev/null
@@ -1,25 +0,0 @@
-const Discord = require("discord.js")
-const db = require("quick.db")
-
-module.exports = {
- name: "setwelcome",
- category: "moderation",
- usage: "setwelcome <#channel>",
- description: "Set the welcome channel",
- run: (client, message, args) => {
- if (!message.member.hasPermission("ADMINISTRATION")) {
- return message.channel.send("sorry you need permission to a");
- }
- let channel = message.mentions.channels.first()
-
- if(!channel) {
- return message.channel.send("Please Mention the channel first")
- }
-
- //Now we gonna use quick.db
-
- db.set(`welchannel_${message.guild.id}`, channel.id)
-
- message.channel.send(`Welcome Channel is seted as ${channel}`)
- }
-}
\ No newline at end of file
diff --git a/commands/music/Loop.js b/commands/music/Loop.js
deleted file mode 100644
index 95895b3..0000000
--- a/commands/music/Loop.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-
-module.exports = {
- name: 'loop', // Optional
- aliases: [], // Optional
- category: 'Music',
- description: 'Loop the queue',
- run: async (client, message, args) => {
- const voice_channel = message.member.voice.channel;
- const embed = new MessageEmbed()
- .setColor('#FF5757')
- .setDescription(`You need to be in a vc to execute this command!`)
- if (!voice_channel) return message.channel.send(embed);
- // Enable repeat mode
- let status = client.player.setQueueRepeatMode(message, true);
- const loop = new MessageEmbed()
- .setColor('#85b0d2')
- .setDescription(`Queue will be repeated indefinitely!`)
- if(status === null)
- return;
- message.channel.send(loop);
- }
-}
\ No newline at end of file
diff --git a/commands/music/clear.js b/commands/music/clear.js
deleted file mode 100644
index 5d9cb86..0000000
--- a/commands/music/clear.js
+++ /dev/null
@@ -1,21 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-
-module.exports = {
- name: 'clear', // Optional
- aliases: ['clearqueue', 'clear-queue'], // Optional
- category: 'Music',
- description: 'Clears the queue',
- run: async (client, message, args) => {
- const voice_channel = message.member.voice.channel;
- const embed = new MessageEmbed()
- .setColor('#FF5757')
- .setDescription(`You need to be in a vc to execute this command!`)
- const embed1 = new MessageEmbed()
- .setColor('#85b0d2')
- .setDescription('Queue was cleared!')
- if (!voice_channel) return message.channel.send(embed);
- let isDone = client.player.clearQueue(message);
- if(isDone)
- message.channel.send(embed1);
- }
-}
\ No newline at end of file
diff --git a/commands/music/disable-loop.js b/commands/music/disable-loop.js
deleted file mode 100644
index 3a73e70..0000000
--- a/commands/music/disable-loop.js
+++ /dev/null
@@ -1,24 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-
-module.exports = {
- name: 'disable-loop', // Optional
- aliases: [], // Optional
- category: 'Music',
- description: 'Stop looping the queue',
- run: async (client, message, args) => {
- const voice_channel = message.member.voice.channel;
- const embed = new MessageEmbed()
- .setColor('#FF5757')
- .setDescription(`You need to be in a vc to execute this command!`)
- if (!voice_channel) return message.channel.send(embed);
- // Disable repeat mode
- let status = client.player.setQueueRepeatMode(message, false);
-
- const disloop = new MessageEmbed()
- .setColor('#85b0d2')
- .setDescription(`Queue will not be longer repeated indefinitely!`)
- if(status === null)
- return;
- message.channel.send(disloop);
- }
-}
\ No newline at end of file
diff --git a/commands/music/join.js b/commands/music/join.js
deleted file mode 100644
index c09f97c..0000000
--- a/commands/music/join.js
+++ /dev/null
@@ -1,18 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-
-module.exports = {
- name: 'join', // Optional
- aliases: [], // Optional
- category: 'Music',
- description: 'Join the voice channel!',
- run: async (client, message, args) => {
- const voiceChannel = message.member.voice.channel;
- const embed = new MessageEmbed()
- .setColor('#FF5757')
- .setDescription(`You need to be in a vc to execute this command!`)
- if(!voiceChannel) return message.channel.send(embed)
- voiceChannel.join()
- message.react('🪐')
-
- }
-}
\ No newline at end of file
diff --git a/commands/music/leave.js b/commands/music/leave.js
deleted file mode 100644
index ca13e41..0000000
--- a/commands/music/leave.js
+++ /dev/null
@@ -1,19 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-
-module.exports = {
- name: 'leave', // Optional
- aliases: [], // Optional
- category: 'Music',
- description: 'Leaves the voice channel!',
-
- run: async (client, message, args) => {
- const voiceChannel = message.member.voice.channel;
- const embed = new MessageEmbed()
- .setColor('#FF5757')
- .setDescription(`You need to be in a vc to execute this command!`)
- if(!voiceChannel) return message.channel.send(embed)
- voiceChannel.leave()
- message.react('🪐')
-
- }
-}
\ No newline at end of file
diff --git a/commands/music/np.js b/commands/music/np.js
deleted file mode 100644
index a10a78d..0000000
--- a/commands/music/np.js
+++ /dev/null
@@ -1,37 +0,0 @@
-const { MessageEmbed } = require('discord.js')
-
-module.exports = {
- name: 'nowplaying', // Optional
- aliases: ['np'], // Optional
- category: 'Music',
- description: 'Gives info about the song that its being played and the progress of it',
- run: async (client, message, args) => {
- const voice_channel = message.member.voice.channel;
- const embed = new MessageEmbed()
- .setColor('#FF5757')
- .setDescription(`You need to be in a vc to execute this command!`)
- if (!voice_channel) return message.channel.send(embed);
- let progressBar = client.player.createProgressBar(message, {
- size: 20,
- block: '▬',
- arrow: '🔘'
-
-
-
- });
- let song = await client.player.nowPlaying(message)
- const bar = new MessageEmbed()
- .setColor('#85b0d2')
- .setTitle(`${song.name}`)
- .setURL('https://www.youtube.com/watch?v=dQw4w9WgXcQ')
- .setDescription(`⋆ Requested by ${message.author}
- \`${progressBar}\``)
-
- if(progressBar)
-
-
-
-
- message.channel.send(bar);
- }
-}
\ No newline at end of file
diff --git a/commands/music/play.js b/commands/music/play.js
deleted file mode 100644
index 881d61e..0000000
--- a/commands/music/play.js
+++ /dev/null
@@ -1,40 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-const ytsr = require('ytsr');
-module.exports = {
- name: 'play',
- aliases: ['p'], // Optional
- category: 'Music',
- description: 'Play a song in the vc',
- run: async (client, message, args) => {
- const voice_channel = message.member.voice.channel;
- const embed = new MessageEmbed()
- .setColor('#FF5757')
- .setDescription(`You need to be in a vc to execute this command!`)
- if (!voice_channel) return message.channel.send(embed);
-
- if(client.player.isPlaying(message)) {
- let song = await client.player.addToQueue(message, args.join(' '));
-
- const added = new MessageEmbed()
- .setColor('#85b0d2')
- .setDescription(`Added **${song.name}** to the queue`)
-
-
- // If there were no errors the Player#songAdd event will fire and the song will not be null.
- if(song)
- message.channel.send(added);
- return;
- } else {
- let song = await client.player.play(message, args.join(' '));
-
- const started = new MessageEmbed()
- .setColor('#85b0d2')
- .setDescription(`Started playing **${song.name}**`)
-
- // If there were no errors the Player#songAdd event will fire and the song will not be null.
- if(song)
- message.channel.send(started);
- return;
- }
- }
-}
\ No newline at end of file
diff --git a/commands/music/playlist.js b/commands/music/playlist.js
deleted file mode 100644
index fe6fafc..0000000
--- a/commands/music/playlist.js
+++ /dev/null
@@ -1,20 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-
-module.exports = {
- name: 'playlist',
- aliases: ['plist'], // Optional
- category: 'Music',
- description: 'Play a playlist in the vc',
- run: async (client, message, args) => {
- const voice_channel = message.member.voice.channel;
- const embed = new MessageEmbed()
- .setColor('#FF5757')
- .setDescription(`You need to be in a vc to execute this command!`)
- if (!voice_channel) return message.channel.send(embed);
- // If maxSongs is -1, will be infinite.
- await client.player.playlist(message, {
- search: args.join(' '),
- maxSongs: -1
- });
- }
-}
\ No newline at end of file
diff --git a/commands/music/push.js b/commands/music/push.js
deleted file mode 100644
index 899cdd0..0000000
--- a/commands/music/push.js
+++ /dev/null
@@ -1,22 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-
-module.exports = {
- name: 'pause', // Optional
- aliases: ['paus'], // Optional
- category: 'Music',
- description: 'Pause the queue',
- run: async (client, message, args) => {
- const voice_channel = message.member.voice.channel;
- const embed = new MessageEmbed()
- .setColor('#FF5757')
- .setDescription(`You need to be in a vc to execute this command!`)
- if (!voice_channel) return message.channel.send(embed);
- let song = client.player.pause(message);
- const pause = new MessageEmbed()
- .setColor('#85b0d2')
- .setDescription(`**${song.name}** was paused!`)
- if(song)
-
- message.channel.send(pause);
- }
-}
\ No newline at end of file
diff --git a/commands/music/queue.js b/commands/music/queue.js
deleted file mode 100644
index dd5d60a..0000000
--- a/commands/music/queue.js
+++ /dev/null
@@ -1,21 +0,0 @@
-
-const { MessageEmbed } = require("discord.js");
-
-module.exports = {
- name: 'queue', // Optional
- aliases: ['q'], // Optional
- category: 'Music',
- description: 'Gives you info about the server queue',
- run: async (client, message, args) => {
- const voice_channel = message.member.voice.channel;
- const embed = new MessageEmbed()
- .setColor('#FF5757')
- .setDescription(`You need to be in a vc to execute this command!`)
- if (!voice_channel) return message.channel.send(embed);
- let queue = client.player.getQueue(message);
- if(queue)
- message.channel.send('Queue:\n'+(queue.songs.map((song, i) => {
- return `${i === 0 ? 'Now Playing' : `#${i+1}`} - ${song.name} | ${song.author}`
- }).join('\n')));
- }
-}
\ No newline at end of file
diff --git a/commands/music/resume.js b/commands/music/resume.js
deleted file mode 100644
index a87a36b..0000000
--- a/commands/music/resume.js
+++ /dev/null
@@ -1,21 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-
-module.exports = {
- name: 'resume', // Optional
- aliases: ['resume'], // Optional
- category: 'Music',
- description: 'Resume the song that was paused',
- run: async (client, message, args) => {
- const voice_channel = message.member.voice.channel;
- const embed = new MessageEmbed()
- .setColor('#FF5757')
- .setDescription(`You need to be in a vc to execute this command!`)
- if (!voice_channel) return message.channel.send(embed);
- let song = client.player.resume(message);
- const resume = new MessageEmbed()
- .setColor('#85b0d2')
- .setDescription(`**${song.name}** was resumed!`)
- if(song)
- message.channel.send(resume);
- }
-}
\ No newline at end of file
diff --git a/commands/music/shuffle.js b/commands/music/shuffle.js
deleted file mode 100644
index bdc30b2..0000000
--- a/commands/music/shuffle.js
+++ /dev/null
@@ -1,21 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-
-module.exports = {
- name: 'shuffle', // Optional
- aliases: ['sh'], // Optional
- category: 'Music',
- description: 'Shuffle the queue',
- run: async (client, message, args) => {
- const voice_channel = message.member.voice.channel;
- const embed = new MessageEmbed()
- .setColor('#FF5757')
- .setDescription(`You need to be in a vc to execute this command!`)
- if (!voice_channel) return message.channel.send(embed);
- let songs = client.player.shuffle(message);
- const shuffle = new MessageEmbed()
- .setColor('#85b0d2')
- .setDescription('Server Queue was shuffled.')
- if(songs)
- message.channel.send(shuffle);
- }
-}
\ No newline at end of file
diff --git a/commands/music/skip.js b/commands/music/skip.js
deleted file mode 100644
index fcef241..0000000
--- a/commands/music/skip.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-
-module.exports = {
- name: 'skip', // Optional
- aliases: ['sk'], // Optional
- category: 'Music',
- description: 'Skip the song that its playing.',
- run: async (client, message, args) => {
- const voice_channel = message.member.voice.channel;
- const embed = new MessageEmbed()
- .setColor('#FF5757')
- .setDescription(`You need to be in a vc to execute this command!`)
- if(!client.player.isPlaying(message)) {
- message.channel.send('Unknow Radio must be playing in order to skip the track');
-
- return;
- }
-
- await client.player.skip(message);
-
- message.channel.send('Skipped');
- },
-};
\ No newline at end of file
diff --git a/commands/music/stop.js b/commands/music/stop.js
deleted file mode 100644
index 88e1a81..0000000
--- a/commands/music/stop.js
+++ /dev/null
@@ -1,21 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-
-module.exports = {
- name: 'stop', // Optional
- category: 'Music',
- description: 'Clears the queue and leave the vc',
- aliases: ['st'], // Optional
- run: async (client, message, args) => {
- const voice_channel = message.member.voice.channel;
- const embed = new MessageEmbed()
- .setColor('#FF5757')
- .setDescription(`You need to be in a vc to execute this command!`)
- if (!voice_channel) return message.channel.send(embed);
- let isDone = client.player.stop(message);
- const stop = new MessageEmbed()
- .setColor('#85b0d2')
- .setDescription('Music stopped & the queue was cleared!')
- if(isDone)
- message.channel.send(stop);
- }
-}
\ No newline at end of file
diff --git a/commands/music/volume.js b/commands/music/volume.js
deleted file mode 100644
index c2399d7..0000000
--- a/commands/music/volume.js
+++ /dev/null
@@ -1,21 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-
-module.exports = {
- name: 'volume', // Optional
- category: 'Music',
- description: 'Set the volume of the bot in the vc',
- aliases: ['setvolume'], // Optional
- run: async (client, message, args) => {
- const voice_channel = message.member.voice.channel;
- const embed = new MessageEmbed()
- .setColor('#FF5757')
- .setDescription(`You need to be in a vc to execute this command!`)
- if (!voice_channel) return message.channel.send(embed);
- let isDone = client.player.setVolume(message, parseInt(args[0]));
- const volume = new MessageEmbed()
- .setColor('#85b0d2')
- .setDescription(`Volume set to ${args[0]}%!`)
- if(isDone)
- message.channel.send(volume);
- }
-}
\ No newline at end of file
diff --git a/commands/nsfw/ass.js b/commands/nsfw/ass.js
deleted file mode 100644
index 79c379c..0000000
--- a/commands/nsfw/ass.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const discord = require("discord.js");
-const akaneko = require('akaneko');
-
-module.exports = {
- name: "ass",
- aliases: [],
- category: "nsfw",
- description: "Get some wallpapers",
- run: async (client, message, args) => {
-
- if(!message.channel.nsfw) {
- return message.reply("This channel dosen't support nsfw content")
-
- } else {
-
- let akanekoSan = new discord.MessageEmbed()
- akanekoSan.setColor("RANDOM")
- akanekoSan.setImage(akaneko.nsfw.ass());
- return message.channel.send(akanekoSan);
-
- }
- }
-}
\ No newline at end of file
diff --git a/commands/nsfw/bdsm.js b/commands/nsfw/bdsm.js
deleted file mode 100644
index f4b9776..0000000
--- a/commands/nsfw/bdsm.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const discord = require("discord.js");
-const akaneko = require('akaneko');
-
-module.exports = {
- name: "bdsm",
- aliases: [],
- category: "nsfw",
- description: "Get some wallpapers",
- run: async (client, message, args) => {
-
- if(!message.channel.nsfw) {
- return message.reply("This channel dosen't support nsfw content")
-
- } else {
-
- let akanekoSan = new discord.MessageEmbed()
- akanekoSan.setColor("RANDOM")
- akanekoSan.setImage(akaneko.nsfw.bdsm());
- return message.channel.send(akanekoSan);
-
- }
- }
-}
\ No newline at end of file
diff --git a/commands/nsfw/cum.js b/commands/nsfw/cum.js
deleted file mode 100644
index 8bdc2c4..0000000
--- a/commands/nsfw/cum.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const discord = require("discord.js");
-const akaneko = require('akaneko');
-
-module.exports = {
- name: "cum",
- aliases: [],
- category: "nsfw",
- description: "Get some wallpapers",
- run: async (client, message, args) => {
-
- if(!message.channel.nsfw) {
- return message.reply("This channel dosen't support nsfw content")
-
- } else {
-
- let akanekoSan = new discord.MessageEmbed()
- akanekoSan.setColor("RANDOM")
- akanekoSan.setImage(akaneko.nsfw.cum());
- return message.channel.send(akanekoSan);
-
- }
- }
-}
\ No newline at end of file
diff --git a/commands/nsfw/doujin.js b/commands/nsfw/doujin.js
deleted file mode 100644
index d54b900..0000000
--- a/commands/nsfw/doujin.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const discord = require("discord.js");
-const akaneko = require('akaneko');
-
-module.exports = {
- name: "doujin",
- aliases: [],
- category: "nsfw",
- description: "Get some wallpapers",
- run: async (client, message, args) => {
-
- if(!message.channel.nsfw) {
- return message.reply("This channel dosen't support nsfw content")
-
- } else {
-
- let akanekoSan = new discord.MessageEmbed()
- akanekoSan.setColor("RANDOM")
- akanekoSan.setImage(akaneko.nsfw.doujin());
- return message.channel.send(akanekoSan);
-
- }
- }
-}
\ No newline at end of file
diff --git a/commands/nsfw/femdom.js b/commands/nsfw/femdom.js
deleted file mode 100644
index c75d490..0000000
--- a/commands/nsfw/femdom.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const discord = require("discord.js");
-const akaneko = require('akaneko');
-
-module.exports = {
- name: "femdom",
- aliases: [],
- category: "nsfw",
- description: "Get some wallpapers",
- run: async (client, message, args) => {
-
- if(!message.channel.nsfw) {
- return message.reply("This channel dosen't support nsfw content")
-
- } else {
-
- let akanekoSan = new discord.MessageEmbed()
- akanekoSan.setColor("RANDOM")
- akanekoSan.setImage(akaneko.nsfw.femdom());
- return message.channel.send(akanekoSan);
-
- }
- }
-}
\ No newline at end of file
diff --git a/commands/nsfw/hentai.js b/commands/nsfw/hentai.js
deleted file mode 100644
index 296d756..0000000
--- a/commands/nsfw/hentai.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const discord = require("discord.js");
-const akaneko = require('akaneko');
-
-module.exports = {
- name: "hentai",
- aliases: [],
- category: "nsfw",
- description: "Get some wallpapers",
- run: async (client, message, args) => {
-
- if(!message.channel.nsfw) {
- return message.reply("This channel dosen't support nsfw content")
-
- } else {
-
- let akanekoSan = new discord.MessageEmbed()
- akanekoSan.setColor("RANDOM")
- akanekoSan.setImage(akaneko.nsfw.hentai());
- return message.channel.send(akanekoSan);
-
- }
- }
-}
\ No newline at end of file
diff --git a/commands/nsfw/maid.js b/commands/nsfw/maid.js
deleted file mode 100644
index 7c4cedc..0000000
--- a/commands/nsfw/maid.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const discord = require("discord.js");
-const akaneko = require('akaneko');
-
-module.exports = {
- name: "maid",
- aliases: [],
- category: "nsfw",
- description: "Get some wallpapers",
- run: async (client, message, args) => {
-
- if(!message.channel.nsfw) {
- return message.reply("This channel dosen't support nsfw content")
-
- } else {
-
- let akanekoSan = new discord.MessageEmbed()
- akanekoSan.setColor("RANDOM")
- akanekoSan.setImage(akaneko.nsfw.maid());
- return message.channel.send(akanekoSan);
-
- }
- }
-}
\ No newline at end of file
diff --git a/commands/nsfw/nmw.js b/commands/nsfw/nmw.js
deleted file mode 100644
index 2bab3c7..0000000
--- a/commands/nsfw/nmw.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const discord = require("discord.js");
-const akaneko = require('akaneko');
-
-module.exports = {
- name: "nsfwwallpapers",
- aliases: ["nmw", "nsfwmobilewallpapers", "nsfwmwall"],
- category: "nsfw",
- description: "Get some wallpapers",
- run: async (client, message, args) => {
-
- if(!message.channel.nsfw) {
- return message.reply("This channel dosen't support nsfw content")
-
- } else {
-
- let akanekoSan = new discord.MessageEmbed()
- akanekoSan.setColor("RANDOM")
- akanekoSan.setImage(akaneko.nsfw.mobileWallpapers());
- return message.channel.send(akanekoSan);
-
- }
- }
-}
\ No newline at end of file
diff --git a/commands/nsfw/nsfw.js b/commands/nsfw/nsfw.js
deleted file mode 100644
index 7879e50..0000000
--- a/commands/nsfw/nsfw.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const discord = require("discord.js");
-const akaneko = require('akaneko');
-
-module.exports = {
- name: "nsfw",
- aliases: [],
- category: "nsfw",
- description: "Get some wallpapers",
- run: async (client, message, args) => {
-
- if(!message.channel.nsfw) {
- return message.reply("This channel dosen't support nsfw content")
-
- } else {
-
- let akanekoSan = new discord.MessageEmbed()
- akanekoSan.setColor("RANDOM")
- akanekoSan.setImage(akaneko.lewdneko());
- return message.channel.send(akanekoSan);
-
- }
- }
-}
\ No newline at end of file
diff --git a/commands/nsfw/orgy.js b/commands/nsfw/orgy.js
deleted file mode 100644
index c2b2499..0000000
--- a/commands/nsfw/orgy.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const discord = require("discord.js");
-const akaneko = require('akaneko');
-
-module.exports = {
- name: "orgy",
- aliases: [],
- category: "nsfw",
- description: "Get some wallpapers",
- run: async (client, message, args) => {
-
- if(!message.channel.nsfw) {
- return message.reply("This channel dosen't support nsfw content")
-
- } else {
-
- let akanekoSan = new discord.MessageEmbed()
- akanekoSan.setColor("RANDOM")
- akanekoSan.setImage(akaneko.nsfw.orgy());
- return message.channel.send(akanekoSan);
-
- }
- }
-}
\ No newline at end of file
diff --git a/commands/nsfw/panty.js b/commands/nsfw/panty.js
deleted file mode 100644
index 8ed0e5a..0000000
--- a/commands/nsfw/panty.js
+++ /dev/null
@@ -1,23 +0,0 @@
-const discord = require("discord.js");
-const akaneko = require('akaneko');
-
-module.exports = {
- name: "panties",
- aliases: ["panty"],
- category: "nsfw",
- description: "Get some wallpapers",
- run: async (client, message, args) => {
-
- if(!message.channel.nsfw) {
- return message.reply("This channel dosen't support nsfw content")
-
- } else {
-
- let akanekoSan = new discord.MessageEmbed()
- akanekoSan.setColor("RANDOM")
- akanekoSan.setImage(akaneko.nsfw.panties());
- return message.channel.send(akanekoSan);
-
- }
- }
-}
\ No newline at end of file
diff --git a/commands/owner/Serverlist.js b/commands/owner/Serverlist.js
deleted file mode 100644
index 3da2c10..0000000
--- a/commands/owner/Serverlist.js
+++ /dev/null
@@ -1,131 +0,0 @@
-const Discord = require("discord.js");
-const ownerid = "682981714523586606";
-
-module.exports = {
- name: "serverlist",
- aliases: ["slt"],
- category: "owner",
- description: "Displays the list of Servers!",
- usage: " ",
-
- run: async (bot, message, args) => {
- if (message.author.id == ownerid) {
- if (!message.guild.me.hasPermission("ADMINISTRATOR"))
- return message.channel
- .send("I Dont Have Permissions")
- .then(msg => msg.delete({ timeout: 5000 }));
-
- let i0 = 0;
- let i1 = 10;
- let page = 1;
-
- let description =
- `Total Servers - ${bot.guilds.cache.size}\n\n` +
- bot.guilds.cache
- .sort((a, b) => b.memberCount - a.memberCount)
- .map(r => r)
- .map((r, i) => `**${i + 1}** - ${r.name} | ${r.memberCount} Members\nID - ${r.id}`)
- .slice(0, 10)
- .join("\n\n");
-
- let embed = new Discord.MessageEmbed()
- .setAuthor(bot.user.tag, bot.user.displayAvatarURL({dynamic : true}))
-
- .setColor("00FFFF")
- .setFooter(`Page - ${page}/${Math.ceil(bot.guilds.cache.size / 10)}`)
- .setDescription(description);
-
- let msg = await message.channel.send(embed);
-
- await msg.react("⬅");
- await msg.react("➡");
- await msg.react("❌");
-
- let collector = msg.createReactionCollector(
- (reaction, user) => user.id === message.author.id
- );
-
- collector.on("collect", async (reaction, user) => {
- if (reaction._emoji.name === "⬅") {
- // Updates variables
- i0 = i0 - 10;
- i1 = i1 - 10;
- page = page - 1;
-
- // if there is no guild to display, delete the message
- if (i0 + 1 < 0) {
- console.log(i0)
- return msg.delete();
- }
- if (!i0 || !i1) {
- return msg.delete();
- }
-
- description =
- `Total Servers - ${bot.guilds.cache.size}\n\n` +
- bot.guilds.cache
- .sort((a, b) => b.memberCount - a.memberCount)
- .map(r => r)
- .map(
- (r, i) => `**${i + 1}** - ${r.name} | ${r.memberCount} Members\nID - ${r.id}`)
- .slice(i0, i1)
- .join("\n\n");
-
- // Update the embed with new informations
- embed
- .setFooter(
- `Page - ${page}/${Math.round(bot.guilds.cache.size / 10 + 1)}`
- )
- .setDescription(description);
-
- // Edit the message
- msg.edit(embed);
- }
-
- if (reaction._emoji.name === "➡") {
- // Updates variables
- i0 = i0 + 10;
- i1 = i1 + 10;
- page = page + 1;
-
- // if there is no guild to display, delete the message
- if (i1 > bot.guilds.cache.size + 10) {
- return msg.delete();
- }
- if (!i0 || !i1) {
- return msg.delete();
- }
-
- description =
- `Total Servers - ${bot.guilds.cache.size}\n\n` +
- bot.guilds.cache
- .sort((a, b) => b.memberCount - a.memberCount)
- .map(r => r)
- .map(
- (r, i) => `**${i + 1}** - ${r.name} | ${r.memberCount} Members\nID - ${r.id}`)
- .slice(i0, i1)
- .join("\n\n");
-
- // Update the embed with new informations
- embed
- .setFooter(
- `Page - ${page}/${Math.round(bot.guilds.cache.size / 10 + 1)}`
- )
- .setDescription(description);
-
- // Edit the message
- msg.edit(embed);
- }
-
- if (reaction._emoji.name === "❌") {
- return msg.delete();
- }
-
- // Remove the reaction when the user react to the message
- await reaction.users.remove(message.author.id);
- });
- } else {
- return;
- }
- }
-};
\ No newline at end of file
diff --git a/commands/owner/eval.js b/commands/owner/eval.js
deleted file mode 100644
index 3e8c439..0000000
--- a/commands/owner/eval.js
+++ /dev/null
@@ -1,43 +0,0 @@
-const { MessageEmbed } = require('discord.js');
-const Discord = require('discord.js');
-const client = new Discord.Client()
-module.exports = {
- name: 'eval',
- category: 'owner',
- run: async (client, message, args) => {
- if (message.author.id !== '682981714523586606') return message.channel.send("You do not have permission to use this command!");
- const embed = new MessageEmbed()
- .setTitle('Evaluating...')
- const msg = await message.channel.send(embed);
- try {
- const data = eval(args.join(' ').replace(/```/g, ''));
- const embed = new MessageEmbed()
- .setTitle('output:')
- .setDescription(await data)
- .setColor('GREEN')
- await msg.edit(embed)
- await msg.react('✅')
- await msg.react('❌')
- const filter = (reaction, user) => (reaction.emoji.name === '❌' || reaction.emoji.name === '✅') && (user.id === message.author.id);
- msg.awaitReactions(filter, { max: 1 })
- .then((collected) => {
- collected.map((emoji) => {
- switch (emoji._emoji.name) {
- case '✅':
- msg.reactions.removeAll();
- break;
- case '❌':
- msg.delete()
- break;
- }
- })
- })
- } catch (e) {
- const embed = new MessageEmbed()
- .setTitle('error')
- .setDescription(e)
- .setColor("#FF0000")
- return await msg.edit(embed);
- }
- }
-}
\ No newline at end of file
diff --git a/commands/owner/getinv.js b/commands/owner/getinv.js
deleted file mode 100644
index 9ff99f3..0000000
--- a/commands/owner/getinv.js
+++ /dev/null
@@ -1,46 +0,0 @@
-const ownerid = "682981714523586606";
-
-module.exports = {
- name: "getinvite",
- aliases: ['getinv', 'gi'],
- category: "owner",
- description: "Generates an invitation to server in question.",
- usage: "[ID | name]",
-
- run: async(bot, message, args) => {
- if (message.author.id === ownerid) {
- let guild = null;
-
- if (!args[0]) return message.channel.send("Enter Guild Name or Guild ID of where you want Invite Link.")
-
- if(args[0]){
- let fetched = bot.guilds.cache.find(g => g.name === args.join(" "));
- let found = bot.guilds.cache.get(args[0]);
- if(!found) {
- if(fetched) {
- guild = fetched;
- }
- } else {
- guild = found
- }
- } else {
- return message.channel.send("That's the Invalid Guild Name");
- }
- if(guild){
- let tChannel = guild.channels.cache.find(ch => ch.type == "text" && ch.permissionsFor(ch.guild.me).has("CREATE_INSTANT_INVITE"));
- if(!tChannel) {
- return message.channel.send("Sorry, I doesn't have CREATE_INSTANT_INVITE Permission There!");
- }
- let invite = await tChannel.createInvite({ temporary: false, maxAge: 0 }).catch(err => {
- return message.channel.send(`${err} has occured!`);
- });
- message.channel.send(invite.url);
- } else {
- return message.channel.send(`\`${args.join(' ')}\` - I'm not in that Server.`);
- }
- } else {
- return;
- }
- }
-
-}
\ No newline at end of file
diff --git a/commands/owner/stats.js b/commands/owner/stats.js
deleted file mode 100644
index c65e124..0000000
--- a/commands/owner/stats.js
+++ /dev/null
@@ -1,60 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-module.exports = {
-name: "ainfo",
-description: "`Show detailed stats of bot`",
-category: "owner",
-aliases: ["detail"],
-run: async (client, message, args, level) => {
-//command
- if(message.author.id != 682981714523586606){
- const noperms = new MessageEmbed()
- .setDescription("<:astroz_wrong:825598313499459605> This Command Only Use By My Owner **Cwkhan ")
- .setColor("YELLOW");
- return message.channel.send(noperms)
- }
-
-let servers_count = message.client.guilds.cache.size;
-var myarray = [];
-message.client.guilds.cache.keyArray().forEach(async function(item, index) {
-
-let guildMember = message.client.guilds.cache.get(item).memberCount;
-myarray.push(guildMember)
-})
-let sum = myarray.reduce(function (a, b) {
-return a + b
-});
-
-let totalSeconds = message.client.uptime / 1000;
-let days = Math.floor(totalSeconds / 86400);
-totalSeconds %= 86400;
-let hours = Math.floor(totalSeconds / 3600);
-totalSeconds %= 3600;
-let minutes = Math.floor(totalSeconds / 60);
-let seconds = Math.floor(totalSeconds % 60);
-
-let uptime = `\`\`\`${days} days, ${hours} hours, ${minutes} minutes and ${seconds} seconds\`\`\``;
-
-let embed = new MessageEmbed()
-
-.setTitle(`**[Support Server]**`)
- .setDescription(`Hey My name is **${message.client.user.username}** and My Work is fun mode etc.`)
-
- .setTitle(`${message.client.user.username} Stats`)
- .addFields(
- { name: "<:servers:822736807883440161> Servers:", value: `\`\`\`${servers_count}\`\`\``, inline: true },
- { name: "<:users:822737049740247070> Users:", value: `\`\`\`${sum}\`\`\``, inline: true },
- { name: "<:astrozchannels:832228652569329665> Channels",value: `\`\`\`${message.client.channels.cache.size}\`\`\``, inline: true },
- { name: " Uptime: ", value: uptime , inline: true },
- { name: " Ping:",value: `\`\`\`${Math.round(message.client.ws.ping)} ms\`\`\``, inline: true },
- { name: "<:astroz_ram:822500018639994920> RAM: ", value: `\`\`\`${(process.memoryUsage().heapUsed / 1024 / 1024).toFixed(2)} MB\`\`\``, inline: true },
- { name: " Bot Owner:",value: `\`\`\`Cwkhan\`\`\``},
- )
- .setColor("3498DB")
- .setFooter("Thx For Choosing automodbot")
-
-return message.channel.send(embed);
- return message.react("<:astroz_correct:825597747800309770>");
-}
-};
-
-console.log("stats working")
\ No newline at end of file
diff --git a/commands/suggestion/reply.js b/commands/suggestion/reply.js
deleted file mode 100644
index fd079d2..0000000
--- a/commands/suggestion/reply.js
+++ /dev/null
@@ -1,87 +0,0 @@
-const Discord = require("discord.js");
-const { MessageEmbed } = require("discord.js");
-const db = require("quick.db");
-
-module.exports = {
- name: "sreply",
- category: "suggestion",
- run: async (client, message, args) => {
-
-let channel = await db.fetch(`suggestion_${message.guild.id}`);
-if (channel === null) return;
-
- if(!message.member.hasPermission('MANAGE_GUILD')) return;
-
- const rgx = /^(?:<@!?)?(\d+)>?$/;
-
- const messageID = args[0];
- const replyQuery = args.slice(1).join(' ');
-
- const number = new MessageEmbed()
- .setDescription(`<:bfdno:832931445991276584> | I don't think that was a Message ID!`)
- .setColor("FF2052")
-
- const id = new MessageEmbed()
- .setDescription(`<:bfdno:832931445991276584> |You forgot to specify Message ID!`)
- .setColor("FF2052")
-
- const query = new MessageEmbed()
- .setDescription(`<:bfdno:832931445991276584> | You forgot to specify the Reply!`)
- .setColor("FF2052")
-
- const reply = new MessageEmbed()
- .setDescription(`<:bfdyes:832931453892558848> | Successfully Replied the Suggestion.`)
- .setColor("00FFFF")
-
- const noChannel = new MessageEmbed()
- .setDescription(`<:bfdno:832931445991276584> | No Suggestion Channel found!`)
- .setColor("FF2052")
-
- const noMessage = new MessageEmbed()
- .setDescription(`<:bfdno:832931445991276584> | Didn't find any Message with that ID!`)
- .setColor("FF2052")
-
- if(!messageID) return message.channel.send(id);
-
- if (!rgx.test(messageID)) return message.channel.send(number);
-
- if(!replyQuery) return message.channel.send(query)
-
- try{
- const suggestionChannel = message.guild.channels.cache.get(channel)
-
- if(!suggestionChannel) return message.channel.send(noChannel)
-
- const suggestedEmbed = await suggestionChannel.messages.fetch(messageID).catch(error => {
- const noMessage = new MessageEmbed()
- .setDescription(`<:bfdno:832931445991276584> | Didn't find any Message with that ID!`)
- .setColor("FF2052")
- return message.channel.send(noMessage);
- })
-
- const data = suggestedEmbed.embeds[0];
-
- const replyEmbed = new MessageEmbed()
- .setAuthor(`${data.author.name}`, data.author.iconURL)
- .setDescription(data.description)
- .setColor("BLUE")
- .addField(`Reply from ${message.author.tag}`, replyQuery)
- .setFooter("Status: Replied")
- .setTimestamp();
-
- suggestedEmbed.edit(replyEmbed)
-
- message.channel.send(reply)
-
- const user = await client.users.cache.find((u) => u.tag === data.author.name)
-
- const embed = new MessageEmbed()
- .setDescription(`You have got a Reply over your Suggestion <:bfdyes:832931453892558848> . **[Message Link](https://discord.com/channels/${message.guild.id}/${channel}/${messageID})**`)
- .setColor("BLUE")
- user.send(embed)
-
- } catch(err) {
- return;
- }
- }
-}
\ No newline at end of file
diff --git a/commands/suggestion/setsuggest.js b/commands/suggestion/setsuggest.js
deleted file mode 100644
index 0665426..0000000
--- a/commands/suggestion/setsuggest.js
+++ /dev/null
@@ -1,29 +0,0 @@
-const Discord = require("discord.js");
-const { MessageEmbed } = require("discord.js");
-const db = require("quick.db");
-
-module.exports = {
- name: "setsuggest",
- category: "suggestion",
- usage: "setsuggest <#channel>",
- authorPermission: ["MANAGE_GUILD"],
- run: async (client, message, args) => {
-if (!message.member.hasPermission("MANAGE_GUILD")) {
- return message.channel.send(`You Don't Have Permission To Use This Command! Manage server`)
- }
- let Channel = message.mentions.channels.first() || message.guild.channels.cache.get(args[0]);
-
- if (!Channel) return message.channel.send(`Please Mention A Channel!`);
-
- if (Channel.type === "voice") return message.channel.send(`Please Mention A Text Channel!`);
-
- await db.set(`suggestion_${message.guild.id}`, Channel.id);
-
- let Embed = new MessageEmbed()
- .setColor("00FFFF")
- .setDescription(`Suggestion Channel is setted as <#${Channel.id}>`)
-
- return message.channel.send(Embed);
-
- }
-};
\ No newline at end of file
diff --git a/commands/suggestion/suggest.js b/commands/suggestion/suggest.js
deleted file mode 100644
index 577af6a..0000000
--- a/commands/suggestion/suggest.js
+++ /dev/null
@@ -1,36 +0,0 @@
-const Discord = require("discord.js");
-const { MessageEmbed } = require("discord.js");
-const db = require("quick.db");
-
-module.exports = {
- name: "suggest",
- category:"suggestion",
-
- run: async (client, message, args) => {
-
- let channel = await db.fetch(`suggestion_${message.guild.id}`);
- if (channel === null) return;
-
- const suggestionQuery = args.join(" ");
- if(!suggestionQuery) return message.reply("Please Suggest Something.");
-
- const embed = new MessageEmbed()
-
- .setAuthor(message.author.tag, message.author.displayAvatarURL({dynamic: true}))
- .setDescription(`${suggestionQuery}`)
- .setColor("00FFFF")
- .setFooter("Status: Pending")
- .setTimestamp();
-
- const done = new MessageEmbed()
- .setDescription(`<:bfdyes:832931453892558848> | Your suggestion is Submitted here, <#${channel}>\n\nNote: You agreed to get a DM on a reply over your Suggestion!`)
- .setColor("00FFFF")
-
- message.channel.send(done)
-
- let msgEmbed = await message.guild.channels.cache.get(channel).send(embed)
-
- await msgEmbed.react('<:upvote:832931955556745236>')
- await msgEmbed.react('<:downvote:832931677294428161> ')
- }
-}
\ No newline at end of file
diff --git a/commands/utility/discrim.js b/commands/utility/discrim.js
deleted file mode 100644
index 6dd587d..0000000
--- a/commands/utility/discrim.js
+++ /dev/null
@@ -1,98 +0,0 @@
-const discord = require("discord.js");
-const sourcebin = require('sourcebin_js');
-
-module.exports = {
- name: "discriminator",
- usage: `discrim 0007`,
- category: "utility",
- aliases: ["discrim"],
- run: async (client, message, args) => {
-
- let men = message.mentions.users.first();
-
- let discrims;
- let dis;
- let content;
-
- if (men) {
- discrims = client.users.cache.filter(user => user.discriminator === men.discriminator).map(user => user.tag);
-
- dis = client.users.cache.filter(user => user.discriminator === men.discriminator).map(user => user.discriminator);
- }
-
- if (!men) {
- if (args[0]) {
- discrims = client.users.cache.filter(user => user.discriminator === args[0].replace('#', "")).map(user => user.tag);
-
- dis = client.users.cache.filter(user => user.discriminator === args[0].replace('#', "")).map(user => user.discriminator);
- }
- }
-
- if (!args[0]) {
- discrims = client.users.cache.filter(user => user.discriminator === message.author.discriminator).map(user => user.tag);
-
- dis = client.users.cache.filter(user => user.discriminator === message.author.discriminator).map(user => user.discriminator);
- }
-
- if (!discrims.length) return message.reply("I can't find users with that discriminator");
-
- if (discrims[0]) {
- content = `\`#1\` - **${discrims[0]}**`
- }
-
- if (discrims[1]) {
- content += `\n#2 - ${discrims[1]}`
- }
-
- if (discrims[2]) {
- content += `\n#3 - ${discrims[2]}`
- }
-
- if (discrims[3]) {
- content = `\n#4 - ${discrims[3]}`
- }
-
- if (discrims[4]) {
- content = `\n#5 - ${discrims[4]}`
- }
-
- if (discrims[5]) {
- content = `\n#6 - ${discrims[5]}`
- }
-
- if (discrims[6]) {
- content = `\n#7 - ${discrims[6]}`
- }
-
- if (discrims[7]) {
- content = `\n#8 - ${discrims[7]}`
- }
-
- if (discrims[8]) {
- content = `\n#9 - ${discrims[8]}`
- }
-
- if (discrims[9]) {
- content = `\n#10 - ${discrims[9]}`
- }
-
- sourcebin.create([{
- name: `Discriminatorsâ€`,
- content: discrims.join('\n'),
- languageId: 'text'
- }])
- .then(src => {
-
- let embed = new discord.MessageEmbed()
- .setTitle(`Users with ${dis[0]}`)
- .setDescription(`${content}\n\n**[Url](${src.url})**`)
- .setFooter(`Found ${discrims.length} users`, client.user.displayAvatarURL())
-
- message.channel.send(embed);
- })
- .catch(e => {
- message.channel.send(`Error, try again later`)
- });
-
- }
-}
\ No newline at end of file
diff --git a/commands/utility/findemoji.js b/commands/utility/findemoji.js
deleted file mode 100644
index a19102e..0000000
--- a/commands/utility/findemoji.js
+++ /dev/null
@@ -1,101 +0,0 @@
-const discord = require('discord.js')
-const fetch = require("node-fetch")
-
-module.exports = {
- name: "findemoji",
- aliases: ["finde", "fe"],
- category: "utility",
- description: "Steals Emoji from Other Servers to ur Server.",
- authorPermission: ["MANAGE_EMOJIS"],
-
- run: async (client, message, args) => {
- if (!message.member.hasPermission("MANAGE_EMOJIS")) {
- return message.channel.send(`You Don't Have Permission To Use This Command! Manage Emojis`)
- }
-let emojis = await fetch("https://emoji.gg/api/").then(res => res.json());
- const q = args.join(" ").toLowerCase().trim().split(" ").join("_");
- let matches = emojis.filter(s => s.title == q || s.title.includes(q));
-
- let noResult = new discord.MessageEmbed()
- .setDescription(`| :x: No Results found for ${args.join(" ")}!`)
- .setColor("FF2052")
-
- if (!matches.length) return message.channel.send(noResult)
- let page = 0;
- let embed = new discord.MessageEmbed()
- .setTitle(matches[page].title)
- .setURL("https://discordemoji.com/emoji/" + matches[page].slug)
- .setColor("00FFFF")
- .setImage(matches[page].image)
- .setFooter(`Emoji ${page + 1}/${matches.length}`);
- const msg = await message.channel.send(embed);
- emojis = ["◀️", "▶️", "✅", "❌"];
- msg.react(emojis[0]);
- msg.react(emojis[1]);
- msg.react(emojis[2]);
- msg.react(emojis[3]);
- const filter = (r, u) => emojis.includes(r.emoji.name.trim()) && u.id == message.author.id;
- let doing = true;
- while (doing) {
- let reaction;
- try { reaction = await msg.awaitReactions(filter, { max: 1, time: 120000, errors: ["time"] })}
- catch { message.channel.send(message.author.toString() + ", You took too long."); msg.reactions.removeAll() ; doing = false; return; };
- reaction = reaction.first();
- const rmsg = reaction.message;
- if (reaction.emoji.name == emojis[0]) {
- page--;
- if (!matches[page]) {
- page++;
- rmsg.reactions.resolve(reaction.emoji.name).users.remove(message.author.id).catch(err => {})
- } else {
- let newembed = new discord.MessageEmbed()
- .setTitle(matches[page].title)
- .setURL("https://discordemoji.com/emoji/" + matches[page].slug)
- .setColor("00FFFF")
- .setImage(matches[page].image)
- .setFooter(`Emoji ${page + 1}/${matches.length}`);
- msg.edit(newembed);
- rmsg.reactions.resolve(reaction.emoji.name).users.remove(message.author.id).catch(err => {})
- }
- } else if (reaction.emoji.name == emojis[1]) {
- page++;
- if (!matches[page]) {
- page--;
- rmsg.reactions.resolve(reaction.emoji.name).users.remove(message.author.id).catch(err => {})
- } else {
- let newembed = new discord.MessageEmbed()
- .setTitle(matches[page].title)
- .setURL("https://discordemoji.com/emoji/" + matches[page].slug)
- .setColor("00FFFF")
- .setImage(matches[page].image)
- .setFooter(`Emoji ${page + 1}/${matches.length}`);
- msg.edit(newembed);
-rmsg.reactions.resolve(reaction.emoji.name).users.remove(message.author.id).catch(err => {})
- }
- } else if (reaction.emoji.name == emojis[2]) {
- const res = matches[page];
- let created;
- message.channel.startTyping();
- try {
- created = await message.guild.emojis.create(res.image, res.title);
- message.channel.stopTyping();
- } catch {
- message.channel.stopTyping();
- message.channel.send(`Unable to add ${res.title}.`);
- rmsg.reactions.resolve(reaction.emoji.name).users.remove(message.author.id).catch(err => {})
- doing = false;
- break;
- }
- message.channel.send(`Successfully added ${created}!`);
- rmsg.reactions.resolve(reaction.emoji.name).users.remove(message.author.id).catch(err => {})
- doing = false;
- break;
-
- } else if (reaction.emoji.name == emojis[3]) {
- message.channel.send("Cancelled command.");
- msg.reactions.removeAll();
- return;
- }};
-
- }
-}
\ No newline at end of file
diff --git a/commands/utility/hastbin.js b/commands/utility/hastbin.js
deleted file mode 100644
index 6382ed2..0000000
--- a/commands/utility/hastbin.js
+++ /dev/null
@@ -1,36 +0,0 @@
-const discord = require("discord.js");
-const { RichEmbed } = require("discord.js");
-const fetch = require("node-fetch");
-const moment = require("moment");
-const sourcebin = require("sourcebin_js");
-module.exports = {
- name: "haste",
- usage: `haste `,
- category: "utility",
- args: true,
- aliases: ["haste"],
- run: async (client, message, args) => {
- message.delete();
- const Content = args.join(" ");
- sourcebin
- .create([
- {
- title: "JavaScript code",
- description: 'This code was created in "' + message.createdAt + '"',
- name: "Made By " + message.author.username,
- content: Content,
- languageId: "JavaScript"
- }
- ])
- .then(src => {
- let embed = new discord.MessageEmbed()
- .setTitle(`Hastebin`)
- .setColor("RANDOM")
- .setDescription(`Code:\n${Content}\n\n**[Click Here](${src.url})**`);
- message.channel.send(embed);
- })
- .catch(e => {
- message.channel.send(`Error, try again later`);
- });
- }
-};
\ No newline at end of file
diff --git a/commands/utility/sudo.js b/commands/utility/sudo.js
deleted file mode 100644
index 6cc7eae..0000000
--- a/commands/utility/sudo.js
+++ /dev/null
@@ -1,25 +0,0 @@
-module.exports = {
- name: "sudo",
- description: "Makes a webhook to impersonate someone",
- usage: "sudo ",
- category: "utility",
- args: true,
- cooldown: 5,
- botpermission: ["MANAGE_WEBHOOKS"],
- run: async (client, message, args) => {
- if (!message.member.hasPermission("MANAGE_WEBHOOKS")) {
- return message.channel.send(`You Don't Have Permission To Use This Command! Manage webhook`)}
- message.delete();
- let user =
- message.mentions.members.first() ||
- message.guild.members.cache.get(args[0]);
- if (!user) return message.channel.send("Please provide a user!");
- const webhook = await message.channel.createWebhook(user.displayName, {
- avatar: user.user.displayAvatarURL(),
- channel: message.channel.id
- });
- await webhook.send(args.slice(1).join(" ")).then(() => {
- webhook.delete();
- });
- }
-};
\ No newline at end of file
diff --git a/config.json b/config.json
deleted file mode 100644
index 72a0874..0000000
--- a/config.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
-
- "default_prefix": "q",
- "owners": "your Discord Id",
-
-
-
- "guildid": "Your Server Id",
- "emoji": {
- "play": "▶️",
- "stop": "⏹️",
- "queue": "📄",
- "success": "☑️",
- "repeat": "🔁",
- "error": "❌",
- "YOUTUBE_API_KEY": "",
- "premium": "682981714523586606",
- "PREFIX": "q",
- "mongodb": "",
- "database": "",
- "BOT_ID": "your bot id",
- "embedcolor": "BLUE",
- "EMOJI_ARROW":"🔄",
- "WELCOME_CHANNEL": "welcome channel id",
- "QUEUE_LIMIT": 2,
- "owners": "ur dc id",
- "AME_API": "",
- "COLOR": "00FFFF",
- "mongourl": ""
-}
-}
diff --git a/data/legendary b/data/legendary
new file mode 100644
index 0000000..84c4d6b
--- /dev/null
+++ b/data/legendary
@@ -0,0 +1,76 @@
+Articuno
+Zapdos
+Moltres
+Raikou
+Entei
+Suicune
+Regirock
+Regice
+Registeel
+Latias
+Latios
+Uxie
+Mesprit
+Azelf
+Heatran
+Regigigas
+Cresselia
+Cobalion
+Terrakion
+Virizion
+Tornadus
+Thundurus
+Landorus
+Type: Null
+Silvally
+Tapu Koko
+Tapu Lele
+Tapu Bulu
+Tapu Fini
+Kubfu
+Urshifu
+Regieleki
+Regidrago
+Glastrier
+Spectrier
+Mewtwo
+Lugia
+Ho-Oh
+Kyogre
+Groudon
+Rayquaza
+Dialga
+Palkia
+Giratina
+Reshiram
+Zekrom
+Kyurem
+Xerneas
+Yveltal
+Zygarde
+Cosmog
+Cosmoem
+Solgaleo
+Lunala
+Necrozma
+Zacian
+Zamazenta
+Eternatus
+Calyrex
+Nihilego
+Buzzwole
+Pheromosa
+Xurkitree
+Celesteela
+Kartana
+Guzzlord
+Poipole
+Naganadel
+Stakataka
+Blacephalon
+Wo-Chien
+Chien-Pao
+Ting-Lu
+Chi-Yu
+Koraidon
+Miraidon
diff --git a/data/level b/data/level
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/data/level
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/data/mythical b/data/mythical
new file mode 100644
index 0000000..9d736d8
--- /dev/null
+++ b/data/mythical
@@ -0,0 +1,22 @@
+Mew
+Celebi
+Jirachi
+Deoxys
+Manaphy
+Phione
+Darkrai
+Shaymin
+Arceus
+Victini
+Keldeo
+Meloetta
+Genesect
+Diancie
+Hoopa
+Volcanion
+Magearna
+Marshadow
+Zeraora
+Meltan
+Melmetal
+Zarude
\ No newline at end of file
diff --git a/data/pokemon b/data/pokemon
new file mode 100644
index 0000000..ce77f5b
--- /dev/null
+++ b/data/pokemon
@@ -0,0 +1,1233 @@
+Bulbasaur
+Ivysaur
+Venusaur
+Charmander
+Charmeleon
+Charizard
+Squirtle
+Wartortle
+Blastoise
+Caterpie
+Metapod
+Butterfree
+Weedle
+Kakuna
+Beedrill
+Pidgey
+Pidgeotto
+Pidgeot
+Rattata
+Raticate
+Spearow
+Fearow
+Ekans
+Arbok
+Pikachu
+Raichu
+Sandshrew
+Sandslash
+Nidoran♂️
+Nidoran♀️
+Nidorina
+Nidoqueen
+Nidorino
+Nidoking
+Clefairy
+Clefable
+Vulpix
+Ninetales
+Jigglypuff
+Wigglytuff
+Zubat
+Golbat
+Oddish
+Gloom
+Vileplume
+Paras
+Parasect
+Venonat
+Venomoth
+Diglett
+Dugtrio
+Meowth
+Persian
+Psyduck
+Golduck
+Mankey
+Primeape
+Growlithe
+Arcanine
+Poliwag
+Poliwhirl
+Poliwrath
+Abra
+Kadabra
+Alakazam
+Machop
+Machoke
+Machamp
+Bellsprout
+Weepinbell
+Victreebel
+Tentacool
+Tentacruel
+Geodude
+Graveler
+Golem
+Ponyta
+Rapidash
+Slowpoke
+Slowbro
+Magnemite
+Magneton
+Farfetch'd
+Doduo
+Dodrio
+Seel
+Dewgong
+Grimer
+Muk
+Shellder
+Cloyster
+Gastly
+Haunter
+Gengar
+Onix
+Drowzee
+Hypno
+Krabby
+Kingler
+Voltorb
+Electrode
+Exeggcute
+Exeggutor
+Cubone
+Marowak
+Hitmonlee
+Hitmonchan
+Lickitung
+Koffing
+Weezing
+Rhyhorn
+Rhydon
+Chansey
+Tangela
+Kangaskhan
+Horsea
+Seadra
+Goldeen
+Seaking
+Staryu
+Starmie
+Mr. Mime
+Scyther
+Jynx
+Electabuzz
+Magmar
+Pinsir
+Tauros
+Magikarp
+Gyarados
+Lapras
+Ditto
+Eevee
+Vaporeon
+Jolteon
+Flareon
+Porygon
+Omanyte
+Omastar
+Kabuto
+Kabutops
+Aerodactyl
+Snorlax
+Articuno
+Zapdos
+Moltres
+Dratini
+Dragonair
+Dragonite
+Mewtwo
+Shadow Mewtwo
+Mew
+Chikorita
+Bayleef
+Meganium
+Cyndaquil
+Quilava
+Typhlosion
+Totodile
+Croconaw
+Feraligatr
+Sentret
+Furret
+Hoothoot
+Noctowl
+Ledyba
+Ledian
+Spinarak
+Ariados
+Crobat
+Chinchou
+Lanturn
+Pichu
+Cleffa
+Igglybuff
+Togepi
+Togetic
+Natu
+Xatu
+Mareep
+Flaaffy
+Ampharos
+Bellossom
+Marill
+Azumarill
+Sudowoodo
+Politoed
+Hoppip
+Skiploom
+Jumpluff
+Aipom
+Sunkern
+Sunflora
+Yanma
+Wooper
+Quagsire
+Espeon
+Umbreon
+Murkrow
+Slowking
+Misdreavus
+Unown
+Wobbuffet
+Girafarig
+Pineco
+Forretress
+Dunsparce
+Gligar
+Steelix
+Snubbull
+Granbull
+Qwilfish
+Scizor
+Shuckle
+Heracross
+Sneasel
+Teddiursa
+Ursaring
+Slugma
+Magcargo
+Swinub
+Piloswine
+Corsola
+Remoraid
+Octillery
+Delibird
+Mantine
+Skarmory
+Houndour
+Houndoom
+Kingdra
+Phanpy
+Donphan
+Porygon2
+Stantler
+Smeargle
+Tyrogue
+Hitmontop
+Smoochum
+Elekid
+Magby
+Miltank
+Blissey
+Raikou
+Entei
+Suicune
+Larvitar
+Pupitar
+Tyranitar
+Lugia
+Ho-Oh
+Treecko
+Grovyle
+Sceptile
+Torchic
+Combusken
+Blaziken
+Mudkip
+Marshtomp
+Swampert
+Poochyena
+Mightyena
+Zigzagoon
+Linoone
+Wurmple
+Silcoon
+Beautifly
+Cascoon
+Dustox
+Lotad
+Lombre
+Ludicolo
+Seedot
+Nuzleaf
+Shiftry
+Taillow
+Swellow
+Wingull
+Pelipper
+Ralts
+Kirlia
+Gardevoir
+Surskit
+Masquerain
+Shroomish
+Breloom
+Slakoth
+Vigoroth
+Slaking
+Nincada
+Ninjask
+Shedinja
+Whismur
+Loudred
+Exploud
+Makuhita
+Hariyama
+Azurill
+Nosepass
+Skitty
+Delcatty
+Sableye
+Mawile
+Aron
+Lairon
+Aggron
+Meditite
+Medicham
+Electrike
+Manectric
+Plusle
+Minun
+Volbeat
+Illumise
+Roselia
+Gulpin
+Swalot
+Carvanha
+Sharpedo
+Wailmer
+Wailord
+Numel
+Camerupt
+Torkoal
+Spoink
+Grumpig
+Spinda
+Trapinch
+Vibrava
+Flygon
+Cacnea
+Cacturne
+Swablu
+Altaria
+Zangoose
+Seviper
+Lunatone
+Solrock
+Barboach
+Whiscash
+Corphish
+Crawdaunt
+Baltoy
+Claydol
+Lileep
+Cradily
+Anorith
+Armaldo
+Feebas
+Milotic
+Castform
+Sunny Castform
+Rainy Castform
+Snowy Castform
+Kecleon
+Shuppet
+Banette
+Duskull
+Dusclops
+Tropius
+Chimecho
+Absol
+Wynaut
+Snorunt
+Glalie
+Spheal
+Sealeo
+Walrein
+Clamperl
+Huntail
+Gorebyss
+Relicanth
+Luvdisc
+Bagon
+Shelgon
+Salamence
+Beldum
+Metang
+Metagross
+Regirock
+Regice
+Registeel
+Latias
+Latios
+Kyogre
+Groudon
+Rayquaza
+Turtwig
+Grotle
+Torterra
+Chimchar
+Monferno
+Infernape
+Piplup
+Prinplup
+Empoleon
+Starly
+Staravia
+Staraptor
+Bidoof
+Bibarel
+Kricketot
+Kricketune
+Shinx
+Luxio
+Luxray
+Budew
+Roserade
+Cranidos
+Rampardos
+Shieldon
+Bastiodon
+Burmy
+Wormadam
+Sandy Wormadam
+Trash Wormadam
+Mothim
+Combee
+Vespiquen
+Pachirisu
+Buizel
+Floatzel
+Cherubi
+Cherrim
+Shellos
+Gastrodon
+Ambipom
+Drifloon
+Drifblim
+Buneary
+Lopunny
+Mismagius
+Honchkrow
+Glameow
+Purugly
+Chingling
+Stunky
+Skuntank
+Bronzor
+Bronzong
+Bonsly
+Mime Jr.
+Happiny
+Chatot
+Spiritomb
+Gible
+Gabite
+Garchomp
+Munchlax
+Riolu
+Lucario
+Hippopotas
+Hippowdon
+Skorupi
+Drapion
+Croagunk
+Toxicroak
+Carnivine
+Finneon
+Lumineon
+Mantyke
+Snover
+Abomasnow
+Weavile
+Magnezone
+Lickilicky
+Rhyperior
+Tangrowth
+Electivire
+Magmortar
+Togekiss
+Yanmega
+Leafeon
+Glaceon
+Gliscor
+Mamoswine
+Porygon-Z
+Gallade
+Probopass
+Dusknoir
+Froslass
+Rotom
+Uxie
+Mesprit
+Azelf
+Dialga
+Palkia
+Heatran
+Regigigas
+Giratina
+Cresselia
+Darkrai
+Arceus
+Magearna
+Celebi
+Jirachi
+Deoxys
+Attack Deoxys
+Defense Deoxys
+Speed Deoxys
+Phione
+Manaphy
+Shaymin
+Victini
+Snivy
+Servine
+Serperior
+Tepig
+Pignite
+Emboar
+Oshawott
+Dewott
+Samurott
+Patrat
+Watchog
+Lillipup
+Herdier
+Stoutland
+Purrloin
+Liepard
+Pansage
+Simisage
+Pansear
+Simisear
+Panpour
+Simipour
+Munna
+Musharna
+Pidove
+Tranquill
+Unfezant
+Blitzle
+Zebstrika
+Roggenrola
+Boldore
+Gigalith
+Woobat
+Swoobat
+Drilbur
+Excadrill
+Audino
+Timburr
+Gurdurr
+Conkeldurr
+Tympole
+Palpitoad
+Seismitoad
+Throh
+Sawk
+Sewaddle
+Swadloon
+Leavanny
+Venipede
+Whirlipede
+Scolipede
+Cottonee
+Whimsicott
+Petilil
+Lilligant
+Basculin
+Blue-Striped Basculin
+Red-Striped Basculin
+Sandile
+Krokorok
+Krookodile
+Darumaka
+Darmanitan
+Maractus
+Dwebble
+Crustle
+Scraggy
+Scrafty
+Sigilyph
+Yamask
+Cofagrigus
+Tirtouga
+Carracosta
+Archen
+Archeops
+Trubbish
+Garbodor
+Zorua
+Zoroark
+Minccino
+Cinccino
+Gothita
+Gothorita
+Gothitelle
+Solosis
+Duosion
+Reuniclus
+Ducklett
+Swanna
+Vanillite
+Vanillish
+Vanilluxe
+Deerling
+Sawsbuck
+Emolga
+Karrablast
+Escavalier
+Foongus
+Amoonguss
+Frillish
+Jellicent
+Alomomola
+Joltik
+Galvantula
+Ferroseed
+Ferrothorn
+Klink
+Klang
+Klinklang
+Tynamo
+Eelektrik
+Eelektross
+Elgyem
+Beheeyem
+Litwick
+Lampent
+Chandelure
+Axew
+Fraxure
+Haxorus
+Cubchoo
+Beartic
+Cryogonal
+Shelmet
+Accelgor
+Stunfisk
+Mienfoo
+Mienshao
+Druddigon
+Golett
+Golurk
+Pawniard
+Bisharp
+Bouffalant
+Rufflet
+Braviary
+Vullaby
+Mandibuzz
+Heatmor
+Durant
+Deino
+Zweilous
+Hydreigon
+Larvesta
+Volcarona
+Cobalion
+Terrakion
+Virizion
+Tornadus
+Thundurus
+Reshiram
+Zekrom
+Landorus
+Kyurem
+Keldeo
+Meloetta
+Genesect
+Chespin
+Quilladin
+Chesnaught
+Fennekin
+Braixen
+Delphox
+Froakie
+Frogadier
+Greninja
+Bunnelby
+Diggersby
+Fletchling
+Fletchinder
+Talonflame
+Scatterbug
+Spewpa
+Vivillon
+Litleo
+Pyroar
+Flabébé
+Floette
+Florges
+Skiddo
+Gogoat
+Pancham
+Pangoro
+Furfrou
+Espurr
+Meowstic
+Honedge
+Doublade
+Aegislash
+Spritzee
+Aromatisse
+Swirlix
+Slurpuff
+Inkay
+Malamar
+Binacle
+Barbaracle
+Skrelp
+Dragalge
+Clauncher
+Clawitzer
+Helioptile
+Heliolisk
+Tyrunt
+Tyrantrum
+Amaura
+Aurorus
+Sylveon
+Hawlucha
+Dedenne
+Carbink
+Goomy
+Sliggoo
+Goodra
+Klefki
+Phantump
+Trevenant
+Pumpkaboo
+Gourgeist
+Bergmite
+Avalugg
+Noibat
+Noivern
+Xerneas
+Yveltal
+Zygarde
+10% Zygarde
+50% Zygarde
+Complete Zygarde
+Diancie
+Hoopa
+Volcanion
+Rowlet
+Dartrix
+Decidueye
+Litten
+Torracat
+Incineroar
+Popplio
+Brionne
+Primarina
+Pikipek
+Trumbeak
+Toucannon
+Yungoos
+Gumshoos
+Grubbin
+Charjabug
+Vikavolt
+Crabrawler
+Crabominable
+Oricorio
+Pom-pom Oricorio
+Pa'u Oricorio
+Sensu Oricorio
+Cutiefly
+Ribombee
+Rockruff
+Lycanroc
+Wishiwashi
+Mareanie
+Toxapex
+Mudbray
+Mudsdale
+Dewpider
+Araquanid
+Fomantis
+Lurantis
+Morelull
+Shiinotic
+Salandit
+Salazzle
+Stufful
+Bewear
+Bounsweet
+Steenee
+Tsareena
+Comfey
+Oranguru
+Passimian
+Wimpod
+Golisopod
+Sandygast
+Palossand
+Pyukumuku
+Type: Null
+Silvally
+Minior
+Komala
+Turtonator
+Togedemaru
+Mimikyu
+Bruxish
+Drampa
+Dhelmise
+Jangmo-o
+Hakamo-o
+Kommo-o
+Tapu Koko
+Tapu Lele
+Tapu Bulu
+Tapu Fini
+Cosmog
+Cosmoem
+Solgaleo
+Lunala
+Nihilego
+Buzzwole
+Pheromosa
+Xurkitree
+Celesteela
+Kartana
+Guzzlord
+Necrozma
+Marshadow
+Poipole
+Naganadel
+Stakataka
+Blacephalon
+Zeraora
+Meltan
+Melmetal
+Grookey
+Thwackey
+Rillaboom
+Scorbunny
+Raboot
+Cinderace
+Sobble
+Drizzile
+Inteleon
+Skwovet
+Greedent
+Rookidee
+Corvisquire
+Corviknight
+Blipbug
+Dottler
+Orbeetle
+Nickit
+Thievul
+Gossifleur
+Eldegoss
+Wooloo
+Dubwool
+Chewtle
+Drednaw
+Yamper
+Boltund
+Rolycoly
+Carkol
+Coalossal
+Applin
+Flapple
+Appletun
+Silicobra
+Sandaconda
+Cramorant
+Arrokuda
+Barraskewda
+Toxel
+Toxtricity
+Sizzlipede
+Centiskorch
+Clobbopus
+Grapploct
+Sinistea
+Polteageist
+Hatenna
+Hattrem
+Hatterene
+Impidimp
+Morgrem
+Grimmsnarl
+Obstagoon
+Perrserker
+Cursola
+Sirfetch’d
+Mr. Rime
+Runerigus
+Milcery
+Alcremie
+Falinks
+Pincurchin
+Snom
+Frosmoth
+Stonjourner
+Eiscue
+Indeedee
+Morpeko
+Cufant
+Copperajah
+Dracozolt
+Arctozolt
+Dracovish
+Arctovish
+Duraludon
+Dreepy
+Drakloak
+Dragapult
+Zacian
+Zamazenta
+Eternatus
+Kubfu
+Urshifu
+Zarude
+Regieleki
+Regidrago
+Glastrier
+Spectrier
+Calyrex
+Alolan Rattata
+Alolan Raticate
+Alolan Raichu
+Alolan Sandshrew
+Alolan Sandslash
+Alolan Vulpix
+Alolan Ninetales
+Alolan Diglett
+Alolan Dugtrio
+Alolan Meowth
+Alolan Persian
+Alolan Geodude
+Alolan Graveler
+Alolan Golem
+Alolan Grimer
+Alolan Muk
+Alolan Exeggutor
+Alolan Marowak
+Anniversary Wooloo
+Sirfetch'd
+Galarian Zigzagoon
+Galarian Linoone
+Galarian Meowth
+Galarian Farfetch'd
+Galarian Stunfisk
+Galarian Corsola
+Galarian Weezing
+Galarian Yamask
+Galarian Ponyta
+Galarian Rapidash
+Galarian Mr. Mime
+Galarian Darumaka
+Galarian Darmanitan
+Galarian Moltres
+Galarian Articuno
+Galarian Zapdos
+Galarian Slowpoke
+Snowflake Bronzor
+Choco Sinistea
+Crystal Larvesta
+Snowy Amaura
+Spikey Cyndaquil
+Elsa Galarian Ponyta
+Snowman Pikachu
+Winter Sawsbuck
+Snowy Slowpoke
+Primal Glastrier
+Sprouting Oddish
+Bouquet Shaymin
+Cherry Blossom Cottonee
+Spring Fever Cubchoo
+Eternal Flower Floette
+Wyrdeer
+Kleavor
+Ursaluna
+Basculegion
+Sneasler
+Overqwil
+Enamorus
+Hisuian Growlithe
+Hisuian Arcanine
+Hisuian Voltorb
+Hisuian Electrode
+Hisuian Typhlosion
+Hisuian Qwilfish
+Hisuian Sneasel
+Hisuian Samurott
+Hisuian Lilligant
+Hisuian Zorua
+Hisuian Zoroark
+Hisuian Braviary
+Hisuian Sliggoo
+Hisuian Goodra
+Hisuian Avalugg
+Hisuian Decidueye
+Origin Palkia
+Origin Dialga
+Therian EnamorusEnamorus
+Sharkfin Totodile
+Floatie Piplup
+Ukulele Pichu
+Grilling Snorlax
+Martini Dratini
+Surf Pikachu
+Autumn Chikorita
+Autumn Rapidash
+Autumn Snivy
+Autumn Pansage
+Autumn Skiddo
+Bug Catcher Weedle
+Flower Paras
+Hatching Beautifly
+Bird Nest Nuzleaf
+Spring Blooming Diancie
+Flower Pheromosa
+Eggneton
+Egg Hunter Kangaskhan
+Egg Basket Buneary
+Egg Searching Steenee
+Cufant
+Copperajah
+Dracozolt
+Arctozolt
+Dracovish
+Arctovish
+Duraludon
+Dreepy
+Drakloak
+Dragapult
+Zacian
+Zamazenta
+Eternatus
+Kubfu
+Urshifu
+Zarude
+Regieleki
+Regidrago
+Glastrier
+Spectrier
+Calyrex
+Alolan Rattata
+Alolan Raticate
+Alolan Raichu
+Alolan Sandshrew
+Alolan Sandslash
+Alolan Vulpix
+Alolan Ninetales
+Alolan Diglett
+Alolan Dugtrio
+Alolan Meowth
+Alolan Persian
+Alolan Geodude
+Alolan Graveler
+Alolan Golem
+Alolan Grimer
+Alolan Muk
+Alolan Exeggutor
+Alolan Marowak
+Anniversary Wooloo
+Sirfetch'd
+Galarian Zigzagoon
+Galarian Linoone
+Galarian Meowth
+Galarian Farfetch'd
+Galarian Stunfisk
+Galarian Corsola
+Galarian Weezing
+Galarian Yamask
+Galarian Ponyta
+Galarian Rapidash
+Galarian Mr. Mime
+Galarian Darumaka
+Galarian Darmanitan
+Galarian Moltres
+Galarian Articuno
+Galarian Zapdos
+Galarian Slowpoke
+Snowflake Bronzor
+Choco Sinistea
+Crystal Larvesta
+Snowy Amaura
+Spikey Cyndaquil
+Elsa Galarian Ponyta
+Snowman Pikachu
+Winter Sawsbuck
+Snowy Slowpoke
+Primal Glastrier
+Sprouting Oddish
+Bouquet Shaymin
+Cherry Blossom Cottonee
+Spring Fever Cubchoo
+Eternal Flower Floette
+Wyrdeer
+Kleavor
+Ursaluna
+Basculegion
+Sneasler
+Overqwil
+Enamorus
+Hisuian Growlithe
+Hisuian Arcanine
+Hisuian Voltorb
+Hisuian Electrode
+Hisuian Typhlosion
+Hisuian Qwilfish
+Hisuian Sneasel
+Hisuian Samurott
+Hisuian Lilligant
+Hisuian Zorua
+Hisuian Zoroark
+Hisuian Braviary
+Hisuian Sliggoo
+Hisuian Goodra
+Hisuian Avalugg
+Hisuian Decidueye
+Origin Palkia
+Origin Dialga
+Therian Enamorus
+Enamorus
+Sharkfin Totodile
+Floatie Piplup
+Ukulele Pichu
+Grilling Snorlax
+Martini Dratini
+Surf Pikachu
+Autumn Chikorita
+Autumn Rapidash
+Autumn Snivy
+Autumn Pansage
+Autumn Skiddo
+Sprigatito
+Floragato
+Meowscarada
+Fuecoco
+Crocalor
+Skeledirge
+Quaxly
+Quaxwell
+Quaquaval
+Lechonk
+Oinkologne
+Tarountula
+Spidops
+Nymble
+Lokix
+Pawmi
+Pawmo
+Pawmot
+Tandemaus
+Maushold
+Fidough
+Dachsbun
+Smoliv
+Dolliv
+Arboliva
+Squawkabilly
+Nacli
+Naclstack
+Garganacl
+Charcadet
+Armarouge
+Ceruledge
+Tadbulb
+Bellibolt
+Wattrel
+Kilowattrel
+Maschiff
+Mabosstiff
+Shroodle
+Grafaiai
+Bramblin
+Brambleghast
+Toedscool
+Toedscruel
+Klawf
+Capsakid
+Scovillain
+Rellor
+Rabsca
+Flittle
+Espathra
+Tinkatink
+Tinkatuff
+Tinkaton
+Wiglett
+Wugtrio
+Bombirdier
+Finizen
+Palafin
+Varoom
+Revavroom
+Cyclizar
+Orthworm
+Glimmet
+Glimmora
+Greavard
+Houndstone
+Flamigo
+Cetoddle
+Cetitan
+Veluza
+Dondozo
+Tatsugiri
+Annihilape
+Clodsire
+Farigiraf
+Dudunsparce
+Kingambit
+Great Tusk
+Scream Tail
+Brute Bonnet
+Flutter Mane
+Slither Wing
+Sandy Shocks
+Iron Treads
+Iron Bundle
+Iron Hands
+Iron Jugulis
+Iron Moth
+Iron Thorns
+Frigibax
+Arctibax
+Baxcalibur
+Gimmighoul
+Gholdengo
+Wo-Chien
+Chien-Pao
+Ting-Lu
+Chi-Yu
+Roaring Moon
+Iron Valiant
+Koraidon
+Miraidon
+Walking Wake
+Iron Leaves
+Skater Wooper
+Anniversary Lapras
+Cupcake Alcremie
\ No newline at end of file
diff --git a/functions.js b/functions.js
deleted file mode 100644
index 8270516..0000000
--- a/functions.js
+++ /dev/null
@@ -1,174 +0,0 @@
-const yes = ['yes', 'y', 'ye', 'yea', 'correct'];
-const no = ['no', 'n', 'nah', 'nope', 'fuck off'];
-const MONEY = ['', 'k', 'M', 'G', 'T', 'P', 'E'];
-const inviteRegex = /(https?:\/\/)?(www\.|canary\.|ptb\.)?discord(\.gg|(app)?\.com\/invite|\.me)\/([^ ]+)\/?/gi;
-const botInvRegex = /(https?:\/\/)?(www\.|canary\.|ptb\.)?discord(app)\.com\/(api\/)?oauth2\/authorize\?([^ ]+)\/?/gi;
-
-module.exports = {
- getMember(message, toFind = '') {
- toFind = toFind.toLowerCase();
-
- var target = message.guild.members.cache.get(toFind);
-
- if (!target && message.mentions.members)
- target = message.mentions.members.first();
-
- if (!target && toFind) {
- target = message.guild.members.cache.find(member => {
- return member.displayName.toLowerCase().includes(toFind) ||
- member.user.tag.toLowerCase().includes(toFind)
- });
- }
-
- if (!target)
- target = message.member;
-
- return target;
- },
-
- delay(ms) {
- return new Promise(resolve => setTimeout(resolve, ms));
- },
-
- formatDate: function (date) {
- return new Intl.DateTimeFormat('en-US').format(date);
- },
-
- promptMessage: async function (message, author, time, validReactions) {
- time *= 1000;
-
- for (const reaction of validReactions) await message.react(reaction);
-
- const filter = (reaction, user) => validReactions.includes(reaction.emoji.name) && user.id === author.id;
-
- return message
- .awaitReactions(filter, { max: 1, time: time })
- .then(collected => collected.first() && collected.first().emoji.name);
- },
-
- drawImageWithTint: function (ctx, image, color, x, y, width, height) {
- const { fillStyle, globalAlpha } = ctx;
- ctx.fillStyle = color;
- ctx.drawImage(image, x, y, width, height);
- ctx.globalAlpha = 0.5;
- ctx.fillRect(x, y, width, height);
- ctx.fillStyle = fillStyle;
- ctx.globalAlpha = globalAlpha;
- },
-
- randomRange(min, max) {
- return Math.floor(Math.random() * (max - min + 1)) + min;
- },
-
- shuffle: function (array) {
- const arr = array.slice(0);
- for (let i = arr.length - 1; i >= 0; i--) {
- const j = Math.floor(Math.random() * (i + 1));
- const temp = arr[i];
- arr[i] = arr[j];
- arr[j] = temp;
- }
- return arr;
- },
-
- verify: async function (channel, user, { time = 30000, extraYes = [], extraNo = [] } = {}) {
- const filter = res => {
- const value = res.content.toLowerCase();
- return (user ? res.author.id === user.id : true)
- && (yes.includes(value) || no.includes(value) || extraYes.includes(value) || extraNo.includes(value));
- };
- const verify = await channel.awaitMessages(filter, {
- max: 1,
- time
- });
- if (!verify.size) return 0;
- const choice = verify.first().content.toLowerCase();
- if (yes.includes(choice) || extraYes.includes(choice)) return true;
- if (no.includes(choice) || extraNo.includes(choice)) return false;
- return false;
- },
-
- chunk: function (array, chunkSize) {
- const temp = [];
- for (let i = 0; i < array.length; i += chunkSize) {
- temp.push(array.slice(i, i + chunkSize));
- }
- return temp;
- },
-
- getWrapText: function (text, length) {
- const temp = [];
- for (let i = 0; i < text.length; i += length) {
- temp.push(text.slice(i, i + length));
- }
- return temp.map(x => x.trim());
- },
-
- crFormat: function (number) {
- const ranking = Math.log10(number) / 3 | 0;
- if (!ranking) return number.toString();
- const last = MONEY[ranking];
- const scale = Math.pow(10, ranking * 3);
- const scaled = number / scale;
- return `${scaled.toFixed(2)}${last}`;
- },
-
- formatNumber(number, minimumFractionDigits = 0) {
- return Number.parseFloat(number).toLocaleString(undefined, {
- minimumFractionDigits,
- maximumFractionDigits: 2
- });
- },
-
- list: function (arr, conj = 'and') {
- const len = arr.length;
- if (len === 0) return '';
- if (len === 1) return arr[0];
- return `${arr.slice(0, -1).join(', ')}${len > 1 ? `${len > 2 ? ',' : ''} ${conj} ` : ''}${arr.slice(-1)}`;
- },
-
- firstUpperCase(text, split = ' ') {
- return text.split(split).map(word => `${word.charAt(0).toUpperCase()}${word.slice(1)}`).join(' ');
- },
-
- shorten(text, maxLen = 2000) {
- return text.length > maxLen ? `${text.substr(0, maxLen - 3)}...` : text;
- },
-
- stripInvites(str, { guild = true, bot = true, text = '[redacted invite]' } = {}) {
- if (guild) str = str.replace(inviteRegex, text);
- if (bot) str = str.replace(botInvRegex, text);
- return str;
- },
-
- wrapText (ctx, text, maxWidth) {
- return new Promise(resolve => {
- if (ctx.measureText(text).width < maxWidth) return resolve([text]);
- if (ctx.measureText('W').width > maxWidth) return resolve(null);
- const words = text.split(' ');
- const lines = [];
- let line = '';
- while (words.length > 0) {
- let split = false;
- while (ctx.measureText(words[0]).width >= maxWidth) {
- const temp = words[0];
- words[0] = temp.slice(0, -1);
- if (split) {
- words[1] = `${temp.slice(-1)}${words[1]}`;
- } else {
- split = true;
- words.splice(1, 0, temp.slice(-1));
- }
- }
- if (ctx.measureText(`${line}${words[0]}`).width < maxWidth) {
- line += `${words.shift()} `;
- } else {
- lines.push(line.trim());
- line = '';
- }
- if (words.length === 0) lines.push(line.trim());
- }
- return resolve(lines);
- });
- }
-}
\ No newline at end of file
diff --git a/functions/createEmbed.js b/functions/createEmbed.js
deleted file mode 100644
index 7223163..0000000
--- a/functions/createEmbed.js
+++ /dev/null
@@ -1,43 +0,0 @@
-const { MessageEmbed } = require("discord.js");
-
-let mainColor = "#fff000"
-let failColor = "0xeb3452";
-let successColor = "0x34eb86";
-
-module.exports = (type, description, ...otherArgs) => {
- const embed = new MessageEmbed()
- .setColor(
- mainColor
- // type === "success"
- // ? successColor
- // : type === "fail"
- // ? failColor
- // : type === "main"
- // ? mainColor
- // : null
- )
- .setDescription(
- `${
- type === "success"
- ? "<:aneoTick:837567483422179358>"
- : type === "fail"
- ? "<:aneoError:837566696818343956>"
- : ""
- } ${description}`
- );
- if (typeof otherArgs !== "undefined") {
- if (typeof otherArgs[0] === "object") {
- let user = otherArgs[0];
- if (user.username) {
- embed.setAuthor(
- user.username,
- user.displayAvatarURL({ dynamic: true })
- );
- }
- }
- if (typeof otherArgs[1] === "string") {
- embed.setFooter(otherArgs[1]);
- }
- return embed;
- }
-};
\ No newline at end of file
diff --git a/handlers/command.js b/handlers/command.js
deleted file mode 100644
index 3e3dfd7..0000000
--- a/handlers/command.js
+++ /dev/null
@@ -1,36 +0,0 @@
-const { readdirSync } = require("fs");
-
-const ascii = require("ascii-table");
-
-// Create a new Ascii table
-let table = new ascii("Commands");
-table.setHeading("Command", "Load status");
-
-module.exports = (client) => {
- // Read every commands subfolder
- readdirSync("./commands/").forEach(dir => {
- // Filter so we only have .js command files
- const commands = readdirSync(`./commands/${dir}/`).filter(file => file.endsWith(".js"));
-
- // Loop over the commands, and add all of them to a collection
- // If there's no name found, prevent it from returning an error,
- // By using a cross in the table we made.
- for (let file of commands) {
- let pull = require(`../commands/${dir}/${file}`);
-
- if (pull.name) {
- client.commands.set(pull.name, pull);
- table.addRow(file, '✅');
- } else {
- table.addRow(file, `❌ -> missing a help.name, or help.name is not a string.`);
- continue;
- }
-
- // If there's an aliases key, read the aliases.
- if (pull.aliases && Array.isArray(pull.aliases)) pull.aliases.forEach(alias => client.aliases.set(alias, pull.name));
- }
- });
-
- // Log the table
- console.log(table.toString());
-}
\ No newline at end of file
diff --git a/handlers/giveaways.json b/handlers/giveaways.json
deleted file mode 100644
index 0637a08..0000000
--- a/handlers/giveaways.json
+++ /dev/null
@@ -1 +0,0 @@
-[]
\ No newline at end of file
diff --git a/handlers/ready.js b/handlers/ready.js
deleted file mode 100644
index 1290dcb..0000000
--- a/handlers/ready.js
+++ /dev/null
@@ -1,8 +0,0 @@
-const { default_prefix } = require('../config');
-module.exports = async bot => {
- console.log(`${bot.user.username} is available now!`)
- let totalUsers = bot.guilds.cache.reduce((acc, value) => acc + value.memberCount, 0)
- var activities = [ `${bot.guilds.cache.size} servers`, `${totalUsers} users!` ], i = 0;
- setInterval(() => bot.user.setActivity(`${default_prefix}help | ${activities[i++ % activities.length]}`, { type: "WATCHING" }),50000)
-
-};
\ No newline at end of file
diff --git a/index.js b/index.js
deleted file mode 100644
index 844fcc0..0000000
--- a/index.js
+++ /dev/null
@@ -1,228 +0,0 @@
-
-"$TOEKN"
-//for replit Put token in secrets name - TOKEN
-// if you need help ask in the help in srv https://dsc.gg/itzmeninja
- const { default_prefix } = require("./config.json")
- const fetch = require("node-fetch");
-const db =require("quick.db");
-const moment = require("moment");
-const { CanvasSenpai } = require("canvas-senpai")
-const canva = new CanvasSenpai();
-const { emotes , emoji} =require("./config.json")
-const discord = require("discord.js");
-const client = new discord.Client({
- disableEveryone: false
-});
-const yts = require('yt-search')
-
-client.queue = new Map();
-client.vote = new Map();
-const { ready } = require("./handlers/ready.js")
-
-client.commands = new discord.Collection();
-client.aliases = new discord.Collection();
-
-["command"].forEach(handler => {
- require(`./handlers/${handler}`)(client);
-});
-client.queue = new Map()
-process.on('unhandledRejection', console.error);
-
-
-client.on("message", async message => {
-
-
- if (message.author.bot) return;
- if (!message.guild) return;
- if (!message.content.startsWith(default_prefix)) return;
-
- if (!message.member)
- message.member = message.guild.fetchMember(message);
-
- const args = message.content
- .slice(default_prefix.length)
- .trim()
- .split(/ +/g);
- const cmd = args.shift().toLowerCase();
-
- if (cmd.length === 0) return;
-
- let command = client.commands.get(cmd);
-
- if (!command) command = client.commands.get(client.aliases.get(cmd));
-
- if (command) command.run(client, message, args);
-});
-
-
-client.on("guildMemberAdd", async member => {
-
- let chx = db.get(`welchannel_${member.guild.id}`);
-
- if (chx === null) {
-
- return;
-
- }
- let data = await canva.welcome(member, { link: "https://cdn.discordapp.com/attachments/815889737750544405/827575020338675822/welcome_imgae.png",blur: false })
- const attachment = new discord.MessageAttachment(
-
- data,
-
- "welcome-image.png"
-
- );
- client.channels.cache.get(chx).send(`Welcome to ${member.guild.name}, Server ${member.user}\nYou are our ${member.guild.memberCount}th Member. Enjoy `, attachment);
-
-});
-
-
-
-
-client.on("message", async message => {
-if (message.channel.name == "chatbot") {
-if (message.author.bot) return;
-message.content = message.content.replace(/@(everyone)/gi, "everyone").replace(/@(here)/gi, "here");
-if (message.content.includes(`@`)) {
-return message.channel.send(`**:x: Please dont mention anyone**`);
- }
- message.channel.startTyping();
-if (!message.content) return message.channel.send("Please say something.");
-fetch(`https://api.affiliateplus.xyz/api/chatbot?message=${encodeURIComponent(message.content)}&botname=${client.user.username}&ownername=cwkhan`)
- .then(res => res.json())
- .then(data => {
- message.channel.send(`> ${message.content} \n <@${message.author.id}> ${data.message}`);
- });
- message.channel.stopTyping();
-}
-});
-
-client.snipes = new Map()
-client.on('messageDelete', function(message, channel){
-
- client.snipes.set(message.channel.id, {
- content:message.content,
- author:message.author.tag,
- image:message.attachments.first() ? message.attachments.first().proxyURL : null
- })
-
-})
-
-
-const { GiveawaysManager } = require("discord-giveaways");
-const manager = new GiveawaysManager(client, {
- storage: "./handlers/giveaways.json",
- updateCountdownEvery: 10000,
- default: {
- botsCanWin: false,
- exemptPermissions: [ "MANAGE_MESSAGES", "ADMINISTRATOR" ],
- embedColor: "#FF0000",
- reaction: "🎉"
- }
-});
-
-client.giveawaysManager = manager;
-
-client.on("message", async message => {
-if(!message.guild) return;
- let prefix = db.get(`default_prefix${message.guild.id}`)
- if(prefix === null) prefix =default_prefix;
-
- if(!message.content.startsWith(default_prefix)) return;
-
-})
-client.on("ready", () => {
- client.user.setStatus("online");
- console.log("automodv12 beta is ready join support server https://dsc.gg/kmdevs")
-});
-
- require('http').createServer((req, res) => res.end('AutomodBot is alive! Join support server https;//dsc.gg/cwkhan')).listen(3000)
-
-
-client.on
-client.on("ready", () => {
- client.user.setActivity("qhelp|Made By cwkhan ", { type: "PLAYING"})
-})
-const { Player } = require("discord-music-player");
-const player = new Player(client, {
- leaveOnEmpty: false,
-});
-
-client.player = player;
-
-new Player(client, {
- leaveOnEnd: true,
- leaveOnStop: true,
- leaveOnEmpty: true,
- timeout: 10,
- volume: 150,
- quality: 'high',
-});
-const fs = require('fs')
-
-
- client.on('guildCreate', guild =>{
-
- const channelId = '841994461126197248'; //put your channel ID here
-
- const channel = client.channels.cache.get(channelId);
-
- if(!channel) return; //If the channel is invalid it returns
- const embed = new discord.MessageEmbed()
- .setTitle('I Joined A Guild!')
- .setDescription(`**Guild Name:** ${guild.name} (${guild.id})\n**Members:** ${guild.memberCount}`)
- .setTimestamp()
- .setColor('RANDOM')
- .setFooter(`I'm in ${client.guilds.cache.size} Guilds Now!`);
- channel.send(embed);
-});
-
-
-client.on('guildDelete', guild =>{
- const channelId = '841994754399928341';//add your channel ID
- const channel = client.channels.cache.get(channelId); //This Gets That Channel
-
- if(!channel) return; //If the channel is invalid it returns
- const embed = new discord.MessageEmbed()
- .setTitle('I Left A Guild!')
- .setDescription(`**Guild Name:** ${guild.name} (${guild.id})\n**Members:** ${guild.memberCount}`)
- .setTimestamp()
- .setColor('RED')
- .setFooter(`I'm in ${client.guilds.cache.size} Guilds Now!`);
- channel.send(embed);
-});
-
-
-console.log("Subscribe on yt cwkhan")
-
-const smartestchatbot = require('smartestchatbot')
-const scb = new smartestchatbot.Client()
-
-client.on("message", async message => {
- if (message.channel.name == "abotchat") {
- if (message.author.bot) return;
- message.content = message.content.replace(/@(everyone)/gi, "everyone").replace(/@(here)/gi, "here");
- if (message.content.includes(`@`)) {
- return message.channel.send(`**:x: Please dont mention anyone**`);
- }
- message.channel.startTyping();
- if (!message.content) return message.channel.send("Please say something.");
- scb.chat({message: message.content, name: client.user.username, owner:"cwkhan", user: message.author.id, language:"auto"}).then(reply => {
- message.inlineReply(`${reply}`);
- })
- message.channel.stopTyping();
- }
-});
-
-
-require("./ExtendedMessage");
-
-
- allowedMentions: {
- // set repliedUser value to `false` to turn off the mention by default
- repliedUser: true
- }
-
-
-
-client.login(process.env.TOKEN);
diff --git a/json.sqlite b/json.sqlite
deleted file mode 100644
index f167ac0..0000000
Binary files a/json.sqlite and /dev/null differ
diff --git a/json/fishes.json b/json/fishes.json
deleted file mode 100644
index e74fcb2..0000000
--- a/json/fishes.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "junk": {
- "symbol": "🔧",
- "max": 30,
- "min": 10
- },
- "common": {
- "symbol": "🐟",
- "max": 70,
- "min": 30
- },
- "uncommon": {
- "symbol": "🐠",
- "max": 90,
- "min": 50
- },
- "rare": {
- "symbol": "🦑",
- "max": 175,
- "min": 130
- },
- "legendary": {
- "symbol": "🐋",
- "max": 500,
- "min": 100
- }
-}
\ No newline at end of file
diff --git a/json/works.json b/json/works.json
deleted file mode 100644
index 5fbb962..0000000
--- a/json/works.json
+++ /dev/null
@@ -1,35 +0,0 @@
-[
- "You work as a flatulence smell reduction underwear maker and earn",
- "You work at Grandma's restaurant as a cook and earn",
- "You work as a professional smuggler and earn",
- "You work as a pumpkin painter and earn",
- "You work as a engineer and earn",
- "You work as a meerkat behaviour consultant and earn",
- "Your job as a fart collector is very interesting and earns you",
- "You work as a penguinologist and earn",
- "You work as a ear cleaner and earn",
- "You develop games and earn",
- "You work as a personal shopper and earn",
- "You work as a dog surfing instructor and earn",
- "You work as a beefeater and earn",
- "You work as a comedian and earn",
- "You work as the head of elephants and earn",
- "You work as an elementary school teacher and earn",
- "You worked as a voice actor for Spongebob and managed to gain",
- "You had a fruitful day at the office today and earned",
- "You actually finished the plate of vegetables that your parents made you eat! You were awarded",
- "You work as child birth educator and earn",
- "You work as a body pillow factory salesman on the Internet for real weebs, the weebs gave you",
- "You work as a vibration consultant and earn",
- "Work at the icecream shop of your childhood dreams and earn",
- "You work as a professional minecraft hacker. You manage to rake in",
- "You dabbed so hard that even your mother is proud! You make",
- "You work as a professional cleaner. After hiding the body, you're handed",
- "You got cloned for sciene. You earned",
- "You work as a police officer and earn",
- "You work as a bush pruner for Donald Trump and earn",
- "You work as a paper towel sniffer and earn",
- "You work as a water slide tester and earn",
- "You milk a cow for",
- "You work as a fucker."
- ]
\ No newline at end of file
diff --git a/keep_alive.py b/keep_alive.py
new file mode 100644
index 0000000..2126f3d
--- /dev/null
+++ b/keep_alive.py
@@ -0,0 +1,11 @@
+from flask import Flask
+from threading import Thread
+app = Flask('')
+@app.route('/')
+def main():
+ return "Your bot is alive! , And Ninja Always best!"
+def run():
+ app.run(host="0.0.0.0", port=8080)
+def keep_alive():
+ server = Thread(target=run)
+ server.start()
\ No newline at end of file
diff --git a/main.py b/main.py
new file mode 100644
index 0000000..38cb6c9
--- /dev/null
+++ b/main.py
@@ -0,0 +1,275 @@
+import re, os, asyncio, random, string, keep_alive, discord
+from discord.ext import commands, tasks
+
+version = 'v1.0'
+
+user_token = os.environ['user_token']
+spam_id = os.environ['spam_id']
+catch_id = os.environ['catch_id']
+bot_owner = os.environ['bot_owner']
+pride_buddy_channel_id = os.environ['pride_buddy_channel_id']
+logs_id = False
+captcha_ping = False
+
+if os.environ['logs_id']:
+ logs_id = os.environ['logs_id']
+
+if os.environ['captcha_ping']:
+ captcha_ping = os.environ['captcha_ping']
+
+sh_interval = False
+
+with open('data/pokemon', 'r', encoding='utf8') as file:
+ pokemon_list = file.read()
+with open('data/legendary', 'r') as file:
+ legendary_list = file.read()
+with open('data/mythical', 'r') as file:
+ mythical_list = file.read()
+with open('data/level', 'r') as file:
+ to_level = file.readline()
+
+num_pokemon = 0
+shiny = 0
+legendary = 0
+mythical = 0
+
+poketwo = 716390085896962058
+client = commands.Bot(command_prefix='[{ñ*]}¨ñ¨ÇÇǨ¨ÇÇǨ¨ÇÇǨñ¨')
+stopped = False
+captcha_done = True
+
+intervals = [40.2]
+
+
+def solve(message):
+ if not stopped:
+ hint = []
+ for i in range(15, len(message) - 1):
+ if message[i] != '\\':
+ hint.append(message[i])
+ hint_string = ''
+ for i in hint:
+ hint_string += i
+ hint_replaced = hint_string.replace('_', '.')
+ solution = re.findall('^' + hint_replaced + '$', pokemon_list,
+ re.MULTILINE)
+ return solution
+
+
+@tasks.loop(seconds=random.choice(intervals))
+async def spam():
+ # for i in intervals:
+ # if i < 1.9:
+ # print("→ You can't put less than 1.9s! Your interval was changed temporally to 2s.")
+ # intervals = [2]
+ channel = client.get_channel(int(spam_id))
+ if not stopped:
+ await channel.send("vfiewojògeirjgoiohiewhpvoiweroijgoijrgpreo")
+
+
+@spam.before_loop
+async def before_spam():
+ await client.wait_until_ready()
+
+
+spam.start()
+
+
+@client.event
+async def on_ready():
+ print(f'Logged into account: {client.user.name}')
+
+
+@client.event
+async def on_message(message):
+ global stopped
+ global captcha_done
+ channel = client.get_channel(int(catch_id))
+ if logs_id:
+ logs_channel = client.get_channel(int(logs_id))
+ if message.channel.id == int(catch_id):
+ if message.author.id == poketwo:
+ if not stopped:
+ if message.embeds:
+ embed_title = message.embeds[0].title
+ if 'wild pokémon has appeared!' in embed_title:
+ spam.cancel()
+ await asyncio.sleep(30)
+ await channel.send('<@716390085896962058> h')
+ elif "Congratulations" in embed_title:
+ embed_content = message.embeds[0].description
+ if 'now level' in embed_content:
+ split = embed_content.split(' ')
+ a = embed_content.count(' ')
+ level = int(split[a].replace('!', ''))
+ if level == 100:
+ await channel.send(f".s {to_level}")
+ with open('data/level', 'r') as fi:
+ data = fi.read().splitlines(True)
+ with open('data/level', 'w') as fo:
+ fo.writelines(data[1:])
+ elif "Pride Buddy?" in embed_title:
+ spam.cancel()
+ stopped = True
+ print(f'--> Pride Buddy "{embed_title.replace(" as Pride Buddy?", "").replace("Set ", "")}" is waiting!')
+ channel = client.get_channel(int(pride_buddy_channel_id))
+ await channel.send(f'<@{bot_owner}>, A Pride Buddy is waiting for you!')
+ await asyncio.sleep(15)
+ spam.start()
+ stopped = False
+
+ else:
+ content = message.content
+ if 'The pokémon is ' in content:
+ if not len(solve(content)):
+ print('Pokemon not found.')
+ else:
+ for i in solve(content):
+ await asyncio.sleep(1.8)
+ await channel.send(
+ f'<@716390085896962058> c {i}')
+ check = random.randint(1, 60)
+ if check == 1:
+ await asyncio.sleep(900)
+ spam.start()
+ else:
+ await asyncio.sleep(1)
+ spam.start()
+
+ elif 'Congratulations' in content:
+ global shiny
+ global legendary
+ global num_pokemon
+ global mythical
+ num_pokemon += 1
+ split = content.split(' ')
+ pokemon = split[7].replace('!', '')
+ if 'seem unusual...' in content:
+ shiny += 1
+
+ print('ㅤㅤㅤㅤ')
+ print(
+ '-----------------------------------------------'
+ )
+ print(f' ⭐ A SHINY Pokémon was caught! ⭐')
+ print('ㅤㅤㅤㅤ')
+ print(f' → Total Pokémon Caught: {num_pokemon}')
+ print(f' → Mythical Pokémon Caught: {mythical}')
+ print(
+ f' → Legendary Pokémon Caught: {legendary}')
+ print(f' → Shiny Pokémon Caught: {shiny}')
+ print(
+ '-----------------------------------------------'
+ )
+ print('ㅤㅤㅤㅤ')
+
+ if logs_id:
+ await logs_channel.send(
+ f'```⭐ A SHINY Pokémon was caught! ⭐```\n→ Total Pokémon Caught: {num_pokemon}\n→ Mythical Pokémon Caught: {mythical}\n→ Legendary Pokémon Caught: {legendary}\n→ Shiny Pokémon Caught: {shiny}'
+ )
+
+ elif re.findall('^' + pokemon + '$', legendary_list,
+ re.MULTILINE):
+ legendary += 1
+
+ print('ㅤㅤㅤㅤ')
+ print(
+ '-----------------------------------------------'
+ )
+ print(f' 💎 A LEGENDARY Pokémon was caught! 💎')
+ print('ㅤㅤㅤㅤ')
+ print(
+ f' → Total Pokémon Caught: {num_pokemon}')
+ print(
+ f' → Mythical Pokémon Caught: {mythical}')
+ print(
+ f' → Legendary Pokémon Caught: {legendary}'
+ )
+ print(f' → Shiny Pokémon Caught: {shiny}')
+ print(
+ '-----------------------------------------------'
+ )
+ print('ㅤㅤㅤㅤ')
+
+ if logs_id:
+ await logs_channel.send(
+ f'```💎 A LEGENDARY Pokémon was caught! 💎```\n→ Total Pokémon Caught: {num_pokemon}\n→ Mythical Pokémon Caught: {mythical}\n→ Legendary Pokémon Caught: {legendary}\n→ Shiny Pokémon Caught: {shiny}'
+ )
+
+ elif re.findall('^' + pokemon + '$', mythical_list,
+ re.MULTILINE):
+ mythical += 1
+
+ print('ㅤㅤㅤㅤ')
+ print(
+ '-----------------------------------------------'
+ )
+ print(f' 💥 A MYTHICAL Pokémon was caught! 💥')
+ print('ㅤㅤㅤㅤ')
+ print(
+ f' → Total Pokémon Caught: {num_pokemon}')
+ print(
+ f' → Mythical Pokémon Caught: {mythical}')
+ print(
+ f' → Legendary Pokémon Caught: {legendary}'
+ )
+ print(f' → Shiny Pokémon Caught: {shiny}')
+ print(
+ '-----------------------------------------------'
+ )
+ print('ㅤㅤㅤㅤ')
+
+ if logs_id:
+ await logs_channel.send(
+ f'```💥 A MYTHICAL Pokémon was caught! 💥```\n→ Total Pokémon Caught: {num_pokemon}\n→ Mythical Pokémon Caught: {mythical}\n→ Legendary Pokémon Caught: {legendary}\n→ Shiny Pokémon Caught: {shiny}'
+ )
+
+ else:
+ print('ㅤㅤㅤㅤ')
+ print(
+ '-----------------------------------------------'
+ )
+ print(f' A new Pokémon was caught!')
+ print('ㅤㅤㅤㅤ')
+ print(
+ f' → Total Pokémon Caught: {num_pokemon}')
+ print(
+ f' → Mythical Pokémon Caught: {mythical}')
+ print(
+ f' → Legendary Pokémon Caught: {legendary}'
+ )
+ print(f' → Shiny Pokémon Caught: {shiny}')
+ print(
+ '-----------------------------------------------'
+ )
+ print('ㅤㅤㅤㅤ')
+
+ if logs_id:
+ await logs_channel.send(
+ f'```A new Pokémon was caught!```\n→ Total Pokémon Caught: {num_pokemon}\n→ Mythical Pokémon Caught: {mythical}\n→ Legendary Pokémon Caught: {legendary}\n→ Shiny Pokémon Caught: {shiny}'
+ )
+
+ elif 'human' in content:
+ spam.cancel()
+ await logs_channel.send(
+ f"```Oops! Captcha detected!```\nYour autocatcher was paused because a pending captcha. Check your catch channel and use the command '%captcha_done' to confirm the autocatcher can continue."
+ )
+ if captcha_ping:
+ await logs_channel.send(
+ f'Captcha Ping: <@{captcha_ping}>')
+
+ print(
+ "Captcha detected! Please use '%captcha_done' in discord to reactivate the autocatcher!"
+ )
+ spam.cancel()
+ stopped = True
+ captcha_done = False
+ if not message.author.bot:
+ await client.process_commands(message)
+
+print()
+print(
+ f'Pokétwo Autocatcher {version}\nA free Pokétwo autocatcher Made by Ninja.69 \nEvent Log:'
+)
+keep_alive.keep_alive()
+client.run(f"{user_token}")
\ No newline at end of file
diff --git a/node.sh b/node.sh
deleted file mode 100644
index d4564b2..0000000
--- a/node.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-export NVM_DIR=/home/runner/nvm
-export NODE_VERSION=14
-
-if ! ls $NVM_DIR > /dev/null 2>&1
-then mkdir -p $NVM_DIR
-curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
-fi
-
-[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
-nvm use $NODE_VERSION
-
-# You may want to run this if you change node version
-#rm -rf node_modules/
-#npm i
-
-# install a custom npm version
-#if [ $(npm -v) != "6.14.9" ]
-#then npm i -g npm@6.14.9
-#fi
-
-#just to check if any package is missing
-npm outdated | grep "MISSING"
-if [ $? -eq 0 ]
-then npm i
-fi
-
-node .
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
deleted file mode 100644
index 3066c5f..0000000
--- a/package-lock.json
+++ /dev/null
@@ -1,6116 +0,0 @@
-{
- "name": "hello-express",
- "version": "1.0.2",
- "lockfileVersion": 1,
- "requires": true,
- "dependencies": {
- "@aero/centra": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/@aero/centra/-/centra-1.0.6.tgz",
- "integrity": "sha512-e7sUh/VjugT8LsHb4/hcbmhaVVi9deWWPQnlMnU0RAnF8+iCdGdCcKvoHnDNl/ELykwjpbKpBYbWPx0yKZaDpw=="
- },
- "@babel/runtime": {
- "version": "7.14.6",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.6.tgz",
- "integrity": "sha512-/PCB2uJ7oM44tz8YhC4Z/6PeOKXp4K588f+5M3clr1M4zbqztlo0XEfJ2LEzj/FgwfgGcIdl8n7YYjTCI0BYwg==",
- "requires": {
- "regenerator-runtime": "^0.13.4"
- }
- },
- "@canvacord/assets": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@canvacord/assets/-/assets-1.0.2.tgz",
- "integrity": "sha512-76uLD27UDlfTxtgA7armbt6G9/X1NDqm/qjs9gxbWFVfcJxVdT3r3LlwaLp0NlRa5yMylCFf3WcOHufVjk60vw=="
- },
- "@canvacord/emoji-parser": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@canvacord/emoji-parser/-/emoji-parser-1.0.1.tgz",
- "integrity": "sha512-Lb3xatdd91MR9tU4sicgrxxKg+/rVD1zKTOh55bmVF2Ri5X8vHTV+jNHTvRzkomGpyepGM+7qA4xMvG8ZqtO8g==",
- "requires": {
- "twemoji-parser": "^13.0.0"
- }
- },
- "@derhuerst/http-basic": {
- "version": "8.2.1",
- "resolved": "https://registry.npmjs.org/@derhuerst/http-basic/-/http-basic-8.2.1.tgz",
- "integrity": "sha512-Rmn7qQQulw2sxJ8qGfZ7OuqMWuhz8V+L5xnYKMF5cXVcYqmgWqlVEAme90pF7Ya8OVhxVxLmhh0rI2k6t7ITWw==",
- "requires": {
- "caseless": "^0.12.0",
- "concat-stream": "^1.6.2",
- "http-response-object": "^3.0.1",
- "parse-cache-control": "^1.0.1"
- }
- },
- "@discordjs/collection": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.1.6.tgz",
- "integrity": "sha512-utRNxnd9kSS2qhyivo9lMlt5qgAUasH2gb7BEOn6p0efFh24gjGomHzWKMAPn2hEReOPQZCJaRKoURwRotKucQ=="
- },
- "@discordjs/form-data": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@discordjs/form-data/-/form-data-3.0.1.tgz",
- "integrity": "sha512-ZfFsbgEXW71Rw/6EtBdrP5VxBJy4dthyC0tpQKGKmYFImlmmrykO14Za+BiIVduwjte0jXEBlhSKf0MWbFp9Eg==",
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- }
- },
- "@discordjs/node-pre-gyp": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/@discordjs/node-pre-gyp/-/node-pre-gyp-0.4.0.tgz",
- "integrity": "sha512-CXLpoM2hgS94i9+EAVowR92y8o3KdKc9fmoe8/FTp5XTzvoXzJln3+Ctl0oBpE6c9+11zd9oJnZPdkkOBkDPSA==",
- "requires": {
- "detect-libc": "^1.0.3",
- "https-proxy-agent": "^5.0.0",
- "make-dir": "^3.1.0",
- "node-fetch": "^2.6.1",
- "nopt": "^5.0.0",
- "npmlog": "^4.1.2",
- "rimraf": "^3.0.2",
- "semver": "^7.3.5",
- "tar": "^6.1.0"
- }
- },
- "@discordjs/opus": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/@discordjs/opus/-/opus-0.5.3.tgz",
- "integrity": "sha512-IQhCwCy2WKXLe+qkOkwO1Wjgk20uqeAbqM62tCbzIqbTsXX4YAge8Me9RFnI77Lx+UTkgm4rSVM3VPVdS/GsUw==",
- "requires": {
- "@discordjs/node-pre-gyp": "^0.4.0",
- "node-addon-api": "^3.2.1"
- }
- },
- "@distube/youtube-dl": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@distube/youtube-dl/-/youtube-dl-1.0.4.tgz",
- "integrity": "sha512-dvspiNhCIry/LPm9EkHPgGk8bTBfrENH282jNzwz5EAnn+xZF+wCDk9033fnVBY5RA1sPKSUol2MeQHgRD5/zQ==",
- "requires": {
- "execa": "~5.0.0",
- "got": "~11.8.1",
- "hh-mm-ss": "~1.2.0",
- "mkdirp": "~1.0.4",
- "streamify": "~1.0.0",
- "universalify": "~2.0.0"
- }
- },
- "@distube/ytdl": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/@distube/ytdl/-/ytdl-2.0.6.tgz",
- "integrity": "sha512-O8rm4Uh/R+zTZoZj+F2qtFbYGi4peGMs7qHbYKb+9z5gZ2id/MGTXpXlSVVn+49nkff109AflaLSJykI2BRd8A==",
- "requires": {
- "prism-media": "^1.2.9"
- }
- },
- "@distube/ytpl": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/@distube/ytpl/-/ytpl-1.0.12.tgz",
- "integrity": "sha512-Iv6qZpUkyL+R2KQhfuvmYnqlMX+n8ts44aZ3hZUJI2dAV7lCZdsRs5MAf7oOSfZrTLL4GMNex8RGmBarm7iHtg==",
- "requires": {
- "miniget": "^4.2.1"
- }
- },
- "@distube/ytsr": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@distube/ytsr/-/ytsr-1.1.2.tgz",
- "integrity": "sha512-MPhXdKeI474fXGgbsrUL9tSv39I7kh6gNOfs9Kine4aeEv1zjg6gVaXwbju3NeplwkSBT62TvILB8X42Zd2CLw==",
- "requires": {
- "miniget": "^4.2.1"
- }
- },
- "@jimp/bmp": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.14.0.tgz",
- "integrity": "sha512-5RkX6tSS7K3K3xNEb2ygPuvyL9whjanhoaB/WmmXlJS6ub4DjTqrapu8j4qnIWmO4YYtFeTbDTXV6v9P1yMA5A==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/utils": "^0.14.0",
- "bmp-js": "^0.1.0"
- }
- },
- "@jimp/core": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.14.0.tgz",
- "integrity": "sha512-S62FcKdtLtj3yWsGfJRdFXSutjvHg7aQNiFogMbwq19RP4XJWqS2nOphu7ScB8KrSlyy5nPF2hkWNhLRLyD82w==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/utils": "^0.14.0",
- "any-base": "^1.1.0",
- "buffer": "^5.2.0",
- "exif-parser": "^0.1.12",
- "file-type": "^9.0.0",
- "load-bmfont": "^1.3.1",
- "mkdirp": "^0.5.1",
- "phin": "^2.9.1",
- "pixelmatch": "^4.0.2",
- "tinycolor2": "^1.4.1"
- },
- "dependencies": {
- "mkdirp": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
- "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
- "requires": {
- "minimist": "^1.2.5"
- }
- }
- }
- },
- "@jimp/custom": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.14.0.tgz",
- "integrity": "sha512-kQJMeH87+kWJdVw8F9GQhtsageqqxrvzg7yyOw3Tx/s7v5RToe8RnKyMM+kVtBJtNAG+Xyv/z01uYQ2jiZ3GwA==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/core": "^0.14.0"
- }
- },
- "@jimp/gif": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.14.0.tgz",
- "integrity": "sha512-DHjoOSfCaCz72+oGGEh8qH0zE6pUBaBxPxxmpYJjkNyDZP7RkbBkZJScIYeQ7BmJxmGN4/dZn+MxamoQlr+UYg==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/utils": "^0.14.0",
- "gifwrap": "^0.9.2",
- "omggif": "^1.0.9"
- }
- },
- "@jimp/jpeg": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.14.0.tgz",
- "integrity": "sha512-561neGbr+87S/YVQYnZSTyjWTHBm9F6F1obYHiyU3wVmF+1CLbxY3FQzt4YolwyQHIBv36Bo0PY2KkkU8BEeeQ==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/utils": "^0.14.0",
- "jpeg-js": "^0.4.0"
- }
- },
- "@jimp/plugin-blit": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.14.0.tgz",
- "integrity": "sha512-YoYOrnVHeX3InfgbJawAU601iTZMwEBZkyqcP1V/S33Qnz9uzH1Uj1NtC6fNgWzvX6I4XbCWwtr4RrGFb5CFrw==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/utils": "^0.14.0"
- }
- },
- "@jimp/plugin-blur": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.14.0.tgz",
- "integrity": "sha512-9WhZcofLrT0hgI7t0chf7iBQZib//0gJh9WcQMUt5+Q1Bk04dWs8vTgLNj61GBqZXgHSPzE4OpCrrLDBG8zlhQ==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/utils": "^0.14.0"
- }
- },
- "@jimp/plugin-circle": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.14.0.tgz",
- "integrity": "sha512-o5L+wf6QA44tvTum5HeLyLSc5eVfIUd5ZDVi5iRfO4o6GT/zux9AxuTSkKwnjhsG8bn1dDmywAOQGAx7BjrQVA==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/utils": "^0.14.0"
- }
- },
- "@jimp/plugin-color": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.14.0.tgz",
- "integrity": "sha512-JJz512SAILYV0M5LzBb9sbOm/XEj2fGElMiHAxb7aLI6jx+n0agxtHpfpV/AePTLm1vzzDxx6AJxXbKv355hBQ==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/utils": "^0.14.0",
- "tinycolor2": "^1.4.1"
- }
- },
- "@jimp/plugin-contain": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.14.0.tgz",
- "integrity": "sha512-RX2q233lGyaxiMY6kAgnm9ScmEkNSof0hdlaJAVDS1OgXphGAYAeSIAwzESZN4x3ORaWvkFefeVH9O9/698Evg==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/utils": "^0.14.0"
- }
- },
- "@jimp/plugin-cover": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.14.0.tgz",
- "integrity": "sha512-0P/5XhzWES4uMdvbi3beUgfvhn4YuQ/ny8ijs5kkYIw6K8mHcl820HahuGpwWMx56DJLHRl1hFhJwo9CeTRJtQ==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/utils": "^0.14.0"
- }
- },
- "@jimp/plugin-crop": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.14.0.tgz",
- "integrity": "sha512-Ojtih+XIe6/XSGtpWtbAXBozhCdsDMmy+THUJAGu2x7ZgKrMS0JotN+vN2YC3nwDpYkM+yOJImQeptSfZb2Sug==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/utils": "^0.14.0"
- }
- },
- "@jimp/plugin-displace": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.14.0.tgz",
- "integrity": "sha512-c75uQUzMgrHa8vegkgUvgRL/PRvD7paFbFJvzW0Ugs8Wl+CDMGIPYQ3j7IVaQkIS+cAxv+NJ3TIRBQyBrfVEOg==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/utils": "^0.14.0"
- }
- },
- "@jimp/plugin-dither": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.14.0.tgz",
- "integrity": "sha512-g8SJqFLyYexXQQsoh4dc1VP87TwyOgeTElBcxSXX2LaaMZezypmxQfLTzOFzZoK8m39NuaoH21Ou1Ftsq7LzVQ==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/utils": "^0.14.0"
- }
- },
- "@jimp/plugin-fisheye": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.14.0.tgz",
- "integrity": "sha512-BFfUZ64EikCaABhCA6mR3bsltWhPpS321jpeIQfJyrILdpFsZ/OccNwCgpW1XlbldDHIoNtXTDGn3E+vCE7vDg==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/utils": "^0.14.0"
- }
- },
- "@jimp/plugin-flip": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.14.0.tgz",
- "integrity": "sha512-WtL1hj6ryqHhApih+9qZQYA6Ye8a4HAmdTzLbYdTMrrrSUgIzFdiZsD0WeDHpgS/+QMsWwF+NFmTZmxNWqKfXw==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/utils": "^0.14.0"
- }
- },
- "@jimp/plugin-gaussian": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.14.0.tgz",
- "integrity": "sha512-uaLwQ0XAQoydDlF9tlfc7iD9drYPriFe+jgYnWm8fbw5cN+eOIcnneEX9XCOOzwgLPkNCxGox6Kxjn8zY6GxtQ==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/utils": "^0.14.0"
- }
- },
- "@jimp/plugin-invert": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.14.0.tgz",
- "integrity": "sha512-UaQW9X9vx8orQXYSjT5VcITkJPwDaHwrBbxxPoDG+F/Zgv4oV9fP+udDD6qmkgI9taU+44Fy+zm/J/gGcMWrdg==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/utils": "^0.14.0"
- }
- },
- "@jimp/plugin-mask": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.14.0.tgz",
- "integrity": "sha512-tdiGM69OBaKtSPfYSQeflzFhEpoRZ+BvKfDEoivyTjauynbjpRiwB1CaiS8En1INTDwzLXTT0Be9SpI3LkJoEA==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/utils": "^0.14.0"
- }
- },
- "@jimp/plugin-normalize": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.14.0.tgz",
- "integrity": "sha512-AfY8sqlsbbdVwFGcyIPy5JH/7fnBzlmuweb+Qtx2vn29okq6+HelLjw2b+VT2btgGUmWWHGEHd86oRGSoWGyEQ==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/utils": "^0.14.0"
- }
- },
- "@jimp/plugin-print": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.14.0.tgz",
- "integrity": "sha512-MwP3sH+VS5AhhSTXk7pui+tEJFsxnTKFY3TraFJb8WFbA2Vo2qsRCZseEGwpTLhENB7p/JSsLvWoSSbpmxhFAQ==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/utils": "^0.14.0",
- "load-bmfont": "^1.4.0"
- }
- },
- "@jimp/plugin-resize": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.14.0.tgz",
- "integrity": "sha512-qFeMOyXE/Bk6QXN0GQo89+CB2dQcXqoxUcDb2Ah8wdYlKqpi53skABkgVy5pW3EpiprDnzNDboMltdvDslNgLQ==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/utils": "^0.14.0"
- }
- },
- "@jimp/plugin-rotate": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.14.0.tgz",
- "integrity": "sha512-aGaicts44bvpTcq5Dtf93/8TZFu5pMo/61lWWnYmwJJU1RqtQlxbCLEQpMyRhKDNSfPbuP8nyGmaqXlM/82J0Q==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/utils": "^0.14.0"
- }
- },
- "@jimp/plugin-scale": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.14.0.tgz",
- "integrity": "sha512-ZcJk0hxY5ZKZDDwflqQNHEGRblgaR+piePZm7dPwPUOSeYEH31P0AwZ1ziceR74zd8N80M0TMft+e3Td6KGBHw==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/utils": "^0.14.0"
- }
- },
- "@jimp/plugin-shadow": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.14.0.tgz",
- "integrity": "sha512-p2igcEr/iGrLiTu0YePNHyby0WYAXM14c5cECZIVnq/UTOOIQ7xIcWZJ1lRbAEPxVVXPN1UibhZAbr3HAb5BjQ==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/utils": "^0.14.0"
- }
- },
- "@jimp/plugin-threshold": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.14.0.tgz",
- "integrity": "sha512-N4BlDgm/FoOMV/DQM2rSpzsgqAzkP0DXkWZoqaQrlRxQBo4zizQLzhEL00T/YCCMKnddzgEhnByaocgaaa0fKw==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/utils": "^0.14.0"
- }
- },
- "@jimp/plugins": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.14.0.tgz",
- "integrity": "sha512-vDO3XT/YQlFlFLq5TqNjQkISqjBHT8VMhpWhAfJVwuXIpilxz5Glu4IDLK6jp4IjPR6Yg2WO8TmRY/HI8vLrOw==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/plugin-blit": "^0.14.0",
- "@jimp/plugin-blur": "^0.14.0",
- "@jimp/plugin-circle": "^0.14.0",
- "@jimp/plugin-color": "^0.14.0",
- "@jimp/plugin-contain": "^0.14.0",
- "@jimp/plugin-cover": "^0.14.0",
- "@jimp/plugin-crop": "^0.14.0",
- "@jimp/plugin-displace": "^0.14.0",
- "@jimp/plugin-dither": "^0.14.0",
- "@jimp/plugin-fisheye": "^0.14.0",
- "@jimp/plugin-flip": "^0.14.0",
- "@jimp/plugin-gaussian": "^0.14.0",
- "@jimp/plugin-invert": "^0.14.0",
- "@jimp/plugin-mask": "^0.14.0",
- "@jimp/plugin-normalize": "^0.14.0",
- "@jimp/plugin-print": "^0.14.0",
- "@jimp/plugin-resize": "^0.14.0",
- "@jimp/plugin-rotate": "^0.14.0",
- "@jimp/plugin-scale": "^0.14.0",
- "@jimp/plugin-shadow": "^0.14.0",
- "@jimp/plugin-threshold": "^0.14.0",
- "timm": "^1.6.1"
- }
- },
- "@jimp/png": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.14.0.tgz",
- "integrity": "sha512-0RV/mEIDOrPCcNfXSPmPBqqSZYwGADNRVUTyMt47RuZh7sugbYdv/uvKmQSiqRdR0L1sfbCBMWUEa5G/8MSbdA==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/utils": "^0.14.0",
- "pngjs": "^3.3.3"
- }
- },
- "@jimp/tiff": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.14.0.tgz",
- "integrity": "sha512-zBYDTlutc7j88G/7FBCn3kmQwWr0rmm1e0FKB4C3uJ5oYfT8645lftUsvosKVUEfkdmOaMAnhrf4ekaHcb5gQw==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "utif": "^2.0.1"
- }
- },
- "@jimp/types": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.14.0.tgz",
- "integrity": "sha512-hx3cXAW1KZm+b+XCrY3LXtdWy2U+hNtq0rPyJ7NuXCjU7lZR3vIkpz1DLJ3yDdS70hTi5QDXY3Cd9kd6DtloHQ==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/bmp": "^0.14.0",
- "@jimp/gif": "^0.14.0",
- "@jimp/jpeg": "^0.14.0",
- "@jimp/png": "^0.14.0",
- "@jimp/tiff": "^0.14.0",
- "timm": "^1.6.1"
- }
- },
- "@jimp/utils": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.14.0.tgz",
- "integrity": "sha512-MY5KFYUru0y74IsgM/9asDwb3ERxWxXEu3CRCZEvE7DtT86y1bR1XgtlSliMrptjz4qbivNGMQSvUBpEFJDp1A==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "regenerator-runtime": "^0.13.3"
- }
- },
- "@sindresorhus/is": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.0.1.tgz",
- "integrity": "sha512-Qm9hBEBu18wt1PO2flE7LPb30BHMQt1eQgbV76YntdNk73XZGpn3izvGTYxbGgzXKgbCjiia0uxTd3aTNQrY/g=="
- },
- "@sourcebin/linguist": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/@sourcebin/linguist/-/linguist-0.0.3.tgz",
- "integrity": "sha512-VVkb/34pISdK+1tyqmwBac6crn8UhviKCRV5w/wc8iZyTCOoTrOu0Cgbqfh0bfMGxNlQuhaRy6cMmEmHxa5R3g=="
- },
- "@sushibtw/youtubei": {
- "version": "0.0.1-rc.16",
- "resolved": "https://registry.npmjs.org/@sushibtw/youtubei/-/youtubei-0.0.1-rc.16.tgz",
- "integrity": "sha512-32MkIH8pdF2urzs5BV7/upXx2S5uJ0W+TjiMfTPwTS8GFQdfy+QvqvnlMJ2xFGBHL2diM/jiF0sLrWuG+r2wpw=="
- },
- "@sushibtw/ytdl-core": {
- "version": "1.0.0-patch",
- "resolved": "https://registry.npmjs.org/@sushibtw/ytdl-core/-/ytdl-core-1.0.0-patch.tgz",
- "integrity": "sha512-+HwsvViwgv55RkjtWNnsD1ZPx3QxZ/KOTf7EE6U3f+7qTzWqNoKZV2mJYERzrUHPx9+YRY3kBYMJ/+WVY6B/Gg==",
- "requires": {
- "m3u8stream": "^0.8.3",
- "miniget": "^4.0.0",
- "sax": "^1.1.3"
- }
- },
- "@szmarczak/http-timer": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.5.tgz",
- "integrity": "sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ==",
- "requires": {
- "defer-to-connect": "^2.0.0"
- }
- },
- "@types/bson": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/@types/bson/-/bson-4.0.4.tgz",
- "integrity": "sha512-awqorHvQS0DqxkHQ/FxcPX9E+H7Du51Qw/2F+5TBMSaE3G0hm+8D3eXJ6MAzFw75nE8V7xF0QvzUSdxIjJb/GA==",
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/cacheable-request": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz",
- "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==",
- "requires": {
- "@types/http-cache-semantics": "*",
- "@types/keyv": "*",
- "@types/node": "*",
- "@types/responselike": "*"
- }
- },
- "@types/http-cache-semantics": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz",
- "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ=="
- },
- "@types/keyv": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.2.tgz",
- "integrity": "sha512-/FvAK2p4jQOaJ6CGDHJTqZcUtbZe820qIeTg7o0Shg7drB4JHeL+V/dhSaly7NXx6u8eSee+r7coT+yuJEvDLg==",
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/mongodb": {
- "version": "3.6.20",
- "resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.6.20.tgz",
- "integrity": "sha512-WcdpPJCakFzcWWD9juKoZbRtQxKIMYF/JIAM4JrNHrMcnJL6/a2NWjXxW7fo9hxboxxkg+icff8d7+WIEvKgYQ==",
- "requires": {
- "@types/bson": "*",
- "@types/node": "*"
- }
- },
- "@types/node": {
- "version": "16.3.1",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-16.3.1.tgz",
- "integrity": "sha512-N87VuQi7HEeRJkhzovao/JviiqKjDKMVKxKMfUvSKw+MbkbW8R0nA3fi/MQhhlxV2fQ+2ReM+/Nt4efdrJx3zA=="
- },
- "@types/responselike": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz",
- "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==",
- "requires": {
- "@types/node": "*"
- }
- },
- "@ungap/url-search-params": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/@ungap/url-search-params/-/url-search-params-0.2.2.tgz",
- "integrity": "sha512-qQsguKXZVKdCixOHX9jqnX/K/1HekPDpGKyEcXHT+zR6EjGA7S4boSuelL4uuPv6YfhN0n8c4UxW+v/Z3gM2iw=="
- },
- "@vitalets/google-translate-api": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@vitalets/google-translate-api/-/google-translate-api-7.0.0.tgz",
- "integrity": "sha512-zuKF+jG0EhFzRU/QAyHgTVzIDhrv5zDUmQWy7umwZryMbG8H0jK4fdMGrgla5AhQGU8ViiDWi/xbxNCKK7KHYA==",
- "requires": {
- "configstore": "^5.0.1",
- "got": "^9.6.0"
- },
- "dependencies": {
- "@sindresorhus/is": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
- "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ=="
- },
- "@szmarczak/http-timer": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
- "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
- "requires": {
- "defer-to-connect": "^1.0.1"
- }
- },
- "cacheable-request": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
- "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
- "requires": {
- "clone-response": "^1.0.2",
- "get-stream": "^5.1.0",
- "http-cache-semantics": "^4.0.0",
- "keyv": "^3.0.0",
- "lowercase-keys": "^2.0.0",
- "normalize-url": "^4.1.0",
- "responselike": "^1.0.2"
- },
- "dependencies": {
- "get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "requires": {
- "pump": "^3.0.0"
- }
- },
- "lowercase-keys": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
- "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA=="
- }
- }
- },
- "decompress-response": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
- "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
- "requires": {
- "mimic-response": "^1.0.0"
- }
- },
- "defer-to-connect": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
- "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ=="
- },
- "get-stream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
- "requires": {
- "pump": "^3.0.0"
- }
- },
- "got": {
- "version": "9.6.0",
- "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
- "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==",
- "requires": {
- "@sindresorhus/is": "^0.14.0",
- "@szmarczak/http-timer": "^1.1.2",
- "cacheable-request": "^6.0.0",
- "decompress-response": "^3.3.0",
- "duplexer3": "^0.1.4",
- "get-stream": "^4.1.0",
- "lowercase-keys": "^1.0.1",
- "mimic-response": "^1.0.1",
- "p-cancelable": "^1.0.0",
- "to-readable-stream": "^1.0.0",
- "url-parse-lax": "^3.0.0"
- }
- },
- "json-buffer": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
- "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg="
- },
- "keyv": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
- "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
- "requires": {
- "json-buffer": "3.0.0"
- }
- },
- "lowercase-keys": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
- "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA=="
- },
- "mimic-response": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
- "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="
- },
- "normalize-url": {
- "version": "4.5.1",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz",
- "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA=="
- },
- "p-cancelable": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
- "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw=="
- },
- "responselike": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
- "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
- "requires": {
- "lowercase-keys": "^1.0.0"
- }
- }
- }
- },
- "abbrev": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
- },
- "abort-controller": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
- "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
- "requires": {
- "event-target-shim": "^5.0.0"
- }
- },
- "accepts": {
- "version": "1.3.7",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
- "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
- "requires": {
- "mime-types": "~2.1.24",
- "negotiator": "0.6.2"
- }
- },
- "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"
- }
- },
- "ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "akaneko": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/akaneko/-/akaneko-3.5.1.tgz",
- "integrity": "sha512-+EcAGNhOXbj1JzROW78tJwQqwgrVHAZEotW6k1U6n2neh8OH9cA2hCq/EBqbgRstKx4bpMpLIucFR65OpLxWBg=="
- },
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
- },
- "any-base": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz",
- "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg=="
- },
- "aproba": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
- "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
- },
- "are-we-there-yet": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
- "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
- "requires": {
- "delegates": "^1.0.0",
- "readable-stream": "^2.0.6"
- }
- },
- "array-flatten": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
- "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
- },
- "ascii-table": {
- "version": "0.0.9",
- "resolved": "https://registry.npmjs.org/ascii-table/-/ascii-table-0.0.9.tgz",
- "integrity": "sha1-BqZgTWpV1L9BqaR9mHLXp42jHnM="
- },
- "asn1": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
- "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
- "requires": {
- "safer-buffer": "~2.1.0"
- }
- },
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
- },
- "async.parallellimit": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/async.parallellimit/-/async.parallellimit-0.5.2.tgz",
- "integrity": "sha1-v9y/Lwgy8f/0wLM1S09jIGY91R8=",
- "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": "sha1-i4y4z7AniqXOtQqPgAwcJmjbV+8=",
- "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": "sha1-5i2sjyY29lh13PdSHC0k0N+yu98="
- },
- "async.util.isarraylike": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/async.util.isarraylike/-/async.util.isarraylike-0.5.2.tgz",
- "integrity": "sha1-jn+H2pFB8vCZboBAR30NTv4/UPg=",
- "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": "sha1-M55s6PidAAQz+3gU4ico8/F1CQ0=",
- "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": "sha1-XDTd2KPtt6eIPJtf4hJngbIJivY="
- },
- "async.util.noop": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/async.util.noop/-/async.util.noop-0.5.2.tgz",
- "integrity": "sha1-vdYrl8sKo/YLWGrRSEaGmJdeWLk="
- },
- "async.util.once": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/async.util.once/-/async.util.once-0.5.2.tgz",
- "integrity": "sha1-FFPLdATK0IImlPq6vEepblyqchY="
- },
- "async.util.onlyonce": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/async.util.onlyonce/-/async.util.onlyonce-0.5.2.tgz",
- "integrity": "sha1-uOb8AErckjFk154y8oE+5GXCT/I="
- },
- "async.util.parallel": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/async.util.parallel/-/async.util.parallel-0.5.2.tgz",
- "integrity": "sha1-IzUk49b6/9XplddUdrjZJPloCM0=",
- "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": "sha1-A+/r88Ane5ciDlJaunUPXgT8gM0="
- },
- "asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
- },
- "avconv": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/avconv/-/avconv-3.1.0.tgz",
- "integrity": "sha1-uzYM9GR5WJn+MyxEjiITIoSub9k="
- },
- "await": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/await/-/await-0.2.6.tgz",
- "integrity": "sha1-yI5u5pPW7Tcv8PUuwV1WVZCIVc4="
- },
- "aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
- },
- "aws4": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
- "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
- },
- "axios": {
- "version": "0.21.1",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz",
- "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==",
- "requires": {
- "follow-redirects": "^1.10.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=="
- },
- "bcrypt-pbkdf": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
- "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
- "requires": {
- "tweetnacl": "^0.14.3"
- },
- "dependencies": {
- "tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
- }
- }
- },
- "better-sqlite3": {
- "version": "7.4.1",
- "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-7.4.1.tgz",
- "integrity": "sha512-sk1kW3PsWE7W7G9qbi5TQxCROlQVR8YWlp4srbyrwN5DrLeamKfrm3JExwOiNSAYyJv8cw5/2HOfvF/ipZj4qg==",
- "requires": {
- "bindings": "^1.5.0",
- "prebuild-install": "^6.0.1",
- "tar": "^6.1.0"
- }
- },
- "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"
- }
- },
- "bl": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz",
- "integrity": "sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==",
- "requires": {
- "readable-stream": "^2.3.5",
- "safe-buffer": "^5.1.1"
- }
- },
- "bluebird": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
- "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA=="
- },
- "bmp-js": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz",
- "integrity": "sha1-4Fpj95amwf8l9Hcex62twUjAcjM="
- },
- "body-parser": {
- "version": "1.19.0",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
- "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
- "requires": {
- "bytes": "3.1.0",
- "content-type": "~1.0.4",
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "http-errors": "1.7.2",
- "iconv-lite": "0.4.24",
- "on-finished": "~2.3.0",
- "qs": "6.7.0",
- "raw-body": "2.4.0",
- "type-is": "~1.6.17"
- },
- "dependencies": {
- "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"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "boolbase": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
- "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
- },
- "boolstring": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/boolstring/-/boolstring-1.0.2.tgz",
- "integrity": "sha512-0JLNSmZUv1m/O8sVayFm2t0naiOXwQ9O2Gq9u1eoIkhvu6U5NQER/e3k4BGpjZ33G775lWMT7TzJ7r5VtmEnbQ=="
- },
- "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"
- }
- },
- "bson": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.6.tgz",
- "integrity": "sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg=="
- },
- "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-equal": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz",
- "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs="
- },
- "buffer-from": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
- "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
- },
- "bytes": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
- "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
- },
- "cacheable-lookup": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz",
- "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA=="
- },
- "cacheable-request": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz",
- "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==",
- "requires": {
- "clone-response": "^1.0.2",
- "get-stream": "^5.1.0",
- "http-cache-semantics": "^4.0.0",
- "keyv": "^4.0.0",
- "lowercase-keys": "^2.0.0",
- "normalize-url": "^6.0.1",
- "responselike": "^2.0.0"
- },
- "dependencies": {
- "get-stream": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "requires": {
- "pump": "^3.0.0"
- }
- }
- }
- },
- "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"
- }
- },
- "canvacord": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/canvacord/-/canvacord-5.2.1.tgz",
- "integrity": "sha512-vauEvj3QEDNyza6laa4C5cKiOSld/O+Uvjr8uzD+ANUxaWtprHE6372J7oXMqrjPEsOd4XAwKuy5zlVPe4a7OQ==",
- "requires": {
- "@canvacord/assets": "^1.0.2",
- "@canvacord/emoji-parser": "^1.0.1",
- "canvas": "^2.7.0",
- "gifencoder": "^2.0.1",
- "moment": "^2.29.1",
- "moment-duration-format": "^2.3.2"
- }
- },
- "canvas": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/canvas/-/canvas-2.8.0.tgz",
- "integrity": "sha512-gLTi17X8WY9Cf5GZ2Yns8T5lfBOcGgFehDFb+JQwDqdOoBOcECS9ZWMEAqMSVcMYwXD659J8NyzjRY/2aE+C2Q==",
- "requires": {
- "@mapbox/node-pre-gyp": "^1.0.0",
- "nan": "^2.14.0",
- "simple-get": "^3.0.3"
- },
- "dependencies": {
- "@mapbox/node-pre-gyp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.5.tgz",
- "integrity": "sha512-4srsKPXWlIxp5Vbqz5uLfBN+du2fJChBoYn/f2h991WLdk7jUvcSk/McVLSv/X+xQIPI8eGD5GjrnygdyHnhPA==",
- "requires": {
- "detect-libc": "^1.0.3",
- "https-proxy-agent": "^5.0.0",
- "make-dir": "^3.1.0",
- "node-fetch": "^2.6.1",
- "nopt": "^5.0.0",
- "npmlog": "^4.1.2",
- "rimraf": "^3.0.2",
- "semver": "^7.3.4",
- "tar": "^6.1.0"
- }
- }
- }
- },
- "canvas-constructor": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/canvas-constructor/-/canvas-constructor-4.1.0.tgz",
- "integrity": "sha512-IWZ80DeKIODMnZS1ygaalM7AYaa02KeTnMzMmLhuUK/K1p+pmetMPu6ab9DAT7HsmC9H/xHMn/oSH0K/EnEbYQ=="
- },
- "canvas-senpai": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/canvas-senpai/-/canvas-senpai-0.1.6.tgz",
- "integrity": "sha512-JaI5+KOyT5pq1eWSUze3AuhhUlnGQSLw1IwNqm6vVQ8cavpb8kp9X5rWO4DlgwpHFee8dBxoD5bzPSM825Z2jA==",
- "requires": {
- "canvas": "^2.6.1",
- "jimp": "^0.14.0"
- }
- },
- "caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
- },
- "charenc": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
- "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc="
- },
- "cheerio": {
- "version": "1.0.0-rc.10",
- "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz",
- "integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==",
- "requires": {
- "cheerio-select": "^1.5.0",
- "dom-serializer": "^1.3.2",
- "domhandler": "^4.2.0",
- "htmlparser2": "^6.1.0",
- "parse5": "^6.0.1",
- "parse5-htmlparser2-tree-adapter": "^6.0.1",
- "tslib": "^2.2.0"
- }
- },
- "cheerio-select": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.5.0.tgz",
- "integrity": "sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==",
- "requires": {
- "css-select": "^4.1.3",
- "css-what": "^5.0.1",
- "domelementtype": "^2.2.0",
- "domhandler": "^4.2.0",
- "domutils": "^2.7.0"
- }
- },
- "chownr": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
- "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ=="
- },
- "cli-color": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-1.2.0.tgz",
- "integrity": "sha1-OlrnT9drYmevZm5p4q+70B3vNNE=",
- "requires": {
- "ansi-regex": "^2.1.1",
- "d": "1",
- "es5-ext": "^0.10.12",
- "es6-iterator": "2",
- "memoizee": "^0.4.3",
- "timers-ext": "0.1"
- }
- },
- "clone-response": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
- "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
- "requires": {
- "mimic-response": "^1.0.0"
- },
- "dependencies": {
- "mimic-response": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
- "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="
- }
- }
- },
- "code-point-at": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
- },
- "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"
- }
- },
- "common-tags": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz",
- "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw=="
- },
- "complex.js": {
- "version": "2.0.15",
- "resolved": "https://registry.npmjs.org/complex.js/-/complex.js-2.0.15.tgz",
- "integrity": "sha512-gDBvQU8IG139ZBQTSo2qvDFP+lANMGluM779csXOr6ny1NUtA3wkUnCFjlDNH/moAVfXtvClYt6G0zarFbtz5w=="
- },
- "component-emitter": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
- "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
- },
- "concat-stream": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
- "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
- "requires": {
- "buffer-from": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^2.2.2",
- "typedarray": "^0.0.6"
- }
- },
- "configstore": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz",
- "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==",
- "requires": {
- "dot-prop": "^5.2.0",
- "graceful-fs": "^4.1.2",
- "make-dir": "^3.0.0",
- "unique-string": "^2.0.0",
- "write-file-atomic": "^3.0.0",
- "xdg-basedir": "^4.0.0"
- }
- },
- "console-control-strings": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
- "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
- },
- "content-disposition": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
- "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
- "requires": {
- "safe-buffer": "5.1.2"
- }
- },
- "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.4.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
- "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg=="
- },
- "cookie-signature": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
- "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
- },
- "cookiejar": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz",
- "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA=="
- },
- "core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
- },
- "cpu-stat": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/cpu-stat/-/cpu-stat-2.0.1.tgz",
- "integrity": "sha1-UB6NbdLUTO9dhCk5w40YIsB4/Kw="
- },
- "cross-fetch": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz",
- "integrity": "sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==",
- "requires": {
- "node-fetch": "2.6.1"
- }
- },
- "cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- }
- },
- "crypt": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
- "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs="
- },
- "crypto-random-string": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
- "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA=="
- },
- "css-select": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz",
- "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==",
- "requires": {
- "boolbase": "^1.0.0",
- "css-what": "^5.0.0",
- "domhandler": "^4.2.0",
- "domutils": "^2.6.0",
- "nth-check": "^2.0.0"
- }
- },
- "css-what": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz",
- "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg=="
- },
- "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"
- }
- },
- "dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "dasu": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/dasu/-/dasu-0.4.2.tgz",
- "integrity": "sha512-3iZKDAKqv0APFwpqP40gpro5msM+pwhQN7IhB42mjbL1W4M2V6A+MJy7RhA8y6lUM+1mQoLls3OePidmzVbncQ=="
- },
- "data-uri-to-buffer": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz",
- "integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og=="
- },
- "debug": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
- "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
- "requires": {
- "ms": "2.1.2"
- },
- "dependencies": {
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
- }
- }
- },
- "decimal.js": {
- "version": "10.3.1",
- "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz",
- "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ=="
- },
- "decode-uri-component": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
- "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
- },
- "decompress-response": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz",
- "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==",
- "requires": {
- "mimic-response": "^2.0.0"
- }
- },
- "deep-extend": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="
- },
- "deepmerge": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
- "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg=="
- },
- "defer-to-connect": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz",
- "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg=="
- },
- "delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
- },
- "delegates": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
- "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
- },
- "denque": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.0.tgz",
- "integrity": "sha512-CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ=="
- },
- "depd": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
- },
- "destroy": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
- "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
- },
- "detect-libc": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
- "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups="
- },
- "di": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
- "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw="
- },
- "discord-akairo": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/discord-akairo/-/discord-akairo-8.1.0.tgz",
- "integrity": "sha512-INWYmHo6NgyYx1ZKGSCmgznVfvkXpWGj4fGCGjO8IPkZ06Bidb9YKr4rXy2lwG0kprCjvqY0qbbhcw6N050abQ=="
- },
- "discord-backup": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/discord-backup/-/discord-backup-2.5.0.tgz",
- "integrity": "sha512-07xCibA41SND74FhUpOoJxN737wTI6sMYbWUUyfxtYfDK2bRFstOf4jwoZFTBlVNkK7PAkCEf6MdSFFgqHcg5w==",
- "requires": {
- "discord.js": "^12.5.3"
- }
- },
- "discord-buttons": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/discord-buttons/-/discord-buttons-4.0.0.tgz",
- "integrity": "sha512-E/eQX4Ktj7nKwNDsTfCezBNCu73FtPWJfQcpKohfl0jct/ucMUO+7uhL2MhGsZr4SCfojk7OzccAznuntB564w=="
- },
- "discord-giveaways": {
- "version": "4.5.1",
- "resolved": "https://registry.npmjs.org/discord-giveaways/-/discord-giveaways-4.5.1.tgz",
- "integrity": "sha512-aSOD7IiCqfJ2sU1GbdH0EP/xwuXZW/h7+8RH6LzgfZaYy2V89O0qKwbe52Dy2ToymAexPhEGpDKZHrm6Vd0Jqw==",
- "requires": {
- "deepmerge": "^4.2.2",
- "serialize-javascript": "^5.0.1"
- }
- },
- "discord-music-player": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/discord-music-player/-/discord-music-player-7.2.0.tgz",
- "integrity": "sha512-oFov4sx8KTcsIRxq9b0d5Fx+Pl7ZvQl7DI4fKQwZWc3B1dToToD4xyR19WrRjjlS2VRP7NYLrVmojUYzMoc9TQ==",
- "requires": {
- "@sushibtw/youtubei": "0.0.1-rc.16",
- "@sushibtw/ytdl-core": "1.0.0-patch",
- "ffmpeg-static": "^4.2.7",
- "html-entities": "^2.1.0",
- "miniget": "^4.2.0",
- "spotify-url-info": "^2.2.0",
- "ytsr": "^3.3.1"
- },
- "dependencies": {
- "html-entities": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz",
- "integrity": "sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ=="
- }
- }
- },
- "discord-xp": {
- "version": "1.1.16",
- "resolved": "https://registry.npmjs.org/discord-xp/-/discord-xp-1.1.16.tgz",
- "integrity": "sha512-A5g6utg+0fCLEUl6sS5J5mpr8DAXe5KxBFQnJf89KpQ71Itt0Hdv5/seOBCc6p239nuxEfW9n29peMlLCuvlrg==",
- "requires": {
- "mongoose": "^5.11.11"
- }
- },
- "discord.js": {
- "version": "12.5.3",
- "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-12.5.3.tgz",
- "integrity": "sha512-D3nkOa/pCkNyn6jLZnAiJApw2N9XrIsXUAdThf01i7yrEuqUmDGc7/CexVWwEcgbQR97XQ+mcnqJpmJ/92B4Aw==",
- "requires": {
- "@discordjs/collection": "^0.1.6",
- "@discordjs/form-data": "^3.0.1",
- "abort-controller": "^3.0.0",
- "node-fetch": "^2.6.1",
- "prism-media": "^1.2.9",
- "setimmediate": "^1.0.5",
- "tweetnacl": "^1.0.3",
- "ws": "^7.4.4"
- }
- },
- "discord.js-commando": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/discord.js-commando/-/discord.js-commando-0.10.0.tgz",
- "integrity": "sha1-v6mL8zEIcDdvPHoNe3Nqaj5dCg8=",
- "requires": {
- "common-tags": "^1.0.0",
- "escape-string-regexp": "^1.0.0",
- "require-all": "^2.0.0"
- }
- },
- "distube": {
- "version": "2.8.15",
- "resolved": "https://registry.npmjs.org/distube/-/distube-2.8.15.tgz",
- "integrity": "sha512-g8uL2IrVX0CJxguhiEn0ARpSMZfKnrC4Z1Nw8bQSMVN6P8k1kJqR7gtme3SvxuRcf6ygBQUQDD2/sjRQiuBToQ==",
- "requires": {
- "@distube/youtube-dl": "^1.0.4",
- "@distube/ytdl": "^2.0.6",
- "@distube/ytpl": "^1.0.11",
- "@distube/ytsr": "^1.1.0",
- "ytdl-core": "^4.8.2"
- },
- "dependencies": {
- "ytdl-core": {
- "version": "4.8.3",
- "resolved": "https://registry.npmjs.org/ytdl-core/-/ytdl-core-4.8.3.tgz",
- "integrity": "sha512-cWCBeX4FCgjcKmuVK384MT582RIAakpUSeMF/NPVmhO8cWiG+LeQLnBordvLolb0iXYzfUvalgmycYAE5Sy6Xw==",
- "requires": {
- "m3u8stream": "^0.8.3",
- "miniget": "^4.0.0",
- "sax": "^1.1.3"
- }
- }
- }
- },
- "dom-serializer": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz",
- "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==",
- "requires": {
- "domelementtype": "^2.0.1",
- "domhandler": "^4.2.0",
- "entities": "^2.0.0"
- }
- },
- "dom-walk": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz",
- "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w=="
- },
- "domelementtype": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
- "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A=="
- },
- "domhandler": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz",
- "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==",
- "requires": {
- "domelementtype": "^2.2.0"
- }
- },
- "domutils": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.7.0.tgz",
- "integrity": "sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg==",
- "requires": {
- "dom-serializer": "^1.0.1",
- "domelementtype": "^2.2.0",
- "domhandler": "^4.2.0"
- }
- },
- "dot-prop": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz",
- "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==",
- "requires": {
- "is-obj": "^2.0.0"
- }
- },
- "dote": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/dote/-/dote-1.1.0.tgz",
- "integrity": "sha512-FgSIBaxINx0eL06MVKfOLuONBoL41vCQ5GM+MBBnYv2w2fvvgZGuqJGjU5cO3SNItXDyHmtiFG8nq+UITekDVQ==",
- "requires": {
- "readline-sync": "^1.4.10"
- }
- },
- "dotenv": {
- "version": "8.6.0",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz",
- "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g=="
- },
- "duplexer3": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
- "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI="
- },
- "ecc-jsbn": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
- "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
- "requires": {
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.1.0"
- }
- },
- "ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
- },
- "encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
- },
- "end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
- "requires": {
- "once": "^1.4.0"
- }
- },
- "entities": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
- "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A=="
- },
- "env": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/env/-/env-0.0.2.tgz",
- "integrity": "sha1-UMGfMHsSmkWEW2tobfWzndQNHPA="
- },
- "env-paths": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
- "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A=="
- },
- "erela.js": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/erela.js/-/erela.js-2.3.3.tgz",
- "integrity": "sha512-tzowGHLSodZr2j311csFSqm9lwE6plqeULTAwPwuRX9PQbXg4Ohdy/3MTMWrltiFAMSIG/5r9GQtTUt9Mqzhhw==",
- "requires": {
- "@discordjs/collection": "^0.1.6",
- "petitio": "^1.1.0",
- "ws": "^7.3.1"
- }
- },
- "es5-ext": {
- "version": "0.10.53",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
- "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
- "requires": {
- "es6-iterator": "~2.0.3",
- "es6-symbol": "~3.1.3",
- "next-tick": "~1.0.0"
- }
- },
- "es6-iterator": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
- "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
- "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": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
- },
- "escape-latex": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/escape-latex/-/escape-latex-1.2.0.tgz",
- "integrity": "sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw=="
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
- },
- "etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
- },
- "event-emitter": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
- "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
- "requires": {
- "d": "1",
- "es5-ext": "~0.10.14"
- }
- },
- "event-target-shim": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
- "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ=="
- },
- "execa": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.1.tgz",
- "integrity": "sha512-4hFTjFbFzQa3aCLobpbPJR/U+VoL1wdV5ozOWjeet0AWDeYr9UFGM1eUFWHX+VtOWFq4p0xXUXfW1YxUaP4fpw==",
- "requires": {
- "cross-spawn": "^7.0.3",
- "get-stream": "^6.0.0",
- "human-signals": "^2.1.0",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.1",
- "onetime": "^5.1.2",
- "signal-exit": "^3.0.3",
- "strip-final-newline": "^2.0.0"
- }
- },
- "exif-parser": {
- "version": "0.1.12",
- "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz",
- "integrity": "sha1-WKnS1ywCwfbwKg70qRZicrd2CSI="
- },
- "expand-template": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
- "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg=="
- },
- "express": {
- "version": "4.17.1",
- "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
- "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
- "requires": {
- "accepts": "~1.3.7",
- "array-flatten": "1.1.1",
- "body-parser": "1.19.0",
- "content-disposition": "0.5.3",
- "content-type": "~1.0.4",
- "cookie": "0.4.0",
- "cookie-signature": "1.0.6",
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "~1.1.2",
- "fresh": "0.5.2",
- "merge-descriptors": "1.0.1",
- "methods": "~1.1.2",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.3",
- "path-to-regexp": "0.1.7",
- "proxy-addr": "~2.0.5",
- "qs": "6.7.0",
- "range-parser": "~1.2.1",
- "safe-buffer": "5.1.2",
- "send": "0.17.1",
- "serve-static": "1.14.1",
- "setprototypeof": "1.1.1",
- "statuses": "~1.5.0",
- "type-is": "~1.6.18",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
- },
- "dependencies": {
- "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"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "ext": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz",
- "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==",
- "requires": {
- "type": "^2.0.0"
- },
- "dependencies": {
- "type": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz",
- "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw=="
- }
- }
- },
- "extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
- },
- "extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
- },
- "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-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
- },
- "fast-safe-stringify": {
- "version": "2.0.8",
- "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.8.tgz",
- "integrity": "sha512-lXatBjf3WPjmWD6DpIZxkeSsCOwqI0maYMpgDlx8g4U2qi4lbjA9oH/HD2a87G+KfsUmo5WbJFmqBZlPxtptag=="
- },
- "fetch-blob": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-2.1.2.tgz",
- "integrity": "sha512-YKqtUDwqLyfyMnmbw8XD6Q8j9i/HggKtPEI+pZ1+8bvheBu78biSmNaXWusx1TauGqtUUGx/cBb1mKdq2rLYow=="
- },
- "ffmpeg-static": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/ffmpeg-static/-/ffmpeg-static-4.4.0.tgz",
- "integrity": "sha512-NIJHVPXlSsIK9pYvsTPh4ZlppauorpPLLeOaIG7VOXWQck4Fx4Qi7Ahe+j8mj8KZXhWwCg3Hx46JdWAIOWLcpg==",
- "requires": {
- "@derhuerst/http-basic": "^8.2.0",
- "env-paths": "^2.2.0",
- "https-proxy-agent": "^5.0.0",
- "progress": "^2.0.3"
- }
- },
- "figlet": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/figlet/-/figlet-1.5.0.tgz",
- "integrity": "sha512-ZQJM4aifMpz6H19AW1VqvZ7l4pOE9p7i/3LyxgO2kp+PO/VcDYNqIHEMtkccqIhTXMKci4kjueJr/iCQEaT/Ww=="
- },
- "file-type": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-9.0.0.tgz",
- "integrity": "sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw=="
- },
- "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=="
- },
- "filter-obj": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz",
- "integrity": "sha1-mzERErxsYSehbgFsbF1/GeCAXFs="
- },
- "finalhandler": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
- "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
- "requires": {
- "debug": "2.6.9",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.3",
- "statuses": "~1.5.0",
- "unpipe": "~1.0.0"
- },
- "dependencies": {
- "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"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "follow-redirects": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz",
- "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg=="
- },
- "forever-agent": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
- },
- "form-data": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
- "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- }
- },
- "formidable": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.2.tgz",
- "integrity": "sha512-V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q=="
- },
- "forwarded": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
- "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="
- },
- "fraction.js": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.1.tgz",
- "integrity": "sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg=="
- },
- "fresh": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
- },
- "fs": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.2.tgz",
- "integrity": "sha1-4fJE7zkzwbKmS9R5kTYGDQ9ZFPg="
- },
- "fs-constants": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
- "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
- },
- "fs-minipass": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
- "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
- "requires": {
- "minipass": "^3.0.0"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
- },
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
- },
- "gauge": {
- "version": "2.7.4",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
- "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
- "requires": {
- "aproba": "^1.0.3",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.0",
- "object-assign": "^4.1.0",
- "signal-exit": "^3.0.0",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wide-align": "^1.1.0"
- }
- },
- "get-intrinsic": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
- "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
- "requires": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.1"
- }
- },
- "get-stream": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="
- },
- "getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "gifencoder": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/gifencoder/-/gifencoder-2.0.1.tgz",
- "integrity": "sha512-x19DcyWY10SkshBpokqFOo/HBht9GB75evRYvaLMbez9p+yB/o+kt0fK9AwW59nFiAMs2UUQsjv1lX/hvu9Ong==",
- "requires": {
- "canvas": "^2.2.0"
- }
- },
- "gifwrap": {
- "version": "0.9.2",
- "resolved": "https://registry.npmjs.org/gifwrap/-/gifwrap-0.9.2.tgz",
- "integrity": "sha512-fcIswrPaiCDAyO8xnWvHSZdWChjKXUanKKpAiWWJ/UTkEi/aYKn5+90e7DE820zbEaVR9CE2y4z9bzhQijZ0BA==",
- "requires": {
- "image-q": "^1.1.1",
- "omggif": "^1.0.10"
- }
- },
- "github-from-package": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
- "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4="
- },
- "glob": {
- "version": "7.1.7",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
- "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "global": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz",
- "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==",
- "requires": {
- "min-document": "^2.19.0",
- "process": "^0.11.10"
- }
- },
- "got": {
- "version": "11.8.2",
- "resolved": "https://registry.npmjs.org/got/-/got-11.8.2.tgz",
- "integrity": "sha512-D0QywKgIe30ODs+fm8wMZiAcZjypcCodPNuMz5H9Mny7RJ+IjJ10BdmGW7OM7fHXP+O7r6ZwapQ/YQmMSvB0UQ==",
- "requires": {
- "@sindresorhus/is": "^4.0.0",
- "@szmarczak/http-timer": "^4.0.5",
- "@types/cacheable-request": "^6.0.1",
- "@types/responselike": "^1.0.0",
- "cacheable-lookup": "^5.0.3",
- "cacheable-request": "^7.0.1",
- "decompress-response": "^6.0.0",
- "http2-wrapper": "^1.0.0-beta.5.2",
- "lowercase-keys": "^2.0.0",
- "p-cancelable": "^2.0.0",
- "responselike": "^2.0.0"
- },
- "dependencies": {
- "decompress-response": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
- "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
- "requires": {
- "mimic-response": "^3.1.0"
- }
- },
- "mimic-response": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
- "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ=="
- }
- }
- },
- "graceful-fs": {
- "version": "4.2.6",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
- "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ=="
- },
- "har-schema": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
- },
- "har-validator": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
- "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
- "requires": {
- "ajv": "^6.12.3",
- "har-schema": "^2.0.0"
- }
- },
- "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-symbols": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz",
- "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw=="
- },
- "has-unicode": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
- "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
- },
- "hastebin-gen": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/hastebin-gen/-/hastebin-gen-2.0.5.tgz",
- "integrity": "sha512-At1LaKtcqh2jiP8xfE2sDGT9IshIki6FqsgLwn2y7FzAvlFJRtpUsSPh3yWjWIQIvxi/GPF07IBqSI8WhPL/gQ==",
- "requires": {
- "node-fetch": "^2.6.0"
- }
- },
- "hh-mm-ss": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/hh-mm-ss/-/hh-mm-ss-1.2.0.tgz",
- "integrity": "sha512-f4I9Hz1dLpX/3mrEs7yq30+FiuO3tt5NWAqAGeBTaoeoBfB8vhcQ3BphuDc5DjZb/K809agqrAaFlP0jhEU/8w==",
- "requires": {
- "zero-fill": "^2.2.3"
- }
- },
- "himalaya": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/himalaya/-/himalaya-1.1.0.tgz",
- "integrity": "sha512-LLase1dHCRMel68/HZTFft0N0wti0epHr3nNY7ynpLbyZpmrKMQ8YIpiOV77TM97cNpC8Wb2n6f66IRggwdWPw=="
- },
- "html-entities": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz",
- "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA=="
- },
- "htmlparser2": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
- "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
- "requires": {
- "domelementtype": "^2.0.1",
- "domhandler": "^4.0.0",
- "domutils": "^2.5.2",
- "entities": "^2.0.0"
- }
- },
- "http-cache-semantics": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
- "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ=="
- },
- "http-errors": {
- "version": "1.7.2",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
- "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
- "requires": {
- "depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.1",
- "statuses": ">= 1.5.0 < 2",
- "toidentifier": "1.0.0"
- },
- "dependencies": {
- "inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
- }
- }
- },
- "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=="
- }
- }
- },
- "http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
- "requires": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- }
- },
- "http2-wrapper": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz",
- "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==",
- "requires": {
- "quick-lru": "^5.1.1",
- "resolve-alpn": "^1.0.0"
- }
- },
- "https-proxy-agent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
- "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
- "requires": {
- "agent-base": "6",
- "debug": "4"
- }
- },
- "human-signals": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
- "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw=="
- },
- "human-time": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/human-time/-/human-time-0.0.2.tgz",
- "integrity": "sha512-sbYI90YhYmstslPTb70BLGjy6mdESa0lxL7uDR4fIVAx9Iobz8fLEqi7FqF4Q/6vblrzZALg//MsYJlIPBU8SA=="
- },
- "i": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/i/-/i-0.3.6.tgz",
- "integrity": "sha1-2WyScyB28HJxG2sQ/X1PZa2O4j0="
- },
- "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=="
- },
- "image-q": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/image-q/-/image-q-1.1.1.tgz",
- "integrity": "sha1-/IQJlmRGC5DKhi2TALa/u7+/gFY="
- },
- "imdb-api": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/imdb-api/-/imdb-api-4.4.1.tgz",
- "integrity": "sha512-bd2beJWHLDlB7iGsCNcGfQR0ioDCgUdOo42vDP/laTdEHrkzp7Dnj4ysXBp74mBJj1AMZntdoeBbmwEBpfamEg==",
- "requires": {
- "@ungap/url-search-params": "^0.2.2",
- "ky": "^0.24.0",
- "ky-universal": "^0.8.2"
- }
- },
- "imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- },
- "ini": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
- "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
- },
- "instagram-api.js": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/instagram-api.js/-/instagram-api.js-0.0.8.tgz",
- "integrity": "sha512-NxMQouEINP500y0Ij/clFb3zVrZa7tqXatE3fWxJlfzBqh9pjusN1O2AjBIN0sNPIASuo3pHSscf+7wV0YeXSw==",
- "requires": {
- "node-fetch": "^2.6.1"
- }
- },
- "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-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "is-function": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz",
- "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ=="
- },
- "is-obj": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
- "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w=="
- },
- "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=="
- },
- "is-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
- "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw=="
- },
- "is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
- },
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
- },
- "iso8601-duration": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/iso8601-duration/-/iso8601-duration-1.3.0.tgz",
- "integrity": "sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ=="
- },
- "isstream": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
- },
- "javascript-natural-sort": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz",
- "integrity": "sha1-+eIwPUUH9tdDVac2ZNFED7Wg71k="
- },
- "jimp": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.14.0.tgz",
- "integrity": "sha512-8BXU+J8+SPmwwyq9ELihpSV4dWPTiOKBWCEgtkbnxxAVMjXdf3yGmyaLSshBfXc8sP/JQ9OZj5R8nZzz2wPXgA==",
- "requires": {
- "@babel/runtime": "^7.7.2",
- "@jimp/custom": "^0.14.0",
- "@jimp/plugins": "^0.14.0",
- "@jimp/types": "^0.14.0",
- "regenerator-runtime": "^0.13.3"
- }
- },
- "jpeg-js": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.3.tgz",
- "integrity": "sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q=="
- },
- "js2xmlparser": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.1.tgz",
- "integrity": "sha512-KrPTolcw6RocpYjdC7pL7v62e55q7qOMHvLX1UCLc5AAS8qeJ6nukarEJAF2KL2PZxlbGueEbINqZR2bDe/gUw==",
- "requires": {
- "xmlcreate": "^2.0.3"
- }
- },
- "jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
- },
- "json-buffer": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
- "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="
- },
- "json-schema": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
- "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
- },
- "json-stringify-safe": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
- },
- "jsonpath-plus": {
- "version": "5.0.7",
- "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-5.0.7.tgz",
- "integrity": "sha512-7TS6wsiw1s2UMK/A6nA4n0aUJuirCVhJ87nWX5je5MPOl0z5VTr2qs7nMP8NZ2ed3rlt6kePTqddgVPE9F0i0w=="
- },
- "jsprim": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
- "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
- "requires": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.2.3",
- "verror": "1.10.0"
- }
- },
- "kareem": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.2.tgz",
- "integrity": "sha512-STHz9P7X2L4Kwn72fA4rGyqyXdmrMSdxqHx9IXon/FXluXieaFA6KJ2upcHAHxQPQ0LeM/OjLrhFxifHewOALQ=="
- },
- "keypress": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/keypress/-/keypress-0.2.1.tgz",
- "integrity": "sha1-HoBFQlABjbrUw/6USX1uZ7YmnHc="
- },
- "keyv": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.3.tgz",
- "integrity": "sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA==",
- "requires": {
- "json-buffer": "3.0.1"
- }
- },
- "ky": {
- "version": "0.24.0",
- "resolved": "https://registry.npmjs.org/ky/-/ky-0.24.0.tgz",
- "integrity": "sha512-/vpuQguwV30jErrqLpoaU/YJAFALrUkqqWLILnSoBOj5/O/LKzro/pPNtxbLgY6m4w5XNM6YZ3v7/or8qLlFuw=="
- },
- "ky-universal": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.8.2.tgz",
- "integrity": "sha512-xe0JaOH9QeYxdyGLnzUOVGK4Z6FGvDVzcXFTdrYA1f33MZdEa45sUDaMBy98xQMcsd2XIBrTXRrRYnegcSdgVQ==",
- "requires": {
- "abort-controller": "^3.0.0",
- "node-fetch": "3.0.0-beta.9"
- },
- "dependencies": {
- "node-fetch": {
- "version": "3.0.0-beta.9",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.0.0-beta.9.tgz",
- "integrity": "sha512-RdbZCEynH2tH46+tj0ua9caUHVWrd/RHnRfvly2EVdqGmI3ndS1Vn/xjm5KuGejDt2RNDQsVRLPNd2QPwcewVg==",
- "requires": {
- "data-uri-to-buffer": "^3.0.1",
- "fetch-blob": "^2.1.1"
- }
- }
- }
- },
- "load-bmfont": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.1.tgz",
- "integrity": "sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==",
- "requires": {
- "buffer-equal": "0.0.1",
- "mime": "^1.3.4",
- "parse-bmfont-ascii": "^1.0.3",
- "parse-bmfont-binary": "^1.0.5",
- "parse-bmfont-xml": "^1.1.4",
- "phin": "^2.9.1",
- "xhr": "^2.0.1",
- "xtend": "^4.0.0"
- }
- },
- "lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
- },
- "lowercase-keys": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
- "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA=="
- },
- "lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "lru-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
- "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=",
- "requires": {
- "es5-ext": "~0.10.2"
- }
- },
- "m3u8stream": {
- "version": "0.8.4",
- "resolved": "https://registry.npmjs.org/m3u8stream/-/m3u8stream-0.8.4.tgz",
- "integrity": "sha512-sco80Db+30RvcaIOndenX6E6oQNgTiBKeJbFPc+yDXwPQIkryfboEbCvXPlBRq3mQTCVPQO93TDVlfRwqpD35w==",
- "requires": {
- "miniget": "^4.0.0",
- "sax": "^1.2.4"
- }
- },
- "make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
- "requires": {
- "semver": "^6.0.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
- }
- }
- },
- "mal-scraper": {
- "version": "2.11.3",
- "resolved": "https://registry.npmjs.org/mal-scraper/-/mal-scraper-2.11.3.tgz",
- "integrity": "sha512-OzWDPet6e0f7ijthlNoYEOSJH8ggVvJzm5aUXA7BACtL9np+7acQpnHou90vShOwCx4VR4ofkut5RO/oD2wOAg==",
- "requires": {
- "axios": "^0.21.1",
- "cheerio": "^1.0.0-rc.3",
- "js2xmlparser": "^4.0.0",
- "match-sorter": "^4.0.2",
- "request": "^2.88.0",
- "xml2js": "^0.4.22"
- }
- },
- "match-sorter": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/match-sorter/-/match-sorter-4.2.1.tgz",
- "integrity": "sha512-s+3h9TiZU9U1pWhIERHf8/f4LmBN6IXaRgo2CI17+XGByGS1GvG5VvXK9pcGyCjGe3WM3mSYRC3ipGrd5UEVgw==",
- "requires": {
- "@babel/runtime": "^7.10.5",
- "remove-accents": "0.4.2"
- }
- },
- "mathjs": {
- "version": "7.6.0",
- "resolved": "https://registry.npmjs.org/mathjs/-/mathjs-7.6.0.tgz",
- "integrity": "sha512-abywR28hUpKF4at5jE8Ys+Kigk40eKMT5mcBLD0/dtsqjfOLbtzd3WjlRqIopNo7oQ6FME51qph6lb8h/bhpUg==",
- "requires": {
- "complex.js": "^2.0.11",
- "decimal.js": "^10.2.1",
- "escape-latex": "^1.2.0",
- "fraction.js": "^4.0.12",
- "javascript-natural-sort": "^0.7.1",
- "seed-random": "^2.2.0",
- "tiny-emitter": "^2.1.0",
- "typed-function": "^2.0.0"
- }
- },
- "md5": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz",
- "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==",
- "requires": {
- "charenc": "0.0.2",
- "crypt": "0.0.2",
- "is-buffer": "~1.1.6"
- }
- },
- "media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
- },
- "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"
- },
- "dependencies": {
- "next-tick": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz",
- "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ=="
- }
- }
- },
- "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": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
- },
- "merge-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="
- },
- "methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
- },
- "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.48.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz",
- "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ=="
- },
- "mime-types": {
- "version": "2.1.31",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz",
- "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==",
- "requires": {
- "mime-db": "1.48.0"
- }
- },
- "mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
- },
- "mimic-response": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz",
- "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA=="
- },
- "min-document": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz",
- "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=",
- "requires": {
- "dom-walk": "^0.1.0"
- }
- },
- "miniget": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/miniget/-/miniget-4.2.1.tgz",
- "integrity": "sha512-O/DduzDR6f+oDtVype9S/Qu5hhnx73EDYGyZKwU/qN82lehFZdfhoa4DT51SpsO+8epYrB3gcRmws56ROfTIoQ=="
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
- },
- "minipass": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz",
- "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==",
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "minizlib": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
- "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
- "requires": {
- "minipass": "^3.0.0",
- "yallist": "^4.0.0"
- }
- },
- "mkdirp": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
- },
- "mkdirp-classic": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
- "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="
- },
- "moment": {
- "version": "2.29.1",
- "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz",
- "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ=="
- },
- "moment-duration-format": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/moment-duration-format/-/moment-duration-format-2.3.2.tgz",
- "integrity": "sha512-cBMXjSW+fjOb4tyaVHuaVE/A5TqkukDWiOfxxAjY+PEqmmBQlLwn+8OzwPiG3brouXKY5Un4pBjAeB6UToXHaQ=="
- },
- "mongodb": {
- "version": "3.6.8",
- "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.8.tgz",
- "integrity": "sha512-sDjJvI73WjON1vapcbyBD3Ao9/VN3TKYY8/QX9EPbs22KaCSrQ5rXo5ZZd44tWJ3wl3FlnrFZ+KyUtNH6+1ZPQ==",
- "requires": {
- "bl": "^2.2.1",
- "bson": "^1.1.4",
- "denque": "^1.4.1",
- "optional-require": "^1.0.3",
- "safe-buffer": "^5.1.2",
- "saslprep": "^1.0.0"
- }
- },
- "mongoose": {
- "version": "5.13.2",
- "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.13.2.tgz",
- "integrity": "sha512-sBUKJGpdwZCq9102Lj6ZOaLcW4z/T4TI9aGWrNX5ZlICwChKWG4Wo5qriLImdww3H7bETPW9vYtSiADNlA4wSQ==",
- "requires": {
- "@types/mongodb": "^3.5.27",
- "@types/node": "14.x || 15.x",
- "bson": "^1.1.4",
- "kareem": "2.3.2",
- "mongodb": "3.6.8",
- "mongoose-legacy-pluralize": "1.0.2",
- "mpath": "0.8.3",
- "mquery": "3.2.5",
- "ms": "2.1.2",
- "regexp-clone": "1.0.0",
- "safe-buffer": "5.2.1",
- "sift": "13.5.2",
- "sliced": "1.0.1"
- },
- "dependencies": {
- "@types/node": {
- "version": "15.14.2",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.2.tgz",
- "integrity": "sha512-dvMUE/m2LbXPwlvVuzCyslTEtQ2ZwuuFClDrOQ6mp2CenCg971719PTILZ4I6bTP27xfFFc+o7x2TkLuun/MPw=="
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
- },
- "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=="
- }
- }
- },
- "mongoose-legacy-pluralize": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz",
- "integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ=="
- },
- "mpath": {
- "version": "0.8.3",
- "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.8.3.tgz",
- "integrity": "sha512-eb9rRvhDltXVNL6Fxd2zM9D4vKBxjVVQNLNijlj7uoXUy19zNDsIif5zR+pWmPCWNKwAtqyo4JveQm4nfD5+eA=="
- },
- "mquery": {
- "version": "3.2.5",
- "resolved": "https://registry.npmjs.org/mquery/-/mquery-3.2.5.tgz",
- "integrity": "sha512-VjOKHHgU84wij7IUoZzFRU07IAxd5kWJaDmyUzQlbjHjyoeK5TNeeo8ZsFDtTYnSgpW6n/nMNIHvE3u8Lbrf4A==",
- "requires": {
- "bluebird": "3.5.1",
- "debug": "3.1.0",
- "regexp-clone": "^1.0.0",
- "safe-buffer": "5.1.2",
- "sliced": "1.0.1"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
- },
- "nan": {
- "version": "2.14.2",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz",
- "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ=="
- },
- "napi-build-utils": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
- "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg=="
- },
- "negotiator": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
- "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
- },
- "neko-love": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/neko-love/-/neko-love-2.0.2.tgz",
- "integrity": "sha512-LQWbvBQ+KitX0hYSjYiHwhq7fPh+TOsVl38TcSoqqYXTq+ykE+TgTgDPamK2kPfyS+qkv9v1wFEbnD/JhX7xBA==",
- "requires": {
- "node-fetch": "^2.6.0",
- "query-string": "^6.12.1",
- "wumpfetch": "^0.3.1"
- }
- },
- "nekos.life": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/nekos.life/-/nekos.life-2.0.7.tgz",
- "integrity": "sha512-kL5sYOqaDTIdVH40YVrtWQPX60bGK3Ri/j2jnHugZ86lxc4xIytUmGelspFwKAs4TOHDSZh4jiJGGL8dQ55HNA=="
- },
- "next-tick": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
- "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw="
- },
- "node": {
- "version": "14.17.2",
- "resolved": "https://registry.npmjs.org/node/-/node-14.17.2.tgz",
- "integrity": "sha512-Al4FhGO2h2VEkzVVolTkfLdo+fQtqJdzoMn/3IMQTLACFz1zHYmXzHo0BpPRI532aEcwfSgObodzCWtoA5bf6w==",
- "requires": {
- "node-bin-setup": "^1.0.0"
- }
- },
- "node-abi": {
- "version": "2.30.0",
- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.0.tgz",
- "integrity": "sha512-g6bZh3YCKQRdwuO/tSZZYJAw622SjsRfJ2X0Iy4sSOHZ34/sPPdVBn8fev2tj7njzLwuqPw9uMtGsGkO5kIQvg==",
- "requires": {
- "semver": "^5.4.1"
- },
- "dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
- }
- }
- },
- "node-addon-api": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz",
- "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A=="
- },
- "node-bin-setup": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/node-bin-setup/-/node-bin-setup-1.0.6.tgz",
- "integrity": "sha512-uPIxXNis1CRbv1DwqAxkgBk5NFV3s7cMN/Gf556jSw6jBvV7ca4F9lRL/8cALcZecRibeqU+5dFYqFFmzv5a0Q=="
- },
- "node-fetch": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
- "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
- },
- "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"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
- },
- "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": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
- },
- "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": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- }
- }
- },
- "node-superfetch": {
- "version": "0.1.11",
- "resolved": "https://registry.npmjs.org/node-superfetch/-/node-superfetch-0.1.11.tgz",
- "integrity": "sha512-984lO43EvDtjBOpVXDqnR2L5+pVt+qWfqIE6H7Sl21BoIz26OwSKxBnO9ZmJkYXAimR64MUPiz6tn5hySy1d0Q==",
- "requires": {
- "form-data": "^3.0.0",
- "node-fetch": "^2.6.0"
- }
- },
- "nopt": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
- "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
- "requires": {
- "abbrev": "1"
- }
- },
- "normalize-url": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
- "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A=="
- },
- "novelcovid": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/novelcovid/-/novelcovid-3.0.2.tgz",
- "integrity": "sha512-JPMmLip5ZIyhXg70oRszXpBjMuitN0vKq0cj5hs1lY0w99fmqjyu4o36P9WntGAlzPDTE1wuj29P3HzUutxQrg==",
- "requires": {
- "@aero/centra": "^1.0.3"
- }
- },
- "npm": {
- "version": "7.19.1",
- "resolved": "https://registry.npmjs.org/npm/-/npm-7.19.1.tgz",
- "integrity": "sha512-aN3hZzGkPzKOyhjXtOhnQTGumorFhgpOU6xfuQsF1nJKh4DhsgfOMG4s/SNx56r4xHPvM5m/sk914wzDgKba3A==",
- "requires": {
- "@npmcli/arborist": "^2.6.4",
- "@npmcli/ci-detect": "^1.2.0",
- "@npmcli/config": "^2.2.0",
- "@npmcli/package-json": "^1.0.1",
- "@npmcli/run-script": "^1.8.5",
- "abbrev": "~1.1.1",
- "ansicolors": "~0.3.2",
- "ansistyles": "~0.1.3",
- "archy": "~1.0.0",
- "byte-size": "^7.0.1",
- "cacache": "^15.2.0",
- "chalk": "^4.1.0",
- "chownr": "^2.0.0",
- "cli-columns": "^3.1.2",
- "cli-table3": "^0.6.0",
- "columnify": "~1.5.4",
- "glob": "^7.1.7",
- "graceful-fs": "^4.2.6",
- "hosted-git-info": "^4.0.2",
- "ini": "^2.0.0",
- "init-package-json": "^2.0.3",
- "is-cidr": "^4.0.2",
- "json-parse-even-better-errors": "^2.3.1",
- "leven": "^3.1.0",
- "libnpmaccess": "^4.0.2",
- "libnpmdiff": "^2.0.4",
- "libnpmexec": "^2.0.0",
- "libnpmfund": "^1.1.0",
- "libnpmhook": "^6.0.2",
- "libnpmorg": "^2.0.2",
- "libnpmpack": "^2.0.1",
- "libnpmpublish": "^4.0.1",
- "libnpmsearch": "^3.1.1",
- "libnpmteam": "^2.0.3",
- "libnpmversion": "^1.2.1",
- "make-fetch-happen": "^9.0.3",
- "minipass": "^3.1.3",
- "minipass-pipeline": "^1.2.4",
- "mkdirp": "^1.0.4",
- "mkdirp-infer-owner": "^2.0.0",
- "ms": "^2.1.2",
- "node-gyp": "^7.1.2",
- "nopt": "^5.0.0",
- "npm-audit-report": "^2.1.5",
- "npm-package-arg": "^8.1.5",
- "npm-pick-manifest": "^6.1.1",
- "npm-profile": "^5.0.3",
- "npm-registry-fetch": "^11.0.0",
- "npm-user-validate": "^1.0.1",
- "npmlog": "~4.1.2",
- "opener": "^1.5.2",
- "pacote": "^11.3.3",
- "parse-conflict-json": "^1.1.1",
- "qrcode-terminal": "^0.12.0",
- "read": "~1.0.7",
- "read-package-json": "^3.0.1",
- "read-package-json-fast": "^2.0.2",
- "readdir-scoped-modules": "^1.1.0",
- "rimraf": "^3.0.2",
- "semver": "^7.3.5",
- "ssri": "^8.0.1",
- "tar": "^6.1.0",
- "text-table": "~0.2.0",
- "tiny-relative-date": "^1.3.0",
- "treeverse": "^1.0.4",
- "validate-npm-package-name": "~3.0.0",
- "which": "^2.0.2",
- "write-file-atomic": "^3.0.3"
- },
- "dependencies": {
- "@npmcli/arborist": {
- "version": "2.6.4",
- "bundled": true,
- "requires": {
- "@npmcli/installed-package-contents": "^1.0.7",
- "@npmcli/map-workspaces": "^1.0.2",
- "@npmcli/metavuln-calculator": "^1.1.0",
- "@npmcli/move-file": "^1.1.0",
- "@npmcli/name-from-folder": "^1.0.1",
- "@npmcli/node-gyp": "^1.0.1",
- "@npmcli/package-json": "^1.0.1",
- "@npmcli/run-script": "^1.8.2",
- "bin-links": "^2.2.1",
- "cacache": "^15.0.3",
- "common-ancestor-path": "^1.0.1",
- "json-parse-even-better-errors": "^2.3.1",
- "json-stringify-nice": "^1.1.4",
- "mkdirp-infer-owner": "^2.0.0",
- "npm-install-checks": "^4.0.0",
- "npm-package-arg": "^8.1.0",
- "npm-pick-manifest": "^6.1.0",
- "npm-registry-fetch": "^11.0.0",
- "pacote": "^11.2.6",
- "parse-conflict-json": "^1.1.1",
- "proc-log": "^1.0.0",
- "promise-all-reject-late": "^1.0.0",
- "promise-call-limit": "^1.0.1",
- "read-package-json-fast": "^2.0.2",
- "readdir-scoped-modules": "^1.1.0",
- "semver": "^7.3.5",
- "tar": "^6.1.0",
- "treeverse": "^1.0.4",
- "walk-up-path": "^1.0.0"
- }
- },
- "@npmcli/ci-detect": {
- "version": "1.3.0",
- "bundled": true
- },
- "@npmcli/config": {
- "version": "2.2.0",
- "bundled": true,
- "requires": {
- "ini": "^2.0.0",
- "mkdirp-infer-owner": "^2.0.0",
- "nopt": "^5.0.0",
- "semver": "^7.3.4",
- "walk-up-path": "^1.0.0"
- }
- },
- "@npmcli/disparity-colors": {
- "version": "1.0.1",
- "bundled": true,
- "requires": {
- "ansi-styles": "^4.3.0"
- }
- },
- "@npmcli/git": {
- "version": "2.0.9",
- "bundled": true,
- "requires": {
- "@npmcli/promise-spawn": "^1.3.2",
- "lru-cache": "^6.0.0",
- "mkdirp": "^1.0.4",
- "npm-pick-manifest": "^6.1.1",
- "promise-inflight": "^1.0.1",
- "promise-retry": "^2.0.1",
- "semver": "^7.3.5",
- "which": "^2.0.2"
- }
- },
- "@npmcli/installed-package-contents": {
- "version": "1.0.7",
- "bundled": true,
- "requires": {
- "npm-bundled": "^1.1.1",
- "npm-normalize-package-bin": "^1.0.1"
- }
- },
- "@npmcli/map-workspaces": {
- "version": "1.0.3",
- "bundled": true,
- "requires": {
- "@npmcli/name-from-folder": "^1.0.1",
- "glob": "^7.1.6",
- "minimatch": "^3.0.4",
- "read-package-json-fast": "^2.0.1"
- }
- },
- "@npmcli/metavuln-calculator": {
- "version": "1.1.1",
- "bundled": true,
- "requires": {
- "cacache": "^15.0.5",
- "pacote": "^11.1.11",
- "semver": "^7.3.2"
- }
- },
- "@npmcli/move-file": {
- "version": "1.1.2",
- "bundled": true,
- "requires": {
- "mkdirp": "^1.0.4",
- "rimraf": "^3.0.2"
- }
- },
- "@npmcli/name-from-folder": {
- "version": "1.0.1",
- "bundled": true
- },
- "@npmcli/node-gyp": {
- "version": "1.0.2",
- "bundled": true
- },
- "@npmcli/package-json": {
- "version": "1.0.1",
- "bundled": true,
- "requires": {
- "json-parse-even-better-errors": "^2.3.1"
- }
- },
- "@npmcli/promise-spawn": {
- "version": "1.3.2",
- "bundled": true,
- "requires": {
- "infer-owner": "^1.0.4"
- }
- },
- "@npmcli/run-script": {
- "version": "1.8.5",
- "bundled": true,
- "requires": {
- "@npmcli/node-gyp": "^1.0.2",
- "@npmcli/promise-spawn": "^1.3.2",
- "infer-owner": "^1.0.4",
- "node-gyp": "^7.1.0",
- "read-package-json-fast": "^2.0.1"
- }
- },
- "@tootallnate/once": {
- "version": "1.1.2",
- "bundled": true
- },
- "abbrev": {
- "version": "1.1.1",
- "bundled": true
- },
- "agent-base": {
- "version": "6.0.2",
- "bundled": true,
- "requires": {
- "debug": "4"
- }
- },
- "agentkeepalive": {
- "version": "4.1.4",
- "bundled": true,
- "requires": {
- "debug": "^4.1.0",
- "depd": "^1.1.2",
- "humanize-ms": "^1.2.1"
- }
- },
- "aggregate-error": {
- "version": "3.1.0",
- "bundled": true,
- "requires": {
- "clean-stack": "^2.0.0",
- "indent-string": "^4.0.0"
- }
- },
- "ajv": {
- "version": "6.12.6",
- "bundled": true,
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "ansi-regex": {
- "version": "2.1.1",
- "bundled": true
- },
- "ansi-styles": {
- "version": "4.3.0",
- "bundled": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "ansicolors": {
- "version": "0.3.2",
- "bundled": true
- },
- "ansistyles": {
- "version": "0.1.3",
- "bundled": true
- },
- "aproba": {
- "version": "2.0.0",
- "bundled": true
- },
- "archy": {
- "version": "1.0.0",
- "bundled": true
- },
- "are-we-there-yet": {
- "version": "1.1.5",
- "bundled": true,
- "requires": {
- "delegates": "^1.0.0",
- "readable-stream": "^2.0.6"
- }
- },
- "asap": {
- "version": "2.0.6",
- "bundled": true
- },
- "asn1": {
- "version": "0.2.4",
- "bundled": true,
- "requires": {
- "safer-buffer": "~2.1.0"
- }
- },
- "assert-plus": {
- "version": "1.0.0",
- "bundled": true
- },
- "asynckit": {
- "version": "0.4.0",
- "bundled": true
- },
- "aws-sign2": {
- "version": "0.7.0",
- "bundled": true
- },
- "aws4": {
- "version": "1.11.0",
- "bundled": true
- },
- "balanced-match": {
- "version": "1.0.2",
- "bundled": true
- },
- "bcrypt-pbkdf": {
- "version": "1.0.2",
- "bundled": true,
- "requires": {
- "tweetnacl": "^0.14.3"
- }
- },
- "bin-links": {
- "version": "2.2.1",
- "bundled": true,
- "requires": {
- "cmd-shim": "^4.0.1",
- "mkdirp": "^1.0.3",
- "npm-normalize-package-bin": "^1.0.0",
- "read-cmd-shim": "^2.0.0",
- "rimraf": "^3.0.0",
- "write-file-atomic": "^3.0.3"
- }
- },
- "binary-extensions": {
- "version": "2.2.0",
- "bundled": true
- },
- "brace-expansion": {
- "version": "1.1.11",
- "bundled": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "builtins": {
- "version": "1.0.3",
- "bundled": true
- },
- "byte-size": {
- "version": "7.0.1",
- "bundled": true
- },
- "cacache": {
- "version": "15.2.0",
- "bundled": true,
- "requires": {
- "@npmcli/move-file": "^1.0.1",
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "glob": "^7.1.4",
- "infer-owner": "^1.0.4",
- "lru-cache": "^6.0.0",
- "minipass": "^3.1.1",
- "minipass-collect": "^1.0.2",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.2",
- "mkdirp": "^1.0.3",
- "p-map": "^4.0.0",
- "promise-inflight": "^1.0.1",
- "rimraf": "^3.0.2",
- "ssri": "^8.0.1",
- "tar": "^6.0.2",
- "unique-filename": "^1.1.1"
- }
- },
- "caseless": {
- "version": "0.12.0",
- "bundled": true
- },
- "chalk": {
- "version": "4.1.1",
- "bundled": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "chownr": {
- "version": "2.0.0",
- "bundled": true
- },
- "cidr-regex": {
- "version": "3.1.1",
- "bundled": true,
- "requires": {
- "ip-regex": "^4.1.0"
- }
- },
- "clean-stack": {
- "version": "2.2.0",
- "bundled": true
- },
- "cli-columns": {
- "version": "3.1.2",
- "bundled": true,
- "requires": {
- "string-width": "^2.0.0",
- "strip-ansi": "^3.0.1"
- }
- },
- "cli-table3": {
- "version": "0.6.0",
- "bundled": true,
- "requires": {
- "colors": "^1.1.2",
- "object-assign": "^4.1.0",
- "string-width": "^4.2.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "5.0.0",
- "bundled": true
- },
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "bundled": true
- },
- "string-width": {
- "version": "4.2.2",
- "bundled": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "strip-ansi": {
- "version": "6.0.0",
- "bundled": true,
- "requires": {
- "ansi-regex": "^5.0.0"
- }
- }
- }
- },
- "clone": {
- "version": "1.0.4",
- "bundled": true
- },
- "cmd-shim": {
- "version": "4.1.0",
- "bundled": true,
- "requires": {
- "mkdirp-infer-owner": "^2.0.0"
- }
- },
- "code-point-at": {
- "version": "1.1.0",
- "bundled": true
- },
- "color-convert": {
- "version": "2.0.1",
- "bundled": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "bundled": true
- },
- "colors": {
- "version": "1.4.0",
- "bundled": true,
- "optional": true
- },
- "columnify": {
- "version": "1.5.4",
- "bundled": true,
- "requires": {
- "strip-ansi": "^3.0.0",
- "wcwidth": "^1.0.0"
- }
- },
- "combined-stream": {
- "version": "1.0.8",
- "bundled": true,
- "requires": {
- "delayed-stream": "~1.0.0"
- }
- },
- "common-ancestor-path": {
- "version": "1.0.1",
- "bundled": true
- },
- "concat-map": {
- "version": "0.0.1",
- "bundled": true
- },
- "console-control-strings": {
- "version": "1.1.0",
- "bundled": true
- },
- "core-util-is": {
- "version": "1.0.2",
- "bundled": true
- },
- "dashdash": {
- "version": "1.14.1",
- "bundled": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "debug": {
- "version": "4.3.1",
- "bundled": true,
- "requires": {
- "ms": "2.1.2"
- },
- "dependencies": {
- "ms": {
- "version": "2.1.2",
- "bundled": true
- }
- }
- },
- "debuglog": {
- "version": "1.0.1",
- "bundled": true
- },
- "defaults": {
- "version": "1.0.3",
- "bundled": true,
- "requires": {
- "clone": "^1.0.2"
- }
- },
- "delayed-stream": {
- "version": "1.0.0",
- "bundled": true
- },
- "delegates": {
- "version": "1.0.0",
- "bundled": true
- },
- "depd": {
- "version": "1.1.2",
- "bundled": true
- },
- "dezalgo": {
- "version": "1.0.3",
- "bundled": true,
- "requires": {
- "asap": "^2.0.0",
- "wrappy": "1"
- }
- },
- "diff": {
- "version": "5.0.0",
- "bundled": true
- },
- "ecc-jsbn": {
- "version": "0.1.2",
- "bundled": true,
- "requires": {
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.1.0"
- }
- },
- "emoji-regex": {
- "version": "8.0.0",
- "bundled": true
- },
- "encoding": {
- "version": "0.1.13",
- "bundled": true,
- "optional": true,
- "requires": {
- "iconv-lite": "^0.6.2"
- }
- },
- "env-paths": {
- "version": "2.2.1",
- "bundled": true
- },
- "err-code": {
- "version": "2.0.3",
- "bundled": true
- },
- "extend": {
- "version": "3.0.2",
- "bundled": true
- },
- "extsprintf": {
- "version": "1.3.0",
- "bundled": true
- },
- "fast-deep-equal": {
- "version": "3.1.3",
- "bundled": true
- },
- "fast-json-stable-stringify": {
- "version": "2.1.0",
- "bundled": true
- },
- "forever-agent": {
- "version": "0.6.1",
- "bundled": true
- },
- "fs-minipass": {
- "version": "2.1.0",
- "bundled": true,
- "requires": {
- "minipass": "^3.0.0"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "bundled": true
- },
- "function-bind": {
- "version": "1.1.1",
- "bundled": true
- },
- "gauge": {
- "version": "2.7.4",
- "bundled": true,
- "requires": {
- "aproba": "^1.0.3",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.0",
- "object-assign": "^4.1.0",
- "signal-exit": "^3.0.0",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wide-align": "^1.1.0"
- },
- "dependencies": {
- "aproba": {
- "version": "1.2.0",
- "bundled": true
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "bundled": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "string-width": {
- "version": "1.0.2",
- "bundled": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- }
- }
- },
- "getpass": {
- "version": "0.1.7",
- "bundled": true,
- "requires": {
- "assert-plus": "^1.0.0"
- }
- },
- "glob": {
- "version": "7.1.7",
- "bundled": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "graceful-fs": {
- "version": "4.2.6",
- "bundled": true
- },
- "har-schema": {
- "version": "2.0.0",
- "bundled": true
- },
- "har-validator": {
- "version": "5.1.5",
- "bundled": true,
- "requires": {
- "ajv": "^6.12.3",
- "har-schema": "^2.0.0"
- }
- },
- "has": {
- "version": "1.0.3",
- "bundled": true,
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "has-flag": {
- "version": "4.0.0",
- "bundled": true
- },
- "has-unicode": {
- "version": "2.0.1",
- "bundled": true
- },
- "hosted-git-info": {
- "version": "4.0.2",
- "bundled": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
- "http-cache-semantics": {
- "version": "4.1.0",
- "bundled": true
- },
- "http-proxy-agent": {
- "version": "4.0.1",
- "bundled": true,
- "requires": {
- "@tootallnate/once": "1",
- "agent-base": "6",
- "debug": "4"
- }
- },
- "http-signature": {
- "version": "1.2.0",
- "bundled": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
- }
- },
- "https-proxy-agent": {
- "version": "5.0.0",
- "bundled": true,
- "requires": {
- "agent-base": "6",
- "debug": "4"
- }
- },
- "humanize-ms": {
- "version": "1.2.1",
- "bundled": true,
- "requires": {
- "ms": "^2.0.0"
- }
- },
- "iconv-lite": {
- "version": "0.6.3",
- "bundled": true,
- "optional": true,
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3.0.0"
- }
- },
- "ignore-walk": {
- "version": "3.0.4",
- "bundled": true,
- "requires": {
- "minimatch": "^3.0.4"
- }
- },
- "imurmurhash": {
- "version": "0.1.4",
- "bundled": true
- },
- "indent-string": {
- "version": "4.0.0",
- "bundled": true
- },
- "infer-owner": {
- "version": "1.0.4",
- "bundled": true
- },
- "inflight": {
- "version": "1.0.6",
- "bundled": true,
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "bundled": true
- },
- "ini": {
- "version": "2.0.0",
- "bundled": true
- },
- "init-package-json": {
- "version": "2.0.3",
- "bundled": true,
- "requires": {
- "glob": "^7.1.1",
- "npm-package-arg": "^8.1.2",
- "promzard": "^0.3.0",
- "read": "~1.0.1",
- "read-package-json": "^3.0.1",
- "semver": "^7.3.5",
- "validate-npm-package-license": "^3.0.4",
- "validate-npm-package-name": "^3.0.0"
- }
- },
- "ip": {
- "version": "1.1.5",
- "bundled": true
- },
- "ip-regex": {
- "version": "4.3.0",
- "bundled": true
- },
- "is-cidr": {
- "version": "4.0.2",
- "bundled": true,
- "requires": {
- "cidr-regex": "^3.1.1"
- }
- },
- "is-core-module": {
- "version": "2.4.0",
- "bundled": true,
- "requires": {
- "has": "^1.0.3"
- }
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "bundled": true
- },
- "is-lambda": {
- "version": "1.0.1",
- "bundled": true
- },
- "is-typedarray": {
- "version": "1.0.0",
- "bundled": true
- },
- "isarray": {
- "version": "1.0.0",
- "bundled": true
- },
- "isexe": {
- "version": "2.0.0",
- "bundled": true
- },
- "isstream": {
- "version": "0.1.2",
- "bundled": true
- },
- "jsbn": {
- "version": "0.1.1",
- "bundled": true
- },
- "json-parse-even-better-errors": {
- "version": "2.3.1",
- "bundled": true
- },
- "json-schema": {
- "version": "0.2.3",
- "bundled": true
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "bundled": true
- },
- "json-stringify-nice": {
- "version": "1.1.4",
- "bundled": true
- },
- "json-stringify-safe": {
- "version": "5.0.1",
- "bundled": true
- },
- "jsonparse": {
- "version": "1.3.1",
- "bundled": true
- },
- "jsprim": {
- "version": "1.4.1",
- "bundled": true,
- "requires": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.2.3",
- "verror": "1.10.0"
- }
- },
- "just-diff": {
- "version": "3.1.1",
- "bundled": true
- },
- "just-diff-apply": {
- "version": "3.0.0",
- "bundled": true
- },
- "leven": {
- "version": "3.1.0",
- "bundled": true
- },
- "libnpmaccess": {
- "version": "4.0.3",
- "bundled": true,
- "requires": {
- "aproba": "^2.0.0",
- "minipass": "^3.1.1",
- "npm-package-arg": "^8.1.2",
- "npm-registry-fetch": "^11.0.0"
- }
- },
- "libnpmdiff": {
- "version": "2.0.4",
- "bundled": true,
- "requires": {
- "@npmcli/disparity-colors": "^1.0.1",
- "@npmcli/installed-package-contents": "^1.0.7",
- "binary-extensions": "^2.2.0",
- "diff": "^5.0.0",
- "minimatch": "^3.0.4",
- "npm-package-arg": "^8.1.4",
- "pacote": "^11.3.4",
- "tar": "^6.1.0"
- }
- },
- "libnpmexec": {
- "version": "2.0.0",
- "bundled": true,
- "requires": {
- "@npmcli/arborist": "^2.3.0",
- "@npmcli/ci-detect": "^1.3.0",
- "@npmcli/run-script": "^1.8.4",
- "chalk": "^4.1.0",
- "mkdirp-infer-owner": "^2.0.0",
- "npm-package-arg": "^8.1.2",
- "pacote": "^11.3.1",
- "proc-log": "^1.0.0",
- "read": "^1.0.7",
- "read-package-json-fast": "^2.0.2",
- "walk-up-path": "^1.0.0"
- }
- },
- "libnpmfund": {
- "version": "1.1.0",
- "bundled": true,
- "requires": {
- "@npmcli/arborist": "^2.5.0"
- }
- },
- "libnpmhook": {
- "version": "6.0.3",
- "bundled": true,
- "requires": {
- "aproba": "^2.0.0",
- "npm-registry-fetch": "^11.0.0"
- }
- },
- "libnpmorg": {
- "version": "2.0.3",
- "bundled": true,
- "requires": {
- "aproba": "^2.0.0",
- "npm-registry-fetch": "^11.0.0"
- }
- },
- "libnpmpack": {
- "version": "2.0.1",
- "bundled": true,
- "requires": {
- "@npmcli/run-script": "^1.8.3",
- "npm-package-arg": "^8.1.0",
- "pacote": "^11.2.6"
- }
- },
- "libnpmpublish": {
- "version": "4.0.2",
- "bundled": true,
- "requires": {
- "normalize-package-data": "^3.0.2",
- "npm-package-arg": "^8.1.2",
- "npm-registry-fetch": "^11.0.0",
- "semver": "^7.1.3",
- "ssri": "^8.0.1"
- }
- },
- "libnpmsearch": {
- "version": "3.1.2",
- "bundled": true,
- "requires": {
- "npm-registry-fetch": "^11.0.0"
- }
- },
- "libnpmteam": {
- "version": "2.0.4",
- "bundled": true,
- "requires": {
- "aproba": "^2.0.0",
- "npm-registry-fetch": "^11.0.0"
- }
- },
- "libnpmversion": {
- "version": "1.2.1",
- "bundled": true,
- "requires": {
- "@npmcli/git": "^2.0.7",
- "@npmcli/run-script": "^1.8.4",
- "json-parse-even-better-errors": "^2.3.1",
- "semver": "^7.3.5",
- "stringify-package": "^1.0.1"
- }
- },
- "lru-cache": {
- "version": "6.0.0",
- "bundled": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "make-fetch-happen": {
- "version": "9.0.3",
- "bundled": true,
- "requires": {
- "agentkeepalive": "^4.1.3",
- "cacache": "^15.2.0",
- "http-cache-semantics": "^4.1.0",
- "http-proxy-agent": "^4.0.1",
- "https-proxy-agent": "^5.0.0",
- "is-lambda": "^1.0.1",
- "lru-cache": "^6.0.0",
- "minipass": "^3.1.3",
- "minipass-collect": "^1.0.2",
- "minipass-fetch": "^1.3.2",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "negotiator": "^0.6.2",
- "promise-retry": "^2.0.1",
- "socks-proxy-agent": "^5.0.0",
- "ssri": "^8.0.0"
- }
- },
- "mime-db": {
- "version": "1.48.0",
- "bundled": true
- },
- "mime-types": {
- "version": "2.1.31",
- "bundled": true,
- "requires": {
- "mime-db": "1.48.0"
- }
- },
- "minimatch": {
- "version": "3.0.4",
- "bundled": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minipass": {
- "version": "3.1.3",
- "bundled": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "minipass-collect": {
- "version": "1.0.2",
- "bundled": true,
- "requires": {
- "minipass": "^3.0.0"
- }
- },
- "minipass-fetch": {
- "version": "1.3.3",
- "bundled": true,
- "requires": {
- "encoding": "^0.1.12",
- "minipass": "^3.1.0",
- "minipass-sized": "^1.0.3",
- "minizlib": "^2.0.0"
- }
- },
- "minipass-flush": {
- "version": "1.0.5",
- "bundled": true,
- "requires": {
- "minipass": "^3.0.0"
- }
- },
- "minipass-json-stream": {
- "version": "1.0.1",
- "bundled": true,
- "requires": {
- "jsonparse": "^1.3.1",
- "minipass": "^3.0.0"
- }
- },
- "minipass-pipeline": {
- "version": "1.2.4",
- "bundled": true,
- "requires": {
- "minipass": "^3.0.0"
- }
- },
- "minipass-sized": {
- "version": "1.0.3",
- "bundled": true,
- "requires": {
- "minipass": "^3.0.0"
- }
- },
- "minizlib": {
- "version": "2.1.2",
- "bundled": true,
- "requires": {
- "minipass": "^3.0.0",
- "yallist": "^4.0.0"
- }
- },
- "mkdirp": {
- "version": "1.0.4",
- "bundled": true
- },
- "mkdirp-infer-owner": {
- "version": "2.0.0",
- "bundled": true,
- "requires": {
- "chownr": "^2.0.0",
- "infer-owner": "^1.0.4",
- "mkdirp": "^1.0.3"
- }
- },
- "ms": {
- "version": "2.1.3",
- "bundled": true
- },
- "mute-stream": {
- "version": "0.0.8",
- "bundled": true
- },
- "negotiator": {
- "version": "0.6.2",
- "bundled": true
- },
- "node-gyp": {
- "version": "7.1.2",
- "bundled": true,
- "requires": {
- "env-paths": "^2.2.0",
- "glob": "^7.1.4",
- "graceful-fs": "^4.2.3",
- "nopt": "^5.0.0",
- "npmlog": "^4.1.2",
- "request": "^2.88.2",
- "rimraf": "^3.0.2",
- "semver": "^7.3.2",
- "tar": "^6.0.2",
- "which": "^2.0.2"
- }
- },
- "nopt": {
- "version": "5.0.0",
- "bundled": true,
- "requires": {
- "abbrev": "1"
- }
- },
- "normalize-package-data": {
- "version": "3.0.2",
- "bundled": true,
- "requires": {
- "hosted-git-info": "^4.0.1",
- "resolve": "^1.20.0",
- "semver": "^7.3.4",
- "validate-npm-package-license": "^3.0.1"
- }
- },
- "npm-audit-report": {
- "version": "2.1.5",
- "bundled": true,
- "requires": {
- "chalk": "^4.0.0"
- }
- },
- "npm-bundled": {
- "version": "1.1.2",
- "bundled": true,
- "requires": {
- "npm-normalize-package-bin": "^1.0.1"
- }
- },
- "npm-install-checks": {
- "version": "4.0.0",
- "bundled": true,
- "requires": {
- "semver": "^7.1.1"
- }
- },
- "npm-normalize-package-bin": {
- "version": "1.0.1",
- "bundled": true
- },
- "npm-package-arg": {
- "version": "8.1.5",
- "bundled": true,
- "requires": {
- "hosted-git-info": "^4.0.1",
- "semver": "^7.3.4",
- "validate-npm-package-name": "^3.0.0"
- }
- },
- "npm-packlist": {
- "version": "2.2.2",
- "bundled": true,
- "requires": {
- "glob": "^7.1.6",
- "ignore-walk": "^3.0.3",
- "npm-bundled": "^1.1.1",
- "npm-normalize-package-bin": "^1.0.1"
- }
- },
- "npm-pick-manifest": {
- "version": "6.1.1",
- "bundled": true,
- "requires": {
- "npm-install-checks": "^4.0.0",
- "npm-normalize-package-bin": "^1.0.1",
- "npm-package-arg": "^8.1.2",
- "semver": "^7.3.4"
- }
- },
- "npm-profile": {
- "version": "5.0.4",
- "bundled": true,
- "requires": {
- "npm-registry-fetch": "^11.0.0"
- }
- },
- "npm-registry-fetch": {
- "version": "11.0.0",
- "bundled": true,
- "requires": {
- "make-fetch-happen": "^9.0.1",
- "minipass": "^3.1.3",
- "minipass-fetch": "^1.3.0",
- "minipass-json-stream": "^1.0.1",
- "minizlib": "^2.0.0",
- "npm-package-arg": "^8.0.0"
- }
- },
- "npm-user-validate": {
- "version": "1.0.1",
- "bundled": true
- },
- "npmlog": {
- "version": "4.1.2",
- "bundled": true,
- "requires": {
- "are-we-there-yet": "~1.1.2",
- "console-control-strings": "~1.1.0",
- "gauge": "~2.7.3",
- "set-blocking": "~2.0.0"
- }
- },
- "number-is-nan": {
- "version": "1.0.1",
- "bundled": true
- },
- "oauth-sign": {
- "version": "0.9.0",
- "bundled": true
- },
- "object-assign": {
- "version": "4.1.1",
- "bundled": true
- },
- "once": {
- "version": "1.4.0",
- "bundled": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "opener": {
- "version": "1.5.2",
- "bundled": true
- },
- "p-map": {
- "version": "4.0.0",
- "bundled": true,
- "requires": {
- "aggregate-error": "^3.0.0"
- }
- },
- "pacote": {
- "version": "11.3.4",
- "bundled": true,
- "requires": {
- "@npmcli/git": "^2.0.1",
- "@npmcli/installed-package-contents": "^1.0.6",
- "@npmcli/promise-spawn": "^1.2.0",
- "@npmcli/run-script": "^1.8.2",
- "cacache": "^15.0.5",
- "chownr": "^2.0.0",
- "fs-minipass": "^2.1.0",
- "infer-owner": "^1.0.4",
- "minipass": "^3.1.3",
- "mkdirp": "^1.0.3",
- "npm-package-arg": "^8.0.1",
- "npm-packlist": "^2.1.4",
- "npm-pick-manifest": "^6.0.0",
- "npm-registry-fetch": "^11.0.0",
- "promise-retry": "^2.0.1",
- "read-package-json-fast": "^2.0.1",
- "rimraf": "^3.0.2",
- "ssri": "^8.0.1",
- "tar": "^6.1.0"
- }
- },
- "parse-conflict-json": {
- "version": "1.1.1",
- "bundled": true,
- "requires": {
- "json-parse-even-better-errors": "^2.3.0",
- "just-diff": "^3.0.1",
- "just-diff-apply": "^3.0.0"
- }
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "bundled": true
- },
- "path-parse": {
- "version": "1.0.7",
- "bundled": true
- },
- "performance-now": {
- "version": "2.1.0",
- "bundled": true
- },
- "proc-log": {
- "version": "1.0.0",
- "bundled": true
- },
- "process-nextick-args": {
- "version": "2.0.1",
- "bundled": true
- },
- "promise-all-reject-late": {
- "version": "1.0.1",
- "bundled": true
- },
- "promise-call-limit": {
- "version": "1.0.1",
- "bundled": true
- },
- "promise-inflight": {
- "version": "1.0.1",
- "bundled": true
- },
- "promise-retry": {
- "version": "2.0.1",
- "bundled": true,
- "requires": {
- "err-code": "^2.0.2",
- "retry": "^0.12.0"
- }
- },
- "promzard": {
- "version": "0.3.0",
- "bundled": true,
- "requires": {
- "read": "1"
- }
- },
- "psl": {
- "version": "1.8.0",
- "bundled": true
- },
- "punycode": {
- "version": "2.1.1",
- "bundled": true
- },
- "qrcode-terminal": {
- "version": "0.12.0",
- "bundled": true
- },
- "qs": {
- "version": "6.5.2",
- "bundled": true
- },
- "read": {
- "version": "1.0.7",
- "bundled": true,
- "requires": {
- "mute-stream": "~0.0.4"
- }
- },
- "read-cmd-shim": {
- "version": "2.0.0",
- "bundled": true
- },
- "read-package-json": {
- "version": "3.0.1",
- "bundled": true,
- "requires": {
- "glob": "^7.1.1",
- "json-parse-even-better-errors": "^2.3.0",
- "normalize-package-data": "^3.0.0",
- "npm-normalize-package-bin": "^1.0.0"
- }
- },
- "read-package-json-fast": {
- "version": "2.0.2",
- "bundled": true,
- "requires": {
- "json-parse-even-better-errors": "^2.3.0",
- "npm-normalize-package-bin": "^1.0.1"
- }
- },
- "readable-stream": {
- "version": "2.3.7",
- "bundled": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "readdir-scoped-modules": {
- "version": "1.1.0",
- "bundled": true,
- "requires": {
- "debuglog": "^1.0.1",
- "dezalgo": "^1.0.0",
- "graceful-fs": "^4.1.2",
- "once": "^1.3.0"
- }
- },
- "request": {
- "version": "2.88.2",
- "bundled": true,
- "requires": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.8.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.6",
- "extend": "~3.0.2",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.2",
- "har-validator": "~5.1.3",
- "http-signature": "~1.2.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.19",
- "oauth-sign": "~0.9.0",
- "performance-now": "^2.1.0",
- "qs": "~6.5.2",
- "safe-buffer": "^5.1.2",
- "tough-cookie": "~2.5.0",
- "tunnel-agent": "^0.6.0",
- "uuid": "^3.3.2"
- },
- "dependencies": {
- "form-data": {
- "version": "2.3.3",
- "bundled": true,
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- }
- },
- "tough-cookie": {
- "version": "2.5.0",
- "bundled": true,
- "requires": {
- "psl": "^1.1.28",
- "punycode": "^2.1.1"
- }
- }
- }
- },
- "resolve": {
- "version": "1.20.0",
- "bundled": true,
- "requires": {
- "is-core-module": "^2.2.0",
- "path-parse": "^1.0.6"
- }
- },
- "retry": {
- "version": "0.12.0",
- "bundled": true
- },
- "rimraf": {
- "version": "3.0.2",
- "bundled": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "bundled": true
- },
- "safer-buffer": {
- "version": "2.1.2",
- "bundled": true
- },
- "semver": {
- "version": "7.3.5",
- "bundled": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
- "set-blocking": {
- "version": "2.0.0",
- "bundled": true
- },
- "signal-exit": {
- "version": "3.0.3",
- "bundled": true
- },
- "smart-buffer": {
- "version": "4.1.0",
- "bundled": true
- },
- "socks": {
- "version": "2.6.1",
- "bundled": true,
- "requires": {
- "ip": "^1.1.5",
- "smart-buffer": "^4.1.0"
- }
- },
- "socks-proxy-agent": {
- "version": "5.0.0",
- "bundled": true,
- "requires": {
- "agent-base": "6",
- "debug": "4",
- "socks": "^2.3.3"
- }
- },
- "spdx-correct": {
- "version": "3.1.1",
- "bundled": true,
- "requires": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-exceptions": {
- "version": "2.3.0",
- "bundled": true
- },
- "spdx-expression-parse": {
- "version": "3.0.1",
- "bundled": true,
- "requires": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-license-ids": {
- "version": "3.0.9",
- "bundled": true
- },
- "sshpk": {
- "version": "1.16.1",
- "bundled": true,
- "requires": {
- "asn1": "~0.2.3",
- "assert-plus": "^1.0.0",
- "bcrypt-pbkdf": "^1.0.0",
- "dashdash": "^1.12.0",
- "ecc-jsbn": "~0.1.1",
- "getpass": "^0.1.1",
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.0.2",
- "tweetnacl": "~0.14.0"
- }
- },
- "ssri": {
- "version": "8.0.1",
- "bundled": true,
- "requires": {
- "minipass": "^3.1.1"
- }
- },
- "string-width": {
- "version": "2.1.1",
- "bundled": true,
- "requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "bundled": true
- },
- "strip-ansi": {
- "version": "4.0.0",
- "bundled": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- }
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "bundled": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- },
- "stringify-package": {
- "version": "1.0.1",
- "bundled": true
- },
- "strip-ansi": {
- "version": "3.0.1",
- "bundled": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- },
- "supports-color": {
- "version": "7.2.0",
- "bundled": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "tar": {
- "version": "6.1.0",
- "bundled": true,
- "requires": {
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "minipass": "^3.0.0",
- "minizlib": "^2.1.1",
- "mkdirp": "^1.0.3",
- "yallist": "^4.0.0"
- }
- },
- "text-table": {
- "version": "0.2.0",
- "bundled": true
- },
- "tiny-relative-date": {
- "version": "1.3.0",
- "bundled": true
- },
- "treeverse": {
- "version": "1.0.4",
- "bundled": true
- },
- "tunnel-agent": {
- "version": "0.6.0",
- "bundled": true,
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- },
- "tweetnacl": {
- "version": "0.14.5",
- "bundled": true
- },
- "typedarray-to-buffer": {
- "version": "3.1.5",
- "bundled": true,
- "requires": {
- "is-typedarray": "^1.0.0"
- }
- },
- "unique-filename": {
- "version": "1.1.1",
- "bundled": true,
- "requires": {
- "unique-slug": "^2.0.0"
- }
- },
- "unique-slug": {
- "version": "2.0.2",
- "bundled": true,
- "requires": {
- "imurmurhash": "^0.1.4"
- }
- },
- "uri-js": {
- "version": "4.4.1",
- "bundled": true,
- "requires": {
- "punycode": "^2.1.0"
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "bundled": true
- },
- "uuid": {
- "version": "3.4.0",
- "bundled": true
- },
- "validate-npm-package-license": {
- "version": "3.0.4",
- "bundled": true,
- "requires": {
- "spdx-correct": "^3.0.0",
- "spdx-expression-parse": "^3.0.0"
- }
- },
- "validate-npm-package-name": {
- "version": "3.0.0",
- "bundled": true,
- "requires": {
- "builtins": "^1.0.3"
- }
- },
- "verror": {
- "version": "1.10.0",
- "bundled": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
- }
- },
- "walk-up-path": {
- "version": "1.0.0",
- "bundled": true
- },
- "wcwidth": {
- "version": "1.0.1",
- "bundled": true,
- "requires": {
- "defaults": "^1.0.3"
- }
- },
- "which": {
- "version": "2.0.2",
- "bundled": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "wide-align": {
- "version": "1.1.3",
- "bundled": true,
- "requires": {
- "string-width": "^1.0.2 || 2"
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "bundled": true
- },
- "write-file-atomic": {
- "version": "3.0.3",
- "bundled": true,
- "requires": {
- "imurmurhash": "^0.1.4",
- "is-typedarray": "^1.0.0",
- "signal-exit": "^3.0.2",
- "typedarray-to-buffer": "^3.1.5"
- }
- },
- "yallist": {
- "version": "4.0.0",
- "bundled": true
- }
- }
- },
- "npm-run-path": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
- "requires": {
- "path-key": "^3.0.0"
- }
- },
- "npmlog": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
- "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
- "requires": {
- "are-we-there-yet": "~1.1.2",
- "console-control-strings": "~1.1.0",
- "gauge": "~2.7.3",
- "set-blocking": "~2.0.0"
- }
- },
- "nth-check": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz",
- "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==",
- "requires": {
- "boolbase": "^1.0.0"
- }
- },
- "number-is-nan": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
- },
- "oauth-sign": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
- },
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
- },
- "object-inspect": {
- "version": "1.10.3",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz",
- "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw=="
- },
- "omggif": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.10.tgz",
- "integrity": "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw=="
- },
- "on-finished": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
- "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
- "requires": {
- "ee-first": "1.1.1"
- }
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "requires": {
- "wrappy": "1"
- }
- },
- "onetime": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
- "requires": {
- "mimic-fn": "^2.1.0"
- }
- },
- "optional-require": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/optional-require/-/optional-require-1.0.3.tgz",
- "integrity": "sha512-RV2Zp2MY2aeYK5G+B/Sps8lW5NHAzE5QClbFP15j+PWmP+T9PxlJXBOOLoSAdgwFvS4t0aMR4vpedMkbHfh0nA=="
- },
- "opusscript": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/opusscript/-/opusscript-0.0.7.tgz",
- "integrity": "sha512-DcBadTdYTUuH9zQtepsLjQn4Ll6rs3dmeFvN+SD0ThPnxRBRm/WC1zXWPg+wgAJimB784gdZvUMA57gDP7FdVg=="
- },
- "or": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/or/-/or-0.2.0.tgz",
- "integrity": "sha1-mQTqYeJZQ/k14g9PR0ngoUGoK2o="
- },
- "os": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/os/-/os-0.1.1.tgz",
- "integrity": "sha1-IIhF6J4ZOtTZcUdLk5R3NqVtE/M="
- },
- "p-cancelable": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
- "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg=="
- },
- "pako": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
- "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
- },
- "parse-bmfont-ascii": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz",
- "integrity": "sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU="
- },
- "parse-bmfont-binary": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz",
- "integrity": "sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY="
- },
- "parse-bmfont-xml": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz",
- "integrity": "sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ==",
- "requires": {
- "xml-parse-from-string": "^1.0.0",
- "xml2js": "^0.4.5"
- }
- },
- "parse-cache-control": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz",
- "integrity": "sha1-juqz5U+laSD+Fro493+iGqzC104="
- },
- "parse-headers": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz",
- "integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA=="
- },
- "parse-ms": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz",
- "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA=="
- },
- "parse5": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
- "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw=="
- },
- "parse5-htmlparser2-tree-adapter": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz",
- "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==",
- "requires": {
- "parse5": "^6.0.1"
- }
- },
- "parseurl": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
- },
- "path": {
- "version": "0.12.7",
- "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz",
- "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=",
- "requires": {
- "process": "^0.11.1",
- "util": "^0.10.3"
- }
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
- },
- "path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
- },
- "path-to-regexp": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
- "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
- },
- "performance-now": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
- },
- "petitio": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/petitio/-/petitio-1.3.2.tgz",
- "integrity": "sha512-hbbT+rOvovz39ZneGW+C8B4YsKH20KLXYVDT/IzSUxaY8H7al/TO+vFCm+H5cnYe62gIqF9ak5p8OJktV/I0Ig=="
- },
- "phin": {
- "version": "2.9.3",
- "resolved": "https://registry.npmjs.org/phin/-/phin-2.9.3.tgz",
- "integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA=="
- },
- "pixelmatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz",
- "integrity": "sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=",
- "requires": {
- "pngjs": "^3.0.0"
- }
- },
- "pngjs": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz",
- "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w=="
- },
- "prebuild-install": {
- "version": "6.1.3",
- "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.1.3.tgz",
- "integrity": "sha512-iqqSR84tNYQUQHRXalSKdIaM8Ov1QxOVuBNWI7+BzZWv6Ih9k75wOnH1rGQ9WWTaaLkTpxWKIciOF0KyfM74+Q==",
- "requires": {
- "detect-libc": "^1.0.3",
- "expand-template": "^2.0.3",
- "github-from-package": "0.0.0",
- "minimist": "^1.2.3",
- "mkdirp-classic": "^0.5.3",
- "napi-build-utils": "^1.0.1",
- "node-abi": "^2.21.0",
- "npmlog": "^4.0.1",
- "pump": "^3.0.0",
- "rc": "^1.2.7",
- "simple-get": "^3.0.3",
- "tar-fs": "^2.0.0",
- "tunnel-agent": "^0.6.0"
- }
- },
- "prepend-http": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
- "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc="
- },
- "pretty-ms": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz",
- "integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==",
- "requires": {
- "parse-ms": "^2.1.0"
- }
- },
- "prism-media": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.3.1.tgz",
- "integrity": "sha512-nyYAa3KB4qteJIqdguKmwxTJgy55xxUtkJ3uRnOvO5jO+frci+9zpRXw6QZVcfDeva3S654fU9+26P2OSTzjHw=="
- },
- "process": {
- "version": "0.11.10",
- "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
- },
- "process-nextick-args": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
- },
- "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"
- }
- },
- "psl": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
- "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="
- },
- "pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "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.7.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
- "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
- },
- "query-string": {
- "version": "6.14.1",
- "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz",
- "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==",
- "requires": {
- "decode-uri-component": "^0.2.0",
- "filter-obj": "^1.1.0",
- "split-on-first": "^1.0.0",
- "strict-uri-encode": "^2.0.0"
- }
- },
- "quick-lru": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
- "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA=="
- },
- "quick.db": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/quick.db/-/quick.db-7.1.3.tgz",
- "integrity": "sha512-0S1fVb9OAZGhkI4ZIc5Oe4yWMwhz20xSsziwd6+yGWKKMsPt+XOfj/gD5CesGxd2WdqBkZFBiP8ZqWDu55HLHA==",
- "requires": {
- "better-sqlite3": "^7.1.1",
- "lodash": "^4.17.20"
- }
- },
- "random-code-gen": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/random-code-gen/-/random-code-gen-1.1.2.tgz",
- "integrity": "sha512-0rVOkwtifaoK6hIghNFgG2d4noNUp35Xv2Xe0a6OkMUvfVvp1G2YWl4dCBItDwifp+FXt+x8/4uglMs5hbv4Gg=="
- },
- "randombytes": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
- "requires": {
- "safe-buffer": "^5.1.0"
- }
- },
- "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.4.0",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
- "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
- "requires": {
- "bytes": "3.1.0",
- "http-errors": "1.7.2",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
- }
- },
- "rc": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
- "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
- "requires": {
- "deep-extend": "^0.6.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- }
- },
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "readline-sync": {
- "version": "1.4.10",
- "resolved": "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.10.tgz",
- "integrity": "sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw=="
- },
- "redstar": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/redstar/-/redstar-0.0.2.tgz",
- "integrity": "sha1-nVammAY4yYUaEAsMs799PrkCBcs=",
- "requires": {
- "minimatch": "~3.0.4"
- }
- },
- "regenerator-runtime": {
- "version": "0.13.7",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz",
- "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew=="
- },
- "regexp-clone": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz",
- "integrity": "sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw=="
- },
- "remove-accents": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.2.tgz",
- "integrity": "sha1-CkPTqq4egNuRngeuJUsoXZ4ce7U="
- },
- "request": {
- "version": "2.88.2",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
- "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
- "requires": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.8.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.6",
- "extend": "~3.0.2",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.2",
- "har-validator": "~5.1.3",
- "http-signature": "~1.2.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.19",
- "oauth-sign": "~0.9.0",
- "performance-now": "^2.1.0",
- "qs": "~6.5.2",
- "safe-buffer": "^5.1.2",
- "tough-cookie": "~2.5.0",
- "tunnel-agent": "^0.6.0",
- "uuid": "^3.3.2"
- },
- "dependencies": {
- "form-data": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
- "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- }
- },
- "qs": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
- }
- }
- },
- "request-promise-core": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz",
- "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==",
- "requires": {
- "lodash": "^4.17.19"
- }
- },
- "request-promise-native": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz",
- "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==",
- "requires": {
- "request-promise-core": "1.1.4",
- "stealthy-require": "^1.1.1",
- "tough-cookie": "^2.3.3"
- }
- },
- "require-all": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/require-all/-/require-all-2.2.0.tgz",
- "integrity": "sha1-tEIMIzrAKC0P9Jsnf7iAqLXeCJQ="
- },
- "resolve-alpn": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.1.2.tgz",
- "integrity": "sha512-8OyfzhAtA32LVUsJSke3auIyINcwdh5l3cvYKdKO0nvsYSKuiLfTM5i78PJswFPT8y6cPW+L1v6/hE95chcpDA=="
- },
- "responselike": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz",
- "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==",
- "requires": {
- "lowercase-keys": "^2.0.0"
- }
- },
- "rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
- },
- "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=="
- },
- "seed-random": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/seed-random/-/seed-random-2.2.0.tgz",
- "integrity": "sha1-KpsZ4lCoFwmSMaW5mk2vgLf77VQ="
- },
- "semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
- "send": {
- "version": "0.17.1",
- "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
- "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
- "requires": {
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "destroy": "~1.0.4",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "fresh": "0.5.2",
- "http-errors": "~1.7.2",
- "mime": "1.6.0",
- "ms": "2.1.1",
- "on-finished": "~2.3.0",
- "range-parser": "~1.2.1",
- "statuses": "~1.5.0"
- },
- "dependencies": {
- "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"
- },
- "dependencies": {
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
- }
- },
- "ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
- }
- }
- },
- "serialize-javascript": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
- "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
- "requires": {
- "randombytes": "^2.1.0"
- }
- },
- "serve-static": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
- "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
- "requires": {
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.3",
- "send": "0.17.1"
- }
- },
- "set-blocking": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
- },
- "setimmediate": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
- },
- "setprototypeof": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
- "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
- },
- "shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "requires": {
- "shebang-regex": "^3.0.0"
- }
- },
- "shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
- },
- "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": "13.5.2",
- "resolved": "https://registry.npmjs.org/sift/-/sift-13.5.2.tgz",
- "integrity": "sha512-+gxdEOMA2J+AI+fVsCqeNn7Tgx3M9ZN9jdi95939l1IJ8cZsqS8sqpJyOkic2SJk+1+98Uwryt/gL6XDaV+UZA=="
- },
- "signal-exit": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
- "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
- },
- "simple-concat": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
- "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q=="
- },
- "simple-get": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz",
- "integrity": "sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==",
- "requires": {
- "decompress-response": "^4.2.0",
- "once": "^1.3.1",
- "simple-concat": "^1.0.0"
- }
- },
- "simple-youtube-api": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/simple-youtube-api/-/simple-youtube-api-5.2.1.tgz",
- "integrity": "sha512-vmndP9Bkh35tifn2OwY+th2imSsfYtmDqczgdOW5yEARFzvSoR8VSQFsivJnctfV5QHQUL6VrOpNdbmDRLh9Bg==",
- "requires": {
- "iso8601-duration": "^1.2.0",
- "node-fetch": "^2.6.0"
- }
- },
- "sliced": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz",
- "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E="
- },
- "smartestchatbot": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/smartestchatbot/-/smartestchatbot-2.0.0.tgz",
- "integrity": "sha512-+7uqXIPcdl53vtrbPTPks5z5gKSuZ+dwPjJVONBxQ1x90G5Fpo1/kAj/CL1XReiPlzUb76RQbi94YZp1DVxXoQ==",
- "requires": {
- "@vitalets/google-translate-api": "^7.0.0",
- "md5": "^2.3.0",
- "superagent": "^6.1.0"
- }
- },
- "snekfetch": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/snekfetch/-/snekfetch-4.0.4.tgz",
- "integrity": "sha512-dyycG9fvwtSJqKPfMVOpXt+60qvMGe7vWLwOJDiSJaiAx+hs2EnFChG2bXCWn7ulz+zGzrHdN9/yeEb0YqEPww=="
- },
- "something-random-on-discord": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/something-random-on-discord/-/something-random-on-discord-0.0.1.tgz",
- "integrity": "sha512-2MLnlryu0VlINo+MNcDANR4vfWdFFDdi4Dkuk1rKjtc+MIO0JCFW/iRj4a1J+iAOyEx581OqBG9dn2jx2j4tKg==",
- "requires": {
- "node-fetch": "^2.6.0"
- }
- },
- "soundcloud-downloader": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/soundcloud-downloader/-/soundcloud-downloader-0.2.4.tgz",
- "integrity": "sha512-ncXi9AC3Crs8azBBUw0u5n6RyJpuV3QhBPDkI8dik3e9r7l6L6mmmrdGgKITsOwEuj3rxoTdFvSAP4pv2VorRw==",
- "requires": {
- "@babel/runtime": "^7.10.3",
- "axios": "^0.21.0",
- "dotenv": "^8.2.0",
- "m3u8stream": "^0.8.0",
- "soundcloud-key-fetch": "^1.0.10"
- }
- },
- "soundcloud-key-fetch": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/soundcloud-key-fetch/-/soundcloud-key-fetch-1.0.11.tgz",
- "integrity": "sha512-ofnXB3yeHGVKnFKEMBP/kIJzGu1SduQzJc+zmkPbKgelvYNsEU/aTGD0PlhmyZquaCkTGByF8CEPRrAnt7ki4g=="
- },
- "sourcebin_js": {
- "version": "0.0.3-ignore",
- "resolved": "https://registry.npmjs.org/sourcebin_js/-/sourcebin_js-0.0.3-ignore.tgz",
- "integrity": "sha512-/W6zJeV13IRw4nZ7ByjmjqmQ3UpRqBafJrxLjSUUH8goG60T/1ze2hu87iP2ca5RXEqoTKr7057SJTXqrov3lA==",
- "requires": {
- "@sourcebin/linguist": "0.0.3",
- "node-fetch": "^2.6.0"
- }
- },
- "sparse-bitfield": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
- "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=",
- "optional": true,
- "requires": {
- "memory-pager": "^1.0.2"
- }
- },
- "split-on-first": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz",
- "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw=="
- },
- "spotify-uri": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/spotify-uri/-/spotify-uri-2.2.0.tgz",
- "integrity": "sha512-uUybj02bfyfCoZ0MJ80MkqbKxtIVRJfbRGk05KJFq1li3zb7yNfN1f+TAw4wcXgp7jLWExeiw2wyPQXZ8PHtfg=="
- },
- "spotify-url-info": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/spotify-url-info/-/spotify-url-info-2.2.3.tgz",
- "integrity": "sha512-cZTE5nOnaAjIiaHG9psVYqKXWOlNUIgSU2e+bNInRaYZNgmVgOcKH0D7V1nSER3gv3h5BXvOo0EJTtrMQQo1bA==",
- "requires": {
- "cross-fetch": "~3.1.4",
- "himalaya": "~1.1.0",
- "spotify-uri": "~2.2.0"
- }
- },
- "srod-v2": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/srod-v2/-/srod-v2-1.0.2.tgz",
- "integrity": "sha512-bF871tXYNMYoxn74aQaZr2/aheLtzJTRDjBA4hT2ZWPkWM3DBfKmGGlmFdLsR7gmb32YDDVHJOniL36WdSp3wQ==",
- "requires": {
- "node-fetch": "^2.6.1"
- }
- },
- "sshpk": {
- "version": "1.16.1",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
- "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
- "requires": {
- "asn1": "~0.2.3",
- "assert-plus": "^1.0.0",
- "bcrypt-pbkdf": "^1.0.0",
- "dashdash": "^1.12.0",
- "ecc-jsbn": "~0.1.1",
- "getpass": "^0.1.1",
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.0.2",
- "tweetnacl": "~0.14.0"
- },
- "dependencies": {
- "tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
- }
- }
- },
- "statuses": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
- },
- "stealthy-require": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
- "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks="
- },
- "streamify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/streamify/-/streamify-1.0.0.tgz",
- "integrity": "sha512-pe2ZoxE+ie5wAjRgKWb5Ur4R5Oa++eoQmHLqGGy4nQn/8BetJcpHkHXRuP3ZIJ/Ptl/rbd76fdn9aQJNys8cKA=="
- },
- "strict-uri-encode": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz",
- "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY="
- },
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- },
- "strip-final-newline": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
- "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
- },
- "superagent": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/superagent/-/superagent-6.1.0.tgz",
- "integrity": "sha512-OUDHEssirmplo3F+1HWKUrUjvnQuA+nZI6i/JJBdXb5eq9IyEQwPyPpqND+SSsxf6TygpBEkUjISVRN4/VOpeg==",
- "requires": {
- "component-emitter": "^1.3.0",
- "cookiejar": "^2.1.2",
- "debug": "^4.1.1",
- "fast-safe-stringify": "^2.0.7",
- "form-data": "^3.0.0",
- "formidable": "^1.2.2",
- "methods": "^1.1.2",
- "mime": "^2.4.6",
- "qs": "^6.9.4",
- "readable-stream": "^3.6.0",
- "semver": "^7.3.2"
- },
- "dependencies": {
- "mime": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz",
- "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg=="
- },
- "qs": {
- "version": "6.10.1",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz",
- "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==",
- "requires": {
- "side-channel": "^1.0.4"
- }
- },
- "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"
- }
- }
- }
- },
- "tar": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz",
- "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==",
- "requires": {
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "minipass": "^3.0.0",
- "minizlib": "^2.1.1",
- "mkdirp": "^1.0.3",
- "yallist": "^4.0.0"
- }
- },
- "tar-fs": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
- "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
- "requires": {
- "chownr": "^1.1.1",
- "mkdirp-classic": "^0.5.2",
- "pump": "^3.0.0",
- "tar-stream": "^2.1.4"
- },
- "dependencies": {
- "chownr": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
- "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
- }
- }
- },
- "tar-stream": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
- "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
- "requires": {
- "bl": "^4.0.3",
- "end-of-stream": "^1.4.1",
- "fs-constants": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^3.1.1"
- },
- "dependencies": {
- "bl": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
- "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
- "requires": {
- "buffer": "^5.5.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.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"
- }
- }
- }
- },
- "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"
- }
- },
- "timm": {
- "version": "1.7.1",
- "resolved": "https://registry.npmjs.org/timm/-/timm-1.7.1.tgz",
- "integrity": "sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw=="
- },
- "tiny-emitter": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
- "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q=="
- },
- "tinycolor2": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz",
- "integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA=="
- },
- "to-readable-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
- "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q=="
- },
- "toidentifier": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
- "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
- },
- "tough-cookie": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
- "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
- "requires": {
- "psl": "^1.1.28",
- "punycode": "^2.1.1"
- }
- },
- "tslib": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
- "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
- },
- "ttys": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/ttys/-/ttys-0.0.3.tgz",
- "integrity": "sha1-FbrN54MQIN5fLyjwGxcy7wNlH00="
- },
- "tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- },
- "tweetnacl": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz",
- "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw=="
- },
- "twemoji-parser": {
- "version": "13.1.0",
- "resolved": "https://registry.npmjs.org/twemoji-parser/-/twemoji-parser-13.1.0.tgz",
- "integrity": "sha512-AQOzLJpYlpWMy8n+0ATyKKZzWlZBJN+G0C+5lhX7Ftc2PeEVdUU/7ns2Pn2vVje26AIZ/OHwFoUbdv6YYD/wGg=="
- },
- "twitter-api.js": {
- "version": "0.0.12",
- "resolved": "https://registry.npmjs.org/twitter-api.js/-/twitter-api.js-0.0.12.tgz",
- "integrity": "sha512-LrrbBNWxqJvCasv/NrdnFwI3GGK0pxApzVkitdcLow2sHOqbctS+3ewycWXmK8vMXNQW6eXp12GuA4aZnr3fpg==",
- "requires": {
- "node-superfetch": "0.1.11"
- }
- },
- "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"
- }
- },
- "typed-function": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/typed-function/-/typed-function-2.0.0.tgz",
- "integrity": "sha512-Hhy1Iwo/e4AtLZNK10ewVVcP2UEs408DS35ubP825w/YgSBK1KVLwALvvIG4yX75QJrxjCpcWkzkVRB0BwwYlA=="
- },
- "typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
- },
- "typedarray-to-buffer": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
- "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
- "requires": {
- "is-typedarray": "^1.0.0"
- }
- },
- "unique-string": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
- "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==",
- "requires": {
- "crypto-random-string": "^2.0.0"
- }
- },
- "universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
- },
- "unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
- },
- "uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "requires": {
- "punycode": "^2.1.0"
- }
- },
- "url-parse-lax": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
- "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
- "requires": {
- "prepend-http": "^2.0.0"
- }
- },
- "utif": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/utif/-/utif-2.0.1.tgz",
- "integrity": "sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==",
- "requires": {
- "pako": "^1.0.5"
- }
- },
- "util": {
- "version": "0.10.4",
- "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
- "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
- "requires": {
- "inherits": "2.0.3"
- },
- "dependencies": {
- "inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
- }
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
- },
- "utils-merge": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
- },
- "uuid": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
- },
- "vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
- },
- "verror": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
- "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
- "requires": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
- }
- },
- "weather-js": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/weather-js/-/weather-js-2.0.0.tgz",
- "integrity": "sha1-DZvNsFpPhNBrm585kAKKYB6kofw=",
- "requires": {
- "request": "2.x.x",
- "xml2js": "0.4.x"
- }
- },
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "wide-align": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
- "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
- "requires": {
- "string-width": "^1.0.2 || 2"
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
- },
- "write-file-atomic": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
- "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
- "requires": {
- "imurmurhash": "^0.1.4",
- "is-typedarray": "^1.0.0",
- "signal-exit": "^3.0.2",
- "typedarray-to-buffer": "^3.1.5"
- }
- },
- "ws": {
- "version": "7.5.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz",
- "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg=="
- },
- "wumpfetch": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/wumpfetch/-/wumpfetch-0.3.1.tgz",
- "integrity": "sha512-KbvB4asL0z/Uh1eavIXjhdo6rFudT5WtEudNfK3z9KGbvBE0JvGqRntRRjtKPOW1lEh85kcKzIOmRo8KHU5myQ=="
- },
- "xdg-basedir": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
- "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q=="
- },
- "xhr": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz",
- "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==",
- "requires": {
- "global": "~4.4.0",
- "is-function": "^1.0.1",
- "parse-headers": "^2.0.0",
- "xtend": "^4.0.0"
- }
- },
- "xml-parse-from-string": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz",
- "integrity": "sha1-qQKekp09vN7RafPG4oI42VpdWig="
- },
- "xml2js": {
- "version": "0.4.23",
- "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
- "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
- "requires": {
- "sax": ">=0.6.0",
- "xmlbuilder": "~11.0.0"
- }
- },
- "xmlbuilder": {
- "version": "11.0.1",
- "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
- "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA=="
- },
- "xmlcreate": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.3.tgz",
- "integrity": "sha512-HgS+X6zAztGa9zIK3Y3LXuJes33Lz9x+YyTxgrkIdabu2vqcGOWwdfCpf1hWLRrd553wd4QCDf6BBO6FfdsRiQ=="
- },
- "xtend": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
- "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
- },
- "yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
- },
- "yt-search": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/yt-search/-/yt-search-2.9.0.tgz",
- "integrity": "sha512-ywA7ej+SrIozcSKNvfdwJFao/Tq6MJZ/S1k2ZNL4xeFgwrotJZ0SrwGNi0T+Ka+lpSaj5ylnAAhDK1NGDrYdRA==",
- "requires": {
- "async.parallellimit": "~0.5.2",
- "boolstring": "~1.0.2",
- "cheerio": "^1.0.0-rc.10",
- "dasu": "~0.4.2",
- "human-time": "0.0.2",
- "jsonpath-plus": "~5.0.2",
- "minimist": "~1.2.5",
- "node-fzf": "~0.5.1"
- }
- },
- "ytdl-core": {
- "version": "3.4.2",
- "resolved": "https://registry.npmjs.org/ytdl-core/-/ytdl-core-3.4.2.tgz",
- "integrity": "sha512-R6m1XZQK+iXxb9Q9Wo14/K8mti1r4HnKv4zKrbp5FvMG/jDbeV0xQHUHqqDLk+uiDy/VU6fVATm5x2ms0QaF5w==",
- "requires": {
- "html-entities": "^1.3.1",
- "m3u8stream": "^0.7.1",
- "miniget": "^2.0.1",
- "sax": "^1.1.3"
- },
- "dependencies": {
- "m3u8stream": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/m3u8stream/-/m3u8stream-0.7.1.tgz",
- "integrity": "sha512-z6ldnAdhbuWOL6LmMkwptSZGzj+qbRytMKLTbNicwF/bJMjf9U9lqD57RNQUFecvWadEkzy6PDjcNJFFgi19uQ==",
- "requires": {
- "miniget": "^1.6.1",
- "sax": "^1.2.4"
- },
- "dependencies": {
- "miniget": {
- "version": "1.7.2",
- "resolved": "https://registry.npmjs.org/miniget/-/miniget-1.7.2.tgz",
- "integrity": "sha512-USPNNK2bnHLOplX8BZVMehUkyQizS/DFpBdoH0TS+fM+hQoLNg9tWg4MeY9wE8gfY0pbzmx5UBEODujt3Lz8AA=="
- }
- }
- },
- "miniget": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/miniget/-/miniget-2.1.0.tgz",
- "integrity": "sha512-fy9x3d/0oOIhkwAms6kgxTYkHwdELhMfgj+9a/aYZpJdTWIIWGta9aXHUtnzUn+LjBmRoTdPRQSi2hkmEvXk3A=="
- }
- }
- },
- "ytdl-core-discord": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/ytdl-core-discord/-/ytdl-core-discord-1.3.1.tgz",
- "integrity": "sha512-KW8zYY35jRSkxZTEQtT9EiR2exFwYKhCE8QZbRg5Ge9a0YWDDhBOixSdWb8Cn41B1uHhz8FR15E4E/k0kHNX3w==",
- "requires": {
- "@types/node": "^15.12.2",
- "prism-media": "^1.3.1",
- "ytdl-core": "^4.8.2"
- },
- "dependencies": {
- "@types/node": {
- "version": "15.14.2",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.2.tgz",
- "integrity": "sha512-dvMUE/m2LbXPwlvVuzCyslTEtQ2ZwuuFClDrOQ6mp2CenCg971719PTILZ4I6bTP27xfFFc+o7x2TkLuun/MPw=="
- },
- "ytdl-core": {
- "version": "4.8.3",
- "resolved": "https://registry.npmjs.org/ytdl-core/-/ytdl-core-4.8.3.tgz",
- "integrity": "sha512-cWCBeX4FCgjcKmuVK384MT582RIAakpUSeMF/NPVmhO8cWiG+LeQLnBordvLolb0iXYzfUvalgmycYAE5Sy6Xw==",
- "requires": {
- "m3u8stream": "^0.8.3",
- "miniget": "^4.0.0",
- "sax": "^1.1.3"
- }
- }
- }
- },
- "ytpl": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ytpl/-/ytpl-2.2.1.tgz",
- "integrity": "sha512-sxty58s4JTNCDkiaiTkcaXfWCOW5sfHOPwDQtWIkoU4C+Kht2qat8yaLVbWZIclUSZo+naANyaI7LGjhhrErGA==",
- "requires": {
- "miniget": "^4.2.0"
- }
- },
- "ytsr": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/ytsr/-/ytsr-3.5.0.tgz",
- "integrity": "sha512-e92xxZI8OxUCsbLtn0NfkuKuSDN4YZtG+ow64G3N4b+bkEWCjR0hEPye+iCBA07/02OXPmWHD88FPy1hq0izMQ==",
- "requires": {
- "miniget": "^4.2.0"
- }
- },
- "zero-fill": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/zero-fill/-/zero-fill-2.2.4.tgz",
- "integrity": "sha512-/N5GEDauLHz2uGnuJXWO1Wfib4EC+q4yp9C1jojM7RubwEKADqIqMcYpETMm1lRop403fi3v1qTOdgDE8DIOdw=="
- }
- }
-}
diff --git a/package.json b/package.json
deleted file mode 100644
index c9d925f..0000000
--- a/package.json
+++ /dev/null
@@ -1,100 +0,0 @@
-{
- "//1": "describes your app and its dependencies",
- "//2": "https://docs.npmjs.com/files/package.json",
- "//3": "updating this file will download and update your packages",
- "name": "hello-express",
- "version": "1.0.2",
- "description": "A simple Node app built on Express, instantly up and running.",
- "main": "server.js",
- "scripts": {
- "start": "node server.js"
- },
- "dependencies": {
- "@discordjs/opus": "^0.5.0",
- "@distube/ytpl": "^1.0.11",
- "akaneko": "^3.0.2",
- "ascii-table": "^0.0.9",
- "avconv": "^3.1.0",
- "await": "^0.2.6",
- "axios": "^0.21.1",
- "canvacord": "^5.0.8",
- "canvas": "^2.8.0",
- "canvas-constructor": "^4.1.0",
- "canvas-senpai": "^0.1.6",
- "common-tags": "^1.8.0",
- "cpu-stat": "^2.0.1",
- "di": "0.0.1",
- "discord-akairo": "^8.1.0",
- "discord-backup": "^2.5.0",
- "discord-buttons": "^4.0.0",
- "discord-giveaways": "^4.4.3",
- "discord-music-player": "^7.2.0",
- "discord-xp": "^1.1.16",
- "discord.js": "^12.3.1",
- "discord.js-commando": "^0.10.0",
- "distube": "^2.8.12",
- "dote": "^1.1.0",
- "dotenv": "^8.2.0",
- "env": "0.0.2",
- "erela.js": "^2.3.1",
- "express": "^4.17.1",
- "ffmpeg-static": "^4.3.0",
- "figlet": "^1.5.0",
- "fs": "^0.0.2",
- "hastebin-gen": "^2.0.5",
- "i": "^0.3.6",
- "imdb-api": "^4.2.0",
- "instagram-api.js": "0.0.8",
- "mal-scraper": "^2.11.3",
- "mathjs": "^7.1.0",
- "moment": "^2.27.0",
- "moment-duration-format": "^2.3.2",
- "mongoose": "^5.9.29",
- "ms": "^2.1.2",
- "neko-love": "^2.0.2",
- "nekos.life": "^2.0.7",
- "node": "^14.17.2",
- "node-fetch": "^2.6.1",
- "node-superfetch": "^0.1.11",
- "novelcovid": "^3.0.0",
- "npm": "^7.6.1",
- "opusscript": "^0.0.7",
- "or": "^0.2.0",
- "os": "^0.1.1",
- "parse-ms": "^2.1.0",
- "path": "^0.12.7",
- "pretty-ms": "^7.0.1",
- "quick.db": "^7.1.3",
- "random-code-gen": "^1.1.2",
- "request": "^2.88.2",
- "request-promise-native": "^1.0.9",
- "simple-youtube-api": "^5.2.1",
- "smartestchatbot": "^2.0.0",
- "snekfetch": "^4.0.4",
- "something-random-on-discord": "^0.0.1",
- "soundcloud-downloader": "^0.2.4",
- "sourcebin_js": "0.0.3-ignore",
- "spotify-url-info": "^2.2.0",
- "srod-v2": "^1.0.1",
- "twemoji-parser": "^13.0.0",
- "twitter-api.js": "0.0.12",
- "weather-js": "^2.0.0",
- "yt-search": "^2.5.1",
- "ytdl-core": "^3.4.2",
- "ytdl-core-discord": "^1.2.5",
- "ytpl": "^2.0.4",
- "ytsr": "^3.2.2"
- },
- "engines": {
- "node": "12.x"
- },
- "repository": {
- "url": "https://glitch.com/edit/#!/hello-express"
- },
- "license": "MIT",
- "keywords": [
- "node",
- "glitch",
- "express"
- ]
-}
diff --git a/poetry.lock b/poetry.lock
new file mode 100644
index 0000000..2c7b625
--- /dev/null
+++ b/poetry.lock
@@ -0,0 +1,294 @@
+[[package]]
+name = "aiohttp"
+version = "3.7.4.post0"
+description = "Async http client/server framework (asyncio)"
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
+[package.dependencies]
+async-timeout = ">=3.0,<4.0"
+attrs = ">=17.3.0"
+chardet = ">=2.0,<5.0"
+multidict = ">=4.5,<7.0"
+typing-extensions = ">=3.6.5"
+yarl = ">=1.0,<2.0"
+
+[package.extras]
+speedups = ["aiodns", "brotlipy", "cchardet"]
+
+[[package]]
+name = "async-timeout"
+version = "3.0.1"
+description = "Timeout context manager for asyncio programs"
+category = "main"
+optional = false
+python-versions = ">=3.5.3"
+
+[[package]]
+name = "attrs"
+version = "23.1.0"
+description = "Classes Without Boilerplate"
+category = "main"
+optional = false
+python-versions = ">=3.7"
+
+[package.extras]
+cov = ["attrs", "coverage[toml] (>=5.3)"]
+dev = ["attrs", "pre-commit"]
+docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"]
+tests = ["attrs", "zope-interface"]
+tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pytest-mypy-plugins", "pytest-xdist", "pytest (>=4.3.0)"]
+
+[[package]]
+name = "blinker"
+version = "1.6.2"
+description = "Fast, simple object-to-object and broadcast signaling"
+category = "main"
+optional = false
+python-versions = ">=3.7"
+
+[[package]]
+name = "chardet"
+version = "4.0.0"
+description = "Universal encoding detector for Python 2 and 3"
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+
+[[package]]
+name = "click"
+version = "8.1.7"
+description = "Composable command line interface toolkit"
+category = "main"
+optional = false
+python-versions = ">=3.7"
+
+[package.dependencies]
+colorama = {version = "*", markers = "platform_system == \"Windows\""}
+
+[[package]]
+name = "colorama"
+version = "0.4.6"
+description = "Cross-platform colored terminal text."
+category = "main"
+optional = false
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
+
+[[package]]
+name = "discord"
+version = "1.7.3"
+description = "A mirror package for discord.py. Please install that instead."
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+"discord.py" = ">=1.7.3"
+
+[[package]]
+name = "discord-ext-slash"
+version = "0.9.2"
+description = "Support slash commands with discord.py."
+category = "main"
+optional = false
+python-versions = ">=3.7"
+
+[package.dependencies]
+"discord.py" = ">=1.5,<1.8"
+
+[[package]]
+name = "discord.py"
+version = "1.7.3"
+description = "A Python wrapper for the Discord API"
+category = "main"
+optional = false
+python-versions = ">=3.5.3"
+
+[package.dependencies]
+aiohttp = ">=3.6.0,<3.8.0"
+
+[package.extras]
+docs = ["sphinx (==3.0.3)", "sphinxcontrib-trio (==1.1.2)", "sphinxcontrib-websupport"]
+voice = ["PyNaCl (>=1.3.0,<1.5)"]
+
+[[package]]
+name = "discord.py-self"
+version = "1.9.2"
+description = "A Python wrapper for the Discord API"
+category = "main"
+optional = false
+python-versions = ">=3.8"
+
+[package.dependencies]
+aiohttp = ">=3.6.0,<3.8.0"
+
+[package.extras]
+docs = ["sphinx (==3.0.3)", "sphinxcontrib-trio (==1.1.2)", "sphinxcontrib-websupport"]
+voice = ["PyNaCl (>=1.3.0,<1.5)"]
+
+[[package]]
+name = "flask"
+version = "2.3.2"
+description = "A simple framework for building complex web applications."
+category = "main"
+optional = false
+python-versions = ">=3.8"
+
+[package.dependencies]
+blinker = ">=1.6.2"
+click = ">=8.1.3"
+importlib-metadata = {version = ">=3.6.0", markers = "python_version < \"3.10\""}
+itsdangerous = ">=2.1.2"
+Jinja2 = ">=3.1.2"
+Werkzeug = ">=2.3.3"
+
+[package.extras]
+async = ["asgiref (>=3.2)"]
+dotenv = ["python-dotenv"]
+
+[[package]]
+name = "idna"
+version = "3.4"
+description = "Internationalized Domain Names in Applications (IDNA)"
+category = "main"
+optional = false
+python-versions = ">=3.5"
+
+[[package]]
+name = "importlib-metadata"
+version = "6.8.0"
+description = "Read metadata from Python packages"
+category = "main"
+optional = false
+python-versions = ">=3.8"
+
+[package.dependencies]
+zipp = ">=0.5"
+
+[package.extras]
+docs = ["sphinx (>=3.5)", "jaraco.packaging (>=9)", "rst.linker (>=1.9)", "furo", "sphinx-lint", "jaraco.tidelift (>=1.4)"]
+perf = ["ipython"]
+testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ruff", "packaging", "pyfakefs", "flufl.flake8", "pytest-perf (>=0.9.2)", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)", "importlib-resources (>=1.3)"]
+
+[[package]]
+name = "itsdangerous"
+version = "2.1.2"
+description = "Safely pass data to untrusted environments and back."
+category = "main"
+optional = false
+python-versions = ">=3.7"
+
+[[package]]
+name = "jinja2"
+version = "3.1.2"
+description = "A very fast and expressive template engine."
+category = "main"
+optional = false
+python-versions = ">=3.7"
+
+[package.dependencies]
+MarkupSafe = ">=2.0"
+
+[package.extras]
+i18n = ["Babel (>=2.7)"]
+
+[[package]]
+name = "keep-alive"
+version = "0.0.1"
+description = "A package to keep an application online with HTTPS requests."
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
+[[package]]
+name = "markupsafe"
+version = "2.1.3"
+description = "Safely add untrusted strings to HTML/XML markup."
+category = "main"
+optional = false
+python-versions = ">=3.7"
+
+[[package]]
+name = "multidict"
+version = "6.0.4"
+description = "multidict implementation"
+category = "main"
+optional = false
+python-versions = ">=3.7"
+
+[[package]]
+name = "typing-extensions"
+version = "4.7.1"
+description = "Backported and Experimental Type Hints for Python 3.7+"
+category = "main"
+optional = false
+python-versions = ">=3.7"
+
+[[package]]
+name = "werkzeug"
+version = "2.3.7"
+description = "The comprehensive WSGI web application library."
+category = "main"
+optional = false
+python-versions = ">=3.8"
+
+[package.dependencies]
+MarkupSafe = ">=2.1.1"
+
+[package.extras]
+watchdog = ["watchdog (>=2.3)"]
+
+[[package]]
+name = "yarl"
+version = "1.9.2"
+description = "Yet another URL library"
+category = "main"
+optional = false
+python-versions = ">=3.7"
+
+[package.dependencies]
+idna = ">=2.0"
+multidict = ">=4.0"
+
+[[package]]
+name = "zipp"
+version = "3.16.2"
+description = "Backport of pathlib-compatible object wrapper for zip files"
+category = "main"
+optional = false
+python-versions = ">=3.8"
+
+[package.extras]
+docs = ["sphinx (>=3.5)", "jaraco.packaging (>=9.3)", "rst.linker (>=1.9)", "furo", "sphinx-lint", "jaraco.tidelift (>=1.4)"]
+testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ruff", "jaraco.itertools", "jaraco.functools", "more-itertools", "big-o", "pytest-ignore-flaky", "pytest-black (>=0.3.7)", "pytest-mypy (>=0.9.1)"]
+
+[metadata]
+lock-version = "1.1"
+python-versions = "^3.8"
+content-hash = "198f3bbdad9eca7d4cfe448cac4c357dacbdf15d6105e11346f49190c2ed13f8"
+
+[metadata.files]
+aiohttp = []
+async-timeout = []
+attrs = []
+blinker = []
+chardet = []
+click = []
+colorama = []
+discord = []
+discord-ext-slash = []
+"discord.py" = []
+"discord.py-self" = []
+flask = []
+idna = []
+importlib-metadata = []
+itsdangerous = []
+jinja2 = []
+keep-alive = []
+markupsafe = []
+multidict = []
+typing-extensions = []
+werkzeug = []
+yarl = []
+zipp = []
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000..540c9d9
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,19 @@
+[tool.poetry]
+name = "repl_python3_Poketwo-Autocatcher"
+version = "0.1.0"
+description = ""
+authors = ["Ninja.69 <<>>"]
+
+[tool.poetry.dependencies]
+python = "^3.8"
+discord = "^1.7.3"
+"discord.py-self" = "^1.9.1"
+keep-alive = "^0.0.1"
+Flask = "^2.0.3"
+discord-ext-slash = "^0.9.2"
+
+[tool.poetry.dev-dependencies]
+
+[build-system]
+requires = ["poetry-core>=1.0.0"]
+build-backend = "poetry.core.masonry.api"
diff --git a/pyproject.toml.working b/pyproject.toml.working
new file mode 100644
index 0000000..66f7886
--- /dev/null
+++ b/pyproject.toml.working
@@ -0,0 +1,16 @@
+[tool.poetry]
+name = "python-template"
+version = "0.1.0"
+description = ""
+authors = ["Your Name "]
+
+[tool.poetry.dependencies]
+python = ">=3.8.0,<3.9"
+
+[tool.poetry.dev-dependencies]
+debugpy = "^1.6.2"
+replit-python-lsp-server = {extras = ["yapf", "rope", "pyflakes"], version = "^1.5.9"}
+
+[build-system]
+requires = ["poetry-core>=1.0.0"]
+build-backend = "poetry.core.masonry.api"
\ No newline at end of file