From 5593919a53e8c205405307cfa961537f51f94858 Mon Sep 17 00:00:00 2001 From: yooo Date: Wed, 20 Sep 2023 13:30:49 +0530 Subject: [PATCH] yooo --- ExtendedMessage.js | 29 - LICENSE | 132 +- README.md | 91 +- code credits.md | 14 - commands/backup/Load.js | 56 - commands/backup/backup info.js | 47 - commands/backup/create.js | 24 - commands/backup/lol | 1 - commands/economy/Balance.js | 44 - commands/economy/Daly.js | 40 - commands/economy/Fish.js | 77 - commands/economy/addmoney.js | 31 - commands/economy/beg.js | 41 - commands/economy/buy.js | 102 - commands/economy/deposit.js | 78 - commands/economy/leaderboard.js | 38 - commands/economy/pay.js | 78 - commands/economy/removemoney.js | 34 - commands/economy/roulette.js | 89 - commands/economy/sell.js | 90 - commands/economy/slots.js | 57 - commands/economy/store.js | 41 - commands/economy/weekly.js | 40 - commands/economy/withdraw.js | 70 - commands/economy/work.js | 42 - commands/fun/advice.js | 14 - commands/fun/asci.js | 28 - commands/fun/cat.js | 23 - commands/fun/cry.js | 21 - commands/fun/dog.js | 24 - commands/fun/fact.js | 26 - commands/fun/hug.js | 23 - commands/fun/joke.js | 14 - commands/fun/kiss.js | 23 - commands/fun/kpop.js | 14 - commands/fun/lol.js | 46 - commands/fun/math.js | 23 - commands/fun/meme.js | 47 - commands/fun/mw.js | 16 - commands/fun/neko.js | 14 - commands/fun/pat.js | 23 - commands/fun/punch.js | 23 - commands/fun/slapgif.js | 26 - commands/giveaways/end.js | 50 - commands/giveaways/reroll.js | 47 - commands/giveaways/start.js | 78 - commands/help/Added.js | 30 - commands/help/Inv.js | 27 - commands/help/announce.js | 23 - commands/help/bug.js | 58 - commands/help/help.js | 62 - commands/help/invite.js | 20 - commands/image/Jail.js | 23 - commands/image/Love.js | 31 - commands/image/Trigerm.js | 26 - commands/image/achievement.js | 17 - commands/image/avs.js | 37 - commands/image/lol | 1 - commands/image/panda.js | 16 - commands/image/rip.js | 23 - commands/image/shit.js | 20 - commands/info-search/Anime.js | 54 - commands/info-search/Invite.js | 41 - commands/info-search/avatar.js | 39 - commands/info-search/badge.js | 21 - commands/info-search/botinfo.js | 31 - commands/info-search/djs.js | 45 - commands/info-search/embed.is | 147 - commands/info-search/embed.js | 72 - commands/info-search/github.js | 47 - commands/info-search/imbd.js | 36 - commands/info-search/insta.js | 44 - commands/info-search/npm.js | 52 - commands/info-search/ping.js | 16 - commands/info-search/pokemon.js | 35 - commands/info-search/server.js | 157 - commands/info-search/serveravatar.js | 19 - commands/info-search/snupe.js | 26 - commands/info-search/tweeter.js | 35 - commands/info-search/uptimee.js | 18 - commands/info-search/whois.js | 101 - commands/level/profile.js | 34 - commands/level/rank.js | 24 - commands/moderation/addrole.js | 55 - commands/moderation/ban.js | 44 - commands/moderation/clear.js | 354 -- commands/moderation/hackeban.js | 43 - commands/moderation/kick.js | 54 - commands/moderation/lock.js | 24 - commands/moderation/mute.js | 48 - commands/moderation/removerole.js | 34 - commands/moderation/resetwarn.js | 44 - commands/moderation/setNickname.js | 54 - commands/moderation/setmodlog.js | 41 - commands/moderation/slowmode.js | 48 - commands/moderation/unlock.js | 27 - commands/moderation/unmute.js | 37 - commands/moderation/voicekick.js | 24 - commands/moderation/warn.js | 70 - commands/moderation/warning.js | 16 - commands/moderation/welcome.js | 25 - commands/music/Loop.js | 23 - commands/music/clear.js | 21 - commands/music/disable-loop.js | 24 - commands/music/join.js | 18 - commands/music/leave.js | 19 - commands/music/np.js | 37 - commands/music/play.js | 40 - commands/music/playlist.js | 20 - commands/music/push.js | 22 - commands/music/queue.js | 21 - commands/music/resume.js | 21 - commands/music/shuffle.js | 21 - commands/music/skip.js | 23 - commands/music/stop.js | 21 - commands/music/volume.js | 21 - commands/nsfw/ass.js | 23 - commands/nsfw/bdsm.js | 23 - commands/nsfw/cum.js | 23 - commands/nsfw/doujin.js | 23 - commands/nsfw/femdom.js | 23 - commands/nsfw/hentai.js | 23 - commands/nsfw/maid.js | 23 - commands/nsfw/nmw.js | 23 - commands/nsfw/nsfw.js | 23 - commands/nsfw/orgy.js | 23 - commands/nsfw/panty.js | 23 - commands/owner/Serverlist.js | 131 - commands/owner/eval.js | 43 - commands/owner/getinv.js | 46 - commands/owner/stats.js | 60 - commands/suggestion/reply.js | 87 - commands/suggestion/setsuggest.js | 29 - commands/suggestion/suggest.js | 36 - commands/utility/discrim.js | 98 - commands/utility/findemoji.js | 101 - commands/utility/hastbin.js | 36 - commands/utility/sudo.js | 25 - config.json | 31 - data/legendary | 76 + data/level | 1 + data/mythical | 22 + data/pokemon | 1233 ++++++ functions.js | 174 - functions/createEmbed.js | 43 - handlers/command.js | 36 - handlers/giveaways.json | 1 - handlers/ready.js | 8 - index.js | 228 - json.sqlite | Bin 434176 -> 0 bytes json/fishes.json | 27 - json/works.json | 35 - keep_alive.py | 11 + main.py | 275 ++ node.sh | 27 - package-lock.json | 6116 -------------------------- package.json | 100 - poetry.lock | 294 ++ pyproject.toml | 19 + pyproject.toml.working | 16 + 160 files changed, 2003 insertions(+), 12606 deletions(-) delete mode 100644 ExtendedMessage.js delete mode 100644 code credits.md delete mode 100644 commands/backup/Load.js delete mode 100644 commands/backup/backup info.js delete mode 100644 commands/backup/create.js delete mode 100644 commands/backup/lol delete mode 100644 commands/economy/Balance.js delete mode 100644 commands/economy/Daly.js delete mode 100644 commands/economy/Fish.js delete mode 100644 commands/economy/addmoney.js delete mode 100644 commands/economy/beg.js delete mode 100644 commands/economy/buy.js delete mode 100644 commands/economy/deposit.js delete mode 100644 commands/economy/leaderboard.js delete mode 100644 commands/economy/pay.js delete mode 100644 commands/economy/removemoney.js delete mode 100644 commands/economy/roulette.js delete mode 100644 commands/economy/sell.js delete mode 100644 commands/economy/slots.js delete mode 100644 commands/economy/store.js delete mode 100644 commands/economy/weekly.js delete mode 100644 commands/economy/withdraw.js delete mode 100644 commands/economy/work.js delete mode 100644 commands/fun/advice.js delete mode 100644 commands/fun/asci.js delete mode 100644 commands/fun/cat.js delete mode 100644 commands/fun/cry.js delete mode 100644 commands/fun/dog.js delete mode 100644 commands/fun/fact.js delete mode 100644 commands/fun/hug.js delete mode 100644 commands/fun/joke.js delete mode 100644 commands/fun/kiss.js delete mode 100644 commands/fun/kpop.js delete mode 100644 commands/fun/lol.js delete mode 100644 commands/fun/math.js delete mode 100644 commands/fun/meme.js delete mode 100644 commands/fun/mw.js delete mode 100644 commands/fun/neko.js delete mode 100644 commands/fun/pat.js delete mode 100644 commands/fun/punch.js delete mode 100644 commands/fun/slapgif.js delete mode 100644 commands/giveaways/end.js delete mode 100644 commands/giveaways/reroll.js delete mode 100644 commands/giveaways/start.js delete mode 100644 commands/help/Added.js delete mode 100644 commands/help/Inv.js delete mode 100644 commands/help/announce.js delete mode 100644 commands/help/bug.js delete mode 100644 commands/help/help.js delete mode 100644 commands/help/invite.js delete mode 100644 commands/image/Jail.js delete mode 100644 commands/image/Love.js delete mode 100644 commands/image/Trigerm.js delete mode 100644 commands/image/achievement.js delete mode 100644 commands/image/avs.js delete mode 100644 commands/image/lol delete mode 100644 commands/image/panda.js delete mode 100644 commands/image/rip.js delete mode 100644 commands/image/shit.js delete mode 100644 commands/info-search/Anime.js delete mode 100644 commands/info-search/Invite.js delete mode 100644 commands/info-search/avatar.js delete mode 100644 commands/info-search/badge.js delete mode 100644 commands/info-search/botinfo.js delete mode 100644 commands/info-search/djs.js delete mode 100644 commands/info-search/embed.is delete mode 100644 commands/info-search/embed.js delete mode 100644 commands/info-search/github.js delete mode 100644 commands/info-search/imbd.js delete mode 100644 commands/info-search/insta.js delete mode 100644 commands/info-search/npm.js delete mode 100644 commands/info-search/ping.js delete mode 100644 commands/info-search/pokemon.js delete mode 100644 commands/info-search/server.js delete mode 100644 commands/info-search/serveravatar.js delete mode 100644 commands/info-search/snupe.js delete mode 100644 commands/info-search/tweeter.js delete mode 100644 commands/info-search/uptimee.js delete mode 100644 commands/info-search/whois.js delete mode 100644 commands/level/profile.js delete mode 100644 commands/level/rank.js delete mode 100644 commands/moderation/addrole.js delete mode 100644 commands/moderation/ban.js delete mode 100644 commands/moderation/clear.js delete mode 100644 commands/moderation/hackeban.js delete mode 100644 commands/moderation/kick.js delete mode 100644 commands/moderation/lock.js delete mode 100644 commands/moderation/mute.js delete mode 100644 commands/moderation/removerole.js delete mode 100644 commands/moderation/resetwarn.js delete mode 100644 commands/moderation/setNickname.js delete mode 100644 commands/moderation/setmodlog.js delete mode 100644 commands/moderation/slowmode.js delete mode 100644 commands/moderation/unlock.js delete mode 100644 commands/moderation/unmute.js delete mode 100644 commands/moderation/voicekick.js delete mode 100644 commands/moderation/warn.js delete mode 100644 commands/moderation/warning.js delete mode 100644 commands/moderation/welcome.js delete mode 100644 commands/music/Loop.js delete mode 100644 commands/music/clear.js delete mode 100644 commands/music/disable-loop.js delete mode 100644 commands/music/join.js delete mode 100644 commands/music/leave.js delete mode 100644 commands/music/np.js delete mode 100644 commands/music/play.js delete mode 100644 commands/music/playlist.js delete mode 100644 commands/music/push.js delete mode 100644 commands/music/queue.js delete mode 100644 commands/music/resume.js delete mode 100644 commands/music/shuffle.js delete mode 100644 commands/music/skip.js delete mode 100644 commands/music/stop.js delete mode 100644 commands/music/volume.js delete mode 100644 commands/nsfw/ass.js delete mode 100644 commands/nsfw/bdsm.js delete mode 100644 commands/nsfw/cum.js delete mode 100644 commands/nsfw/doujin.js delete mode 100644 commands/nsfw/femdom.js delete mode 100644 commands/nsfw/hentai.js delete mode 100644 commands/nsfw/maid.js delete mode 100644 commands/nsfw/nmw.js delete mode 100644 commands/nsfw/nsfw.js delete mode 100644 commands/nsfw/orgy.js delete mode 100644 commands/nsfw/panty.js delete mode 100644 commands/owner/Serverlist.js delete mode 100644 commands/owner/eval.js delete mode 100644 commands/owner/getinv.js delete mode 100644 commands/owner/stats.js delete mode 100644 commands/suggestion/reply.js delete mode 100644 commands/suggestion/setsuggest.js delete mode 100644 commands/suggestion/suggest.js delete mode 100644 commands/utility/discrim.js delete mode 100644 commands/utility/findemoji.js delete mode 100644 commands/utility/hastbin.js delete mode 100644 commands/utility/sudo.js delete mode 100644 config.json create mode 100644 data/legendary create mode 100644 data/level create mode 100644 data/mythical create mode 100644 data/pokemon delete mode 100644 functions.js delete mode 100644 functions/createEmbed.js delete mode 100644 handlers/command.js delete mode 100644 handlers/giveaways.json delete mode 100644 handlers/ready.js delete mode 100644 index.js delete mode 100644 json.sqlite delete mode 100644 json/fishes.json delete mode 100644 json/works.json create mode 100644 keep_alive.py create mode 100644 main.py delete mode 100644 node.sh delete mode 100644 package-lock.json delete mode 100644 package.json create mode 100644 poetry.lock create mode 100644 pyproject.toml create mode 100644 pyproject.toml.working 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(/?/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: "