From 360b801a0a279daa76668cf9d677fe7b867db423 Mon Sep 17 00:00:00 2001 From: Sakurajimai#6742 <56829176+maisans-maid@users.noreply.github.com> Date: Fri, 15 Jan 2021 19:27:22 +0800 Subject: [PATCH] (update): Better Documentation (betterdocs) (#90) * (update): description of roleplay/action commands * (update): description + examples of anime commands * (update): description + examples of bot commands * (update): description + examples of core commands * (update): examples of fun commands * (update): examples of moderation commands * (update): examples of owner commands * (update): examples of setup commands * (update): examples of social commands * (update): examples of utility commands + removal of time command * (update): command database --- assets/json/command-database.json | 735 ++++++++++++++++------------ commands/action/baka.js | 2 +- commands/action/cry.js | 4 +- commands/action/dance.js | 4 +- commands/action/disgust.js | 6 +- commands/action/feed.js | 2 +- commands/action/happy.js | 4 +- commands/action/hug.js | 2 +- commands/action/kill.js | 3 +- commands/action/kiss.js | 2 +- commands/action/lick.js | 2 +- commands/action/midfing.js | 6 +- commands/action/pat.js | 2 +- commands/action/poke.js | 2 +- commands/action/slap.js | 2 +- commands/action/smug.js | 2 +- commands/action/suicide.js | 6 +- commands/action/tickle.js | 2 +- commands/anime/alprofile.js | 12 +- commands/anime/anime.js | 21 +- commands/anime/animeme.js | 15 +- commands/anime/aniquote.js | 4 +- commands/anime/anirandom.js | 5 + commands/anime/character.js | 15 +- commands/anime/discover.js | 7 +- commands/anime/hanime.js | 9 +- commands/anime/malprofile.js | 12 +- commands/anime/manga.js | 14 +- commands/anime/mangarandom.js | 5 +- commands/anime/nextairdate.js | 17 +- commands/anime/sauce.js | 14 +- commands/anime/schedule.js | 14 +- commands/anime/seiyuu.js | 13 +- commands/anime/top.js | 10 +- commands/anime/upcoming.js | 12 +- commands/anime/waifu.js | 4 +- commands/bot/feedback.js | 6 +- commands/bot/invite.js | 4 +- commands/bot/ping.js | 5 +- commands/bot/stats.js | 6 +- commands/bot/support.js | 4 +- commands/core/commands.js | 6 +- commands/core/help.js | 14 +- commands/core/mai.js | 8 +- commands/core/suggest.js | 4 +- commands/core/watching.js | 6 +- commands/fun/8ball.js | 14 +- commands/fun/advice.js | 6 +- commands/fun/birdfact.js | 7 +- commands/fun/catfact.js | 7 +- commands/fun/comment.js | 4 +- commands/fun/dogfact.js | 7 +- commands/fun/flip.js | 5 +- commands/fun/fortune.js | 7 +- commands/fun/horoscope.js | 5 +- commands/fun/invert.js | 6 +- commands/fun/joke.js | 5 +- commands/fun/meme.js | 5 +- commands/fun/pandafact.js | 6 +- commands/fun/pokemon.js | 10 +- commands/fun/rate.js | 7 +- commands/fun/respect.js | 8 +- commands/fun/reverse.js | 4 +- commands/fun/roll.js | 8 +- commands/fun/triggered.js | 6 +- commands/moderation/addemoji.js | 6 +- commands/moderation/addroles.js | 5 +- commands/moderation/ban.js | 6 +- commands/moderation/clear.js | 6 +- commands/moderation/hackban.js | 9 +- commands/moderation/kick.js | 6 +- commands/moderation/lockdown.js | 7 +- commands/moderation/mute.js | 5 +- commands/moderation/nuke.js | 5 +- commands/moderation/resetchannel.js | 5 +- commands/moderation/resetroles.js | 5 +- commands/moderation/respond.js | 4 +- commands/moderation/softban.js | 5 +- commands/moderation/softlockdown.js | 5 +- commands/moderation/softmute.js | 5 +- commands/moderation/unban.js | 4 +- commands/moderation/unmute.js | 5 +- commands/owner/addcredits.js | 4 +- commands/owner/cleanup.js | 4 +- commands/owner/eval.js | 4 +- commands/owner/fleave.js | 4 +- commands/owner/reload.js | 4 +- commands/setup/disableanisched.js | 5 + commands/setup/goodbyetoggle.js | 3 + commands/setup/setanischedch.js | 5 +- commands/setup/setgoodbyech.js | 5 +- commands/setup/setgoodbyemsg.js | 8 +- commands/setup/setmute.js | 6 +- commands/setup/setprefix.js | 4 +- commands/setup/setsuggsetch.js | 5 +- commands/setup/setwelcomech.js | 5 +- commands/setup/setwelcomemsg.js | 8 +- commands/setup/unwatch.js | 5 +- commands/setup/userxpreset.js | 7 +- commands/setup/watch.js | 5 +- commands/setup/welcometoggle.js | 3 + commands/setup/xpenable.js | 3 + commands/setup/xpexcempt.js | 5 + commands/setup/xpreset.js | 4 +- commands/setup/xptoggle.js | 3 + commands/social/bal.js | 6 +- commands/social/bank.js | 7 +- commands/social/beg.js | 6 +- commands/social/bet.js | 6 +- commands/social/buy.js | 6 + commands/social/creditslb.js | 5 +- commands/social/daily.js | 4 +- commands/social/deleteitem.js | 12 +- commands/social/deposit.js | 5 +- commands/social/find.js | 5 +- commands/social/game.js | 6 +- commands/social/gift.js | 7 + commands/social/inventory.js | 7 +- commands/social/leaderboard.js | 6 +- commands/social/market.js | 4 + commands/social/nonxpchannels.js | 3 + commands/social/previewitem.js | 6 + commands/social/profile.js | 8 +- commands/social/register.js | 4 +- commands/social/sell.js | 5 + commands/social/setbio.js | 4 + commands/social/setbirthday.js | 5 + commands/social/setcolor.js | 5 + commands/social/tip.js | 6 +- commands/social/transfer.js | 7 +- commands/social/unequip.js | 8 +- commands/social/use.js | 8 +- commands/social/withdraw.js | 5 +- commands/utility/avatar.js | 6 +- commands/utility/color.js | 7 +- commands/utility/define.js | 5 +- commands/utility/emoji.js | 3 + commands/utility/jisho.js | 6 +- commands/utility/listrole.js | 5 +- commands/utility/lyrics.js | 7 +- commands/utility/permissionsfor.js | 5 +- commands/utility/reddit.js | 6 +- commands/utility/serverinfo.js | 5 +- commands/utility/steam.js | 7 +- commands/utility/time.js | 51 -- commands/utility/userinfo.js | 7 +- 146 files changed, 1077 insertions(+), 592 deletions(-) delete mode 100644 commands/utility/time.js diff --git a/assets/json/command-database.json b/assets/json/command-database.json index e30ef6c0..d7d9fcf0 100644 --- a/assets/json/command-database.json +++ b/assets/json/command-database.json @@ -8,7 +8,7 @@ "ADD_REACTIONS" ], "group": "action", - "description": "It's not like I want you to use my command.. ~Baka!", + "description": "Sends a roleplay gif `baka` to the chat, directed towards the mentioned user, if there is any. Usually interpreted as 「 The user whom this command is directed to is an idiot (in a kawaii-context) 」.", "parameters": [ "User Mention" ], @@ -25,14 +25,14 @@ "ADD_REACTIONS" ], "group": "action", - "description": "UWAA~!", + "description": "Sends a roleplay gif `cry` to the chat. Usually interpreted as 「 The user who used this commnd is crying 」. Use to indicate that you are currently crying. May be used in a similar context to the emoji 😢.", "parameters": [], "examples": [ "cry" ] }, { - "name": "disgust", + "name": "dance", "aliases": [], "guildOnly": true, "clientPermissions": [ @@ -40,10 +40,27 @@ "ADD_REACTIONS" ], "group": "action", - "description": "Mazui! Kimoi!", + "description": "Sends a roleplay gif `dance` to the chat. Usually interpreted as 「 The user who used this commnd is dancing (in joy) 」. Use to indicate that you are currently dancing (context may vary).", "parameters": [], "examples": [ + "dance" + ] + }, + { + "name": "disgust", + "aliases": [], + "guildOnly": true, + "clientPermissions": [ + "EMBED_LINKS", + "ADD_REACTIONS" + ], + "group": "action", + "description": "Sends a roleplay gif `disgust` to the chat, directed towards the mentioned user, if there is any. Usually interpreted as 「 The user whom this command is directed to is digusting (Mazui!!, Kimoi!!) 」. Use to indicate that you are disgusted by their (ideas on their) previous chats. May be used in a similar context to the emoji 🤮.", + "parameters": [ "User Mention" + ], + "examples": [ + "disgust @user" ] }, { @@ -55,7 +72,7 @@ "ADD_REACTIONS" ], "group": "action", - "description": "Yummy!", + "description": "Sends a roleplay gif `feed` to the chat, directed towards the mentioned user, if there is any. Usually interpreted as 「 The user whom this command is directed to has been fed 」. Use to indicate that you are / wanted to feed the user.", "parameters": [ "User Mention" ], @@ -72,7 +89,7 @@ "ADD_REACTIONS" ], "group": "action", - "description": "Happy!", + "description": "Sends a roleplay gif `happy` to the chat. Usually interpreted as 「 The user who used this command is happy (shiawase da!!) 」. Use to indicate that you are currently happy (context may vary). May be used in a similar context to the emoji 😃.", "parameters": [], "examples": [ "happy" @@ -87,7 +104,7 @@ "ADD_REACTIONS" ], "group": "action", - "description": "Hug someone special.", + "description": "Sends a roleplay gif `hug` to the chat, directed towards the mentioned user, if there is any. Usually interpreted as 「 The user whom this command is directed to has been hugged 」. Use to indicate that you are / wanted to hug the mentioned user (context may vary). May be used in a similar context to the emoji 🤗.", "parameters": [ "User Mention" ], @@ -99,12 +116,13 @@ "name": "kill", "aliases": [], "guildOnly": true, + "nsfw": true, "clientPermissions": [ "EMBED_LINKS", "ADD_REACTIONS" ], "group": "action", - "description": "Kill someone.", + "description": "Sends a roleplay gif `kill` to the chat, directed towards the mentioned user, if there is any. Usually interpreted as 「 The user who used this command wants to kill the mentioned user 」. Use to indicate that you are / wanted to kill the mentioned user (context may vary). This is a roleplay command and is meant to be used as a joke, however, this will be limited to a nsfw channel due to sensitive nature of this command. Context should not include real crimes.", "parameters": [ "User Mention" ], @@ -121,7 +139,7 @@ "ADD_REACTIONS" ], "group": "action", - "description": "Show your love to someone special! Not me lol", + "description": "Sends a roleplay gif `kiss` to the chat, directed towards the mentioned user, if there is any. Usually interpreted as 「 The user whom this command is directed to has been kissed 」. Use to indicate that you are / wanted to kiss the mentioned user (context may vary). May be used in a similar context to the emoji 😘.", "parameters": [ "User Mention" ], @@ -138,7 +156,7 @@ "ADD_REACTIONS" ], "group": "action", - "description": "Lick Lick Lick Lick Lick Lick Lick.", + "description": "Sends a roleplay gif `lick` to the chat, directed towards the mentioned user, if there is any. Usually interpreted as 「 The user whom this command is directed to has been licked (lero lero lero lero lero) 」. Use to indicate that you are / wanted to lick the mentioned user (context may vary).", "parameters": [ "User Mention" ], @@ -156,10 +174,12 @@ ], "group": "action", "nsfw": true, - "description": "Use this to throw someone off. No seriously, it's a joke!", - "parameters": [], + "description": "Sends a roleplay gif `midfing` to the chat, directed towards the mentioned user, if there is any. Usually interpreted as 「 The user who used this command wants the mentioned user to **** off 」. Use to indicate that you are annoyed by the user (context may vary). This is a roleplay command and is meant to be used as a joke, however, this will be limited to a nsfw channel due to sensitive nature of this command.", + "parameters": [ + "User Mention" + ], "examples": [ - "" + "midfing @user" ] }, { @@ -173,7 +193,7 @@ "ADD_REACTIONS" ], "group": "action", - "description": "It's not like I want you to use my command.. ~Baka!", + "description": "Sends a roleplay gif `pat` to the chat, directed towards the mentioned user, if there is any. Usually interpreted as 「 The user gave a headpat to the mentioned user 」. Use to indicate that you are / wanted to headpat the mentioned user (context may vary).", "parameters": [ "User Mention" ], @@ -190,7 +210,7 @@ "ADD_REACTIONS" ], "group": "action", - "description": "Poke your friends!", + "description": "Sends a roleplay gif `poke` to the chat, directed towards the mentioned user, if there is any. Usually interpreted as 「 The mentioned user ignores you, so you poke them 」. Use to indicate that you are in need of attention from the mentioned user (context may vary).", "parameters": [ "User Mention" ], @@ -207,7 +227,7 @@ "ADD_REACTIONS" ], "group": "action", - "description": "Slap them friends!~", + "description": "Sends a roleplay gif `slap` to the chat, directed towards the mentioned user, if there is any. Usually interpreted as 「 The user whom this command is directed to has been slapped 」. Use to indicate that you are / wanted to slap the mentioned user (context may vary).", "parameters": [ "User Mention" ], @@ -224,7 +244,7 @@ "ADD_REACTIONS" ], "group": "action", - "description": "The epitome of arguments: smug anime girls", + "description": "Sends a roleplay gif `smug` to the chat. Usually interpreted as 「 The user who used this command smugs at the previous chat 」. Use to indicate that you sense the ulterior motive the previous user sent in chat.", "parameters": [], "examples": [ "smug" @@ -236,13 +256,13 @@ "kms" ], "guildOnly": true, + "nsfw": true, "clientPermissions": [ "EMBED_LINKS", "ADD_REACTIONS" ], "group": "action", - "nsfw": true, - "description": "KYSL - KillYourSelfLol", + "description": "Sends a roleplay gif `suicide` to the chat. Usually interpreted as 「 The user who used this command wants to commit suicide (in a jokingly manner) 」. Use to indicate that you are stunned by the previous user's chats that it makes you want to kys. This is a roleplay command and is meant to be used as a joke, however, this will be limited to a nsfw channel due to sensitive nature of this command. Context should not include real crimes.", "parameters": [], "examples": [ "suicide", @@ -258,7 +278,7 @@ "ADD_REACTIONS" ], "group": "action", - "description": "Tickle your friends!", + "description": "Sends a roleplay gif `tickle` to the chat, directed towards the mentioned user, if there is any. Usually interpreted as 「 The user whom this command is directed to has been tickled 」. Use to indicate that you tickled the mentioned user (context may vary).", "parameters": [ "User Mention" ], @@ -281,16 +301,16 @@ "EMBED_LINKS" ], "group": "anime", - "description": "Finds user profile on Anilist based on the provided query", + "description": "Finds user profile on [Anilist](https://anilist.co) based on the provided query.", "parameters": [ - "User" + "Anilist Username" ], "examples": [ - "alprofile ", - "al-of ", - "alof ", - "alstat ", - "aluser " + "alprofile", + "al-of sakurajimai", + "alof sakurajimai", + "alstat sakurajimai", + "aluser sakurajimai" ] }, { @@ -308,14 +328,14 @@ "EMBED_LINKS" ], "group": "anime", - "description": "Searches for a specific anime in <:mal:767062339177676800> [MyAnimeList](https://myanimelist.net \"Homepage\")", + "description": "Searches for a specific anime in <:mal:767062339177676800> [MyAnimeList](https://myanimelist.net \"Homepage\"), or shows Mai's anime series information if no query is provided.", "parameters": [ "Search Query" ], "examples": [ "anime", - "ani aobuta", "as seishun buta yarou", + "ani aobuta", "anisearch bunnygirl senpai" ] }, @@ -341,10 +361,9 @@ "examples": [ "animeme", "ameme reload", - "animememe random", - "animemes ", - "animememes reload", - "amemes random" + "animeme random", + "animemes reload", + "amemes" ] }, { @@ -357,7 +376,7 @@ "clientPermissions": [ "EMBED_LINKS" ], - "description": "Generate a random anime quote", + "description": "Generate a random anime quote.", "parameters": [], "examples": [ "aniquote", @@ -402,15 +421,16 @@ "EMBED_LINKS" ], "group": "anime", - "description": "Searches for a character in <:mal:767062339177676800> [MyAnimeList](https://myanimelist.net \"Homepage\")", + "description": "Searches for a character in <:mal:767062339177676800> [MyAnimeList](https://myanimelist.net \"Homepage\"), or Mai's character information if no query is provided.", "parameters": [ "Search Query" ], "examples": [ "character", - "anichar Mai Sakurajima,Mai-san,mai", - "char undefined", - "c undefined" + "anichar Mai", + "anichar Sakuta Azusagawa", + "char Rio Futaba", + "c Kaede Azusagawa" ] }, { @@ -418,7 +438,7 @@ "aliases": [], "guildOnly": true, "group": "anime", - "description": "Generate a set of handpicked recommendations for a user", + "description": "Generate a set of handpicked recommendations for a user.", "clientPermissions": [ "EMBED_LINKS", "USE_EXTERNAL_EMOJIS", @@ -429,8 +449,8 @@ "Anime" ], "examples": [ - "discover Manga", - "discover Anime" + "discover anime", + "discover manga" ] }, { @@ -455,10 +475,10 @@ "Search Query" ], "examples": [ - "hanime Saimin Seishidou 1", - "searchhentai Saimin Seishidou 2", - "hanisearch Saimin Seishidou 3", - "hs Saimin Seishidou 4" + "hanime saimin seishidou", + "searchhentai mankitsu happening", + "hanisearch dropout", + "hs tamashii insert" ] }, { @@ -476,16 +496,16 @@ "EMBED_LINKS" ], "group": "anime", - "description": "Finds user profile on myanimelist based on the provided query", + "description": "Finds user profile on myanimelist based on the provided query.", "parameters": [ - "User" + "Myanimelist Username" ], "examples": [ - "malprofile ", - "mal-of ", - "malof ", - "malstat ", - "maluser " + "malprofile sakurajimai-san", + "mal-of sakurajimai-san", + "malof sakurajimai-san", + "malstat sakurajimai-san", + "maluser sakurajimai-san" ] }, { @@ -506,13 +526,13 @@ "ADD_REACTIONS" ], "group": "anime", - "description": "Searches for a Manga / Manhwa / Manhua in <:mal:767062339177676800> [MyAnimeList](https://myanimelist.net.co \"Homepage\").", + "description": "Searches for a Manga / Manhwa / Manhua in <:mal:767062339177676800> [MyAnimeList](https://myanimelist.net.co \"Homepage\"), or shows Seishun Buta Yarou if no query is provided.", "parameters": [ "Search Query" ], "examples": [ "manga", - "comic aobuta", + "comic rascal does not dream", "manhwa solo leveling", "manhua king's avatar" ] @@ -553,16 +573,16 @@ "EMBED_LINKS" ], "group": "anime", - "description": "Returns remaining time for the next episode of given anime. Returns this day's schedule, if no anime is specified", + "description": "Shows the remaining time for the next episode of given anime. Returns this day's schedule, if no anime is specified", "parameters": [ - "search query" + "Search Query" ], "examples": [ "nextairdate", - "nextairing aobuta", - "nextair seishun buta yarou", - "nextep bunnygirl senpai", - "nextepisode rascal does not dream" + "nextair boruto", + "nextairing black clover", + "nextep attack on titan", + "nextepisode tensura" ] }, { @@ -616,12 +636,14 @@ ], "group": "anime", "description": "Displays the list of currently airing anime for today's date or given weekday.", - "parameters": [], + "parameters": [ + "Weekday" + ], "examples": [ - "schedule", - "anitoday sunday", - "airinglist monday", - "airing tuesday" + "schedule monday", + "anitoday", + "airinglist sunday", + "airing saturday" ] }, { @@ -638,14 +660,14 @@ "EMBED_LINKS" ], "group": "anime", - "description": "Search for seiyuu's on your favorite anime characters!", + "description": "Search for seiyuu's on your favorite anime characters, or Mai's seiyuu if no query is provided!", "parameters": [ "search query" ], "examples": [ "seiyuu", - "voice Takahashi Rie", - "va Amamiya Sora" + "voice amamiya sora", + "va yuuki kaji" ] }, { @@ -653,7 +675,7 @@ "aliases": [], "guildOnly": true, "group": "anime", - "description": "", + "description": "Shows top anime (\\🛠️ currently broken)", "clientPermissions": [ "EMBED_LINKS" ], @@ -663,11 +685,7 @@ "subtype" ], "examples": [ - "top 1 manga", - "top 1-12 anime bypopularity", - "top 56-60 characters", - "top 10 anime favorite", - "top 1-10 anime airing" + "top" ] }, { @@ -684,7 +702,9 @@ }, "group": "anime", "description": "Displays the list of upcoming anime.", - "parameters": [], + "parameters": [ + "Anime Media Type" + ], "examples": [ "upcoming", "upcoming tv", @@ -724,7 +744,7 @@ "Feedback Message" ], "examples": [ - "feedback [complaints, bugs, issues, feature requests, etc]" + "feedback this command is not working bla bla.." ] }, { @@ -780,7 +800,7 @@ "aliases": [], "guildOnly": true, "group": "bot", - "description": "Support for Mai", + "description": "Displays various ways to show support for Mai", "clientPermissions": [ "EMBED_LINKS" ], @@ -811,7 +831,7 @@ "name": "help", "aliases": [], "group": "core", - "description": "Displays basic information or a help for a command", + "description": "Displays basic information or a help for a command.", "clientPermissions": [ "EMBED_LINKS" ], @@ -819,10 +839,9 @@ "Command Name/Alias" ], "examples": [ - "help anime", - "help discover", - "help upcoming", - "help commands" + "help anirand", + "help watching", + "help register" ] }, { @@ -854,7 +873,9 @@ "parameters": [ "Suggestion Message" ], - "examples": "suggest Please remove some inactive members... " + "examples": [ + "suggest please remove some of the inactive members..." + ] }, { "name": "watching", @@ -893,11 +914,11 @@ "Question answerable by Yes/No" ], "examples": [ - "8ball Is mai a good bot?", - "🎱 Is FMA worth of it's top spot?", - "8b Is BNHA good?", - "8-ball Do you want to play Among Us?", - "eightball Have you been in a thight spot before?" + "8ball is mai a good bot?", + "🎱 is FMA worth of it's top spot?", + "8b is BNHA good", + "8-ball Do you want to play Among us?", + "eightball Have you been in a tight spot before?" ] }, { @@ -965,7 +986,7 @@ "ATTACH_FILES" ], "examples": [ - "comment" + "comment I never thought this would be the effect." ] }, { @@ -998,11 +1019,8 @@ "group": "fun", "description": "Win or Lose, Flip a Coin [Head or Tails]", "examples": [ - "flip", - "coinflip", - "coin", - "tosscoin", - "tc" + "flip head", + "coinflip tail" ] }, { @@ -1033,7 +1051,8 @@ "EMBED_LINKS" ], "examples": [ - "horoscope" + "horoscope libra", + "horoscope sagittarius" ] }, { @@ -1049,7 +1068,8 @@ "User Mention" ], "examples": [ - "invert " + "invert @user", + "invert 721612345678987654456" ] }, { @@ -1107,15 +1127,15 @@ "pokédex" ], "group": "fun", - "description": "Find a specific pokemon using the pokédex", + "description": "Find a specific pokemon using the pokédex, or pikachu if no query is provided.", "clientPermissions": [ "EMBED_LINKS" ], "examples": [ - "pokemon snorlax", - "pokedex meowth", - "pokémon pikachu", - "pokédex clefairy" + "pokemon", + "pokedex pikachu", + "pokémon clefairy", + "pokédex jigglypuff" ] }, { @@ -1125,6 +1145,11 @@ "description": "Rates the provided argument", "parameters": [ "something to rate with" + ], + "examples": [ + "rate Potato", + "rate cheese", + "rate Bringles" ] }, { @@ -1135,15 +1160,14 @@ "+rp" ], "group": "fun", - "description": "Show thy respect.", + "description": "Show thy respect. Accepts arguments.", "clientPermissions": [ "EMBED_LINKS" ], "examples": [ "respect", - "f", - "rp", - "+rp" + "f Kyoto Animation", + "rp @user" ] }, { @@ -1152,7 +1176,7 @@ "group": "fun", "description": "Reverses the supplied text", "examples": [ - "reverse" + "reverse This text will be reversed." ] }, { @@ -1161,7 +1185,9 @@ "group": "fun", "description": "Generate a random number from 1-[selected number]", "examples": [ - "roll " + "roll 10", + "roll 100", + "roll 1234567" ] }, { @@ -1177,7 +1203,8 @@ "User Mention" ], "examples": [ - "triggered " + "triggered @user", + "triggered 78213712536152371" ] }, { @@ -1191,12 +1218,14 @@ "MANAGE_EMOJIS" ], "group": "moderation", - "description": "Add an emoji to the server using the supplied image URL", + "description": "Add an emoji to the server using the supplied image URL and name (optional)", "parameters": [ "Image URL", "Emoji Name" ], - "examples": "addemoji https://some-url/path-to-image.format name_of_emoji" + "examples": [ + "addemoji https://some-url/path-to-image.format emojiname" + ] }, { "name": "addroles", @@ -1212,9 +1241,9 @@ ], "group": "moderation", "description": "Adds the mentioned roles and/or supplied role IDs to the mentioned user", - "example": [ - "addroles <...role>", - "addrole <...role>" + "examples": [ + "addroles @user @role1 @role2 @role3", + "addrole @user @role" ] }, { @@ -1234,7 +1263,9 @@ "Ban Reason" ], "examples": [ - "ban @user " + "ban @user breaking server rules", + "ban @user", + "ban 7827342137832612783" ] }, { @@ -1259,15 +1290,13 @@ "Quantity of Message" ], "examples": [ - "clear 30", - "delete 30", - "slowprune 30", - "sd 30", - "slowdelete 30" + "clear 10", + "delete 99", + "slowprune 50" ] }, { - "name": "ban", + "name": "hackban", "aliases": [], "guildOnly": true, "permissions": [ @@ -1277,13 +1306,14 @@ "BAN_MEMBERS" ], "group": "moderation", - "description": "bans a user when they are not in the server.", + "description": "bans a user even if they are not in the server.", "parameters": [ "User ID", "Ban Reason" ], "examples": [ - "ban @user " + "hackban 7823713678123123123", + "hackban 2345678765423567817 not following discord tos" ] }, { @@ -1303,7 +1333,9 @@ "Kick Reason" ], "examples": [ - "kick @user " + "kick @user breaking server rules", + "kick @user", + "kick 7827342137832612783" ] }, { @@ -1345,6 +1377,10 @@ "description": "Prevents a user from sending a message in this server", "parameters": [ "User Mention | ID" + ], + "examples": [ + "mute @user", + "mute 798213718237181231" ] }, { @@ -1407,11 +1443,8 @@ "User Mention | ID" ], "examples": [ - "resetroles", - "resetrole", - "removeroles", - "removerole", - "purgerole" + "resetroles @user", + "resetrole 7283746571920016374" ] }, { @@ -1427,72 +1460,7 @@ "reason" ], "examples": [ - "r", - "e", - "s", - "p", - "o", - "n", - "d", - " ", - "6", - "9", - "0", - "1", - "0", - "5", - "1", - "7", - "3", - "0", - "8", - "7", - "2", - "2", - "3", - "8", - "1", - "2", - " ", - "d", - "e", - "n", - "y", - " ", - "D", - "o", - "e", - "s", - "n", - "'", - "t", - " ", - "m", - "a", - "k", - "e", - " ", - "m", - "u", - "c", - "h", - " ", - "s", - "e", - "n", - "s", - "e", - " ", - "t", - "o", - " ", - "d", - "o", - " ", - "t", - "h", - "i", - "s" + "respond 690105173087223812 deny Doesn't make much sense to do this" ] }, { @@ -1511,7 +1479,8 @@ "user Mention/ID" ], "examples": [ - "softban 0123456789012345678" + "softban @user", + "softban 7283746574829102938" ] }, { @@ -1533,9 +1502,7 @@ "description": "[Prevent/Allow] users without special permissions from sending messages in the current channel. Permission Overwrites will be kept.", "examples": [ "softlockdown", - "softlock", - "softld", - "softlockchannel" + "softlock" ] }, { @@ -1549,6 +1516,10 @@ "description": "Toggle to prevent a user from sending a message in this channel", "parameters": [ "User Mention | ID" + ], + "examples": [ + "softmute @user", + "softmute 728374657483920192" ] }, { @@ -1568,7 +1539,7 @@ "Unban Reason" ], "examples": [ - "unban 0123456789012345678 " + "unban 728374657483920192" ] }, { @@ -1586,6 +1557,10 @@ "description": "Unmutes a muted user from this server.", "parameters": [ "User Mention | ID" + ], + "examples": [ + "unmute @user", + "unmute 7283746574829102938" ] }, { @@ -1597,7 +1572,7 @@ "description": "Add credits to users! Append negative sign to remove credits from users!", "requiresDatabase": true, "examples": [ - "addcredits" + "addcredits @user 1000" ] }, { @@ -1620,7 +1595,7 @@ "Javascript Code" ], "examples": [ - "eval 1 + 1" + "eval 1+1" ] }, { @@ -1637,6 +1612,9 @@ "parameters": [ "server ID", "Reason" + ], + "examples": [ + "fleave 728374657483920374" ] }, { @@ -1661,7 +1639,12 @@ "adminOnly": true, "group": "setup", "description": "Disable the anisched feature for this server", - "requiresDatabase": true + "requiresDatabase": true, + "parameters": [], + "examples": [ + "disableanisched", + "anischedoff" + ] }, { "name": "goodbyetoggle", @@ -1670,7 +1653,10 @@ "adminOnly": true, "group": "setup", "description": "Toggle the `Leaving Member Announcer` on and off.", - "requiresDatabase": true + "requiresDatabase": true, + "examples": [ + "goodbyetoggle" + ] }, { "name": "setanischedch", @@ -1688,10 +1674,8 @@ "Channel ID/Mention" ], "examples": [ - "setanischedch ", - "setanischedulechannel ", - "setanischedulech ", - "setanischedchannel " + "setanischedch #anime-updates", + "setanischedulech 728394059683726123" ] }, { @@ -1706,7 +1690,8 @@ "Channel ID/Mention" ], "examples": [ - "setgoodbyech " + "setgoodbyech #member-leaves", + "setgoodbyech 728374657482937465" ] }, { @@ -1715,8 +1700,17 @@ "guildOnly": true, "adminOnly": true, "group": "setup", - "description": "Set up the goodbye message. Supports Embeds! [Learn how to set up your Leaving Member Announcer](https://mai-san.ml/)", - "requiresDatabase": true + "description": "Set up the goodbye message. Supports Embeds! [Learn how to set up your Leaving Member Announcer](https://guides.mai-san.ml/)", + "requiresDatabase": true, + "parameters": [ + "options", + "other parameters" + ], + "examples": [ + "setgoodbyemsg default", + "setgoodbyemsg embed=true", + "setgoodbyemsg embed=set -author=image:[ ]" + ] }, { "name": "setmute", @@ -1732,8 +1726,9 @@ "Role " ], "examples": [ - "setmute ", - "setmuterole " + "setmute @muted", + "setmute 73847566859304855", + "setmute muted" ] }, { @@ -1748,7 +1743,7 @@ "prefix" ], "examples": [ - "setprefix !?" + "setprefix ?" ] }, { @@ -1763,7 +1758,8 @@ "Channel ID/Mention" ], "examples": [ - "setsuggestch " + "setsuggestch 6273849506948347573", + "setsuggestch #suggestions" ] }, { @@ -1778,7 +1774,8 @@ "Channel ID/Mention" ], "examples": [ - "setwelcomech " + "setwelcomech 72838485961627384", + "setwelcomech #member-joins" ] }, { @@ -1787,8 +1784,17 @@ "guildOnly": true, "adminOnly": true, "group": "setup", - "description": "Set up the welcome message. Supports Embeds!", - "requiresDatabase": true + "description": "Set up the welcome message. Supports Embeds! [Learn how to set up your Welcome Message](https://guides.mai-san.ml/)", + "requiresDatabase": true, + "parameters": [ + "options", + "other parameters" + ], + "examples": [ + "setwelcomemsg default", + "setwelcomemsg embed=true", + "setwelcomemsg embed=set -author=image:[ ]" + ] }, { "name": "unwatch", @@ -1807,9 +1813,8 @@ "Anilist/Mal link" ], "examples": [ - "unwatch ", - "anischedremove ", - "anischedunwatch " + "unwatch https://myanimelist.net/anime/45678", + "unwatch https://anilist.co/anime/10778" ] }, { @@ -1822,7 +1827,14 @@ "adminOnly": true, "group": "setup", "description": "Reset the xp of a particular user in this server.", - "requiresDatabase": true + "requiresDatabase": true, + "parameters": [ + "User Mention/ID" + ], + "examples": [ + "userxpreset @user", + "resetuserxp 782939405931123456" + ] }, { "name": "watch", @@ -1839,9 +1851,8 @@ "Anilist/Mal link" ], "examples": [ - "watch ", - "anischedadd ", - "anischedwatch " + "watch https://myanimelist.net/anime/45678", + "anischedadd https://anilist.co/anime/10778" ] }, { @@ -1851,7 +1862,10 @@ "adminOnly": true, "group": "setup", "description": "Toggle the `Member Greeter` on and off.", - "requiresDatabase": true + "requiresDatabase": true, + "examples": [ + "welcometoggle" + ] }, { "name": "xpenable", @@ -1864,7 +1878,10 @@ "adminOnly": true, "group": "setup", "description": "Enable collecting xp on **Disabled** mentioned channels", - "requiresDatabase": true + "requiresDatabase": true, + "examples": [ + "xpenable" + ] }, { "name": "xpexcempt", @@ -1877,7 +1894,14 @@ "adminOnly": true, "group": "setup", "description": "Disable collecting xp on mentioned channels", - "requiresDatabase": true + "requiresDatabase": true, + "parameters": [ + "channel ID/Mention" + ], + "examples": [ + "xpexcempt 728374657483920192", + "disablexpon #spam" + ] }, { "name": "xpreset", @@ -1895,9 +1919,7 @@ "EMBED_LINKS" ], "examples": [ - "xpreset", - "resetxp", - "resetserverxp" + "xpreset" ] }, { @@ -1909,7 +1931,10 @@ "adminOnly": true, "group": "setup", "description": "Toggle the xp system on/off for the server.", - "requiresDatabase": true + "requiresDatabase": true, + "examples": [ + "xptoggle" + ] }, { "name": "bal", @@ -1937,7 +1962,7 @@ ], "guildOnly": true, "group": "social", - "description": "Check your wallet, how much have you earned?", + "description": "Begin storing your credits on bank. Required because wallet maximum capacity is 50000.", "requiresDatabase": true, "examples": [ "bank", @@ -1969,9 +1994,12 @@ "group": "social", "description": "Rely on fate to increase your balance... or lower it.", "requiresDatabase": true, + "parameters": [ + "Amount" + ], "examples": [ - "bet", - "gamble" + "bet 5000", + "gamble 500" ] }, { @@ -1982,7 +2010,16 @@ "MANAGE_MESSAGES" ], "group": "social", - "description": "Check what you can buy from the shop." + "description": "Check what you can buy from the shop.", + "requiresDatabase": true, + "parameters": [ + "Item ID", + "amount" + ], + "examples": [ + "buy 10", + "buy 18 2" + ] }, { "name": "creditslb", @@ -2001,9 +2038,7 @@ ], "examples": [ "creditslb", - "richlb", - "richleaderboard", - "creditsleaderboard" + "richlb" ] }, { @@ -2022,7 +2057,16 @@ "aliases": [], "rankcommand": true, "group": "social", - "description": "Deletes the item you own." + "description": "Deletes an item you own.", + "requiresDatabase": true, + "parameters": [ + "item ID", + "amount" + ], + "examples": [ + "deleteitem 10", + "deleteitem 18 2" + ] }, { "name": "deposit", @@ -2038,7 +2082,7 @@ "requiresDatabase": true, "examples": [ "deposit 10000", - "dep 10000" + "dep all" ] }, { @@ -2065,12 +2109,12 @@ "ATTACH_FILES" ], "description": "Play some games to earn credits.", + "parameters": [ + "game title" + ], + "requiresDatabase": true, "examples": [ - "gamecaptcha", - "gamecountry-flags", - "gamehangman", - "gamelogoquiz", - "gametypingquiz" + "game captcha" ] }, { @@ -2081,17 +2125,35 @@ ], "rankcommand": true, "group": "social", - "description": "Give some of the items you own to a friend." + "description": "Give some of the items you own to a friend.", + "requiresDatabase": true, + "parameters": [ + "user ID/mention", + "item ID", + "amount" + ], + "examples": [ + "gift @user 10 2", + "transferitem 756475746465746576 21", + "itemtransfer @user 12" + ] }, { "name": "inventory", - "aliases": [], + "aliases": [ + "inv" + ], "rankcommand": true, "clientPermissions": [ "MANAGE_MESSAGES" ], "group": "social", - "description": "Check your items." + "description": "Check your items.", + "requiresDatabase": true, + "examples": [ + "inventory", + "inv" + ] }, { "name": "leaderboard", @@ -2121,7 +2183,11 @@ "MANAGE_MESSAGES" ], "group": "social", - "description": "Check what you can buy from the shop." + "description": "Check what you can buy from the shop.", + "requiresDatabase": true, + "examples": [ + "market" + ] }, { "name": "nonxpchannels", @@ -2130,7 +2196,10 @@ "adminOnly": true, "group": "social", "description": "See which channels do not give xp", - "requiresDatabase": true + "requiresDatabase": true, + "examples": [ + "nonxpchannels" + ] }, { "name": "previewitem", @@ -2143,7 +2212,15 @@ "ATTACH_FILES" ], "group": "social", - "description": "Check what you can buy from the shop." + "description": "Check what you can buy from the shop.", + "requiresDatabase": true, + "parameters": [ + "item ID" + ], + "examples": [ + "previewitem 13", + "viewitem 4" + ] }, { "name": "profile", @@ -2165,14 +2242,12 @@ "description": "Shows the current xp, level, rank, and other details of a user", "requiresDatabase": true, "parameters": [ - "" + "User Mention/ID" ], "examples": [ - "profile ", - "rank ", - "lvl ", - "xp ", - "level " + "profile", + "rank @user", + "lvl 78475628394857374" ] }, { @@ -2194,7 +2269,15 @@ "MANAGE_MESSAGES" ], "group": "social", - "description": "Sell some of your items to the shop." + "description": "Sell some of your items to the shop.", + "parameters": [ + "item ID", + "amount" + ], + "examples": [ + "sell 7 2", + "sell 18" + ] }, { "name": "setbio", @@ -2203,7 +2286,13 @@ "clientPermissions": [], "group": "social", "description": "Sets the profile bio for your profile card.", - "requiresDatabase": true + "requiresDatabase": true, + "paramters": [ + "bio" + ], + "examples": [ + "setbio The coolest person in town" + ] }, { "name": "setbirthday", @@ -2211,7 +2300,14 @@ "rankcommand": true, "clientPermissions": [], "group": "social", - "description": "Sets the profile birthday for your profile card." + "description": "Sets the profile birthday for your profile card.", + "requiresDatabase": true, + "parameters": [ + "Date " + ], + "examples": [ + "setbirthday 02-12" + ] }, { "name": "setcolor", @@ -2219,7 +2315,14 @@ "rankcommand": true, "clientPermissions": [], "group": "social", - "description": "Sets the color for your profile card." + "description": "Sets the color for your profile card.", + "requiresDatabase": true, + "parameters": [ + "hex code" + ], + "examples": [ + "setcolor #e567da" + ] }, { "name": "tip", @@ -2228,8 +2331,12 @@ "group": "social", "description": "Give tip to your friends!", "requiresDatabase": true, + "parameters": [ + "User Mention/ID" + ], "examples": [ - "tip" + "tip @user", + "tip 78374756574839348" ] }, { @@ -2242,12 +2349,12 @@ "description": "Transfer some of your credits to your friends!", "requiresDatabase": true, "parameters": [ - "User Mention", + "User ID/Mention", "Amount" ], "examples": [ - "transfer", - "give" + "transfer @user 5000", + "transfer 76859403847563546 10000" ] }, { @@ -2258,7 +2365,15 @@ "MANAGE_MESSAGES" ], "group": "social", - "description": "Check what you can buy from the shop." + "description": "Unequip a certain item.", + "requiresDatabase": true, + "parameters": [ + "item type" + ], + "examples": [ + "unequip wreath", + "unequip background" + ] }, { "name": "use", @@ -2270,7 +2385,15 @@ "MANAGE_MESSAGES" ], "group": "social", - "description": "Check what you can buy from the shop." + "description": "Equips an item.", + "requiresDatabase": true, + "paramters": [ + "item ID" + ], + "examples": [ + "equip 67", + "use 15" + ] }, { "name": "withdraw", @@ -2283,7 +2406,8 @@ "Amount" ], "examples": [ - "withdraw 10000" + "withdraw 17000", + "withdraw all" ] }, { @@ -2300,6 +2424,11 @@ "description": "Shows avatar of the provided user, or yourself", "parameters": [ "User Mention / ID" + ], + "examples": [ + "avatar", + "av @user", + "pfp 728394857686950485" ] }, { @@ -2311,7 +2440,11 @@ "group": "utility", "description": "Shows a random color or a preview of the given color", "parameters": [ - "Hex" + "hex code" + ], + "examples": [ + "color", + "color #ffffff" ] }, { @@ -2326,9 +2459,8 @@ "search query" ], "examples": [ - "define [term]", - "urban [term]", - "ud [term]" + "define", + "urban anime" ] }, { @@ -2358,6 +2490,11 @@ "description": "Searches for Japanese words and Kanji on Jisho!", "parameters": [ "word " + ], + "examples": [ + "jisho nani", + "nipponify oyasumi", + "weebify wakarimashita" ] }, { @@ -2377,9 +2514,13 @@ "name": "lyrics", "aliases": [], "group": "utility", - "description": "Searches for lyric info about a song from GeniuslLyrics", + "description": "Searches for lyric info about a song from GeniuslLyrics, or Kimi no Sei, if no query are provided.", "parameters": [ "Search Query" + ], + "examples": [ + "lyrics kimi no sei", + "lyrics fukashigi no karte" ] }, { @@ -2394,8 +2535,8 @@ "User ID/Mention" ], "examples": [ - "permissionsfor ", - "permsfor " + "permissionsfor @user", + "permsfor 728394857675849399" ] }, { @@ -2412,12 +2553,12 @@ }, "group": "utility", "description": "Fetch a random image from the supplied subreddit", + "parameters": [ + "subreddit" + ], "examples": [ - "reddit ", - "rdt ", - "subreddit ", - "redd.it ", - "fetchreddit " + "reddit churchofmai", + "rdt seishunbutayarou" ] }, { @@ -2432,14 +2573,9 @@ ], "group": "utility", "guildOnly": true, + "description": "Displays the basic information of the server", "examples": [ - "serverinfo", - "guild", - "server", - "serverstat", - "serverstats", - "guildstat", - "guildstats" + "serverinfo" ] }, { @@ -2450,24 +2586,13 @@ "message": "Accessing Steam has been rate limited to 1 use per user per 10 seconds" }, "group": "utility", - "description": "Searches <:steam:767062357952167946> [Steam](https://store.steampowered.com/ 'Steam Homepage') for games!", + "description": "Searches <:steam:767062357952167946> [Steam](https://store.steampowered.com/ 'Steam Homepage') for games!, or Doki-doki literature club, if no query is provided.", "parameters": [ "Search Query" - ] - }, - { - "name": "time", - "aliases": [ - "clock" - ], - "group": "utility", - "description": "Shows the time for the given location!", - "parameters": [ - "query" ], "examples": [ - "undefined [city]", - "clock [city]" + "steam dota2", + "steam" ] }, { @@ -2479,11 +2604,11 @@ "group": "utility", "description": "Fetch User Information (As of May 20, 2020 - The global function has been removed due to a possible violation to Discord ToS).", "parameters": [ - "User ID" + "User Mention/ID" ], "examples": [ - "userinfo 124556789123456789", - "whois 124556789123456789" + "userinfo @user", + "whois 75869504958675123" ] } -] +] \ No newline at end of file diff --git a/commands/action/baka.js b/commands/action/baka.js index a6f1e28e..72f810d9 100644 --- a/commands/action/baka.js +++ b/commands/action/baka.js @@ -9,7 +9,7 @@ module.exports = { 'ADD_REACTIONS' ], group: 'action', - description: 'It\'s not like I want you to use my command.. ~Baka!', + description: 'Sends a roleplay gif `baka` to the chat, directed towards the mentioned user, if there is any. Usually interpreted as 「 The user whom this command is directed to is an idiot (in a kawaii-context) 」.', examples: [ 'baka @user' ], parameters: [ 'User Mention' ], run: async ( client, message, args ) => { diff --git a/commands/action/cry.js b/commands/action/cry.js index d75d938c..0a3594ec 100644 --- a/commands/action/cry.js +++ b/commands/action/cry.js @@ -9,10 +9,10 @@ module.exports = { 'ADD_REACTIONS' ], group: 'action', - description: 'UWAA~!', + description: 'Sends a roleplay gif `cry` to the chat. Usually interpreted as 「 The user who used this commnd is crying 」. Use to indicate that you are currently crying. May be used in a similar context to the emoji 😢.', examples: [ 'cry' ], parameters: [], - run: async ( client, message, args ) => { + run: async ( client, message ) => { return message.channel.send( new MessageEmbed() diff --git a/commands/action/dance.js b/commands/action/dance.js index e0261423..ee8a53eb 100644 --- a/commands/action/dance.js +++ b/commands/action/dance.js @@ -8,10 +8,10 @@ module.exports = { 'ADD_REACTIONS' ], group: 'action', - description: 'UWAA~!', + description: 'Sends a roleplay gif `dance` to the chat. Usually interpreted as 「 The user who used this commnd is dancing (in joy) 」. Use to indicate that you are currently dancing (context may vary).', examples: [ 'dance' ], parameters: [], - run: async ( client, message, args ) => { + run: async ( client, message ) => { return message.channel.send( new MessageEmbed() .setColor('GREY') diff --git a/commands/action/disgust.js b/commands/action/disgust.js index 639b9d00..f2de866a 100644 --- a/commands/action/disgust.js +++ b/commands/action/disgust.js @@ -9,9 +9,9 @@ module.exports = { 'ADD_REACTIONS' ], group: 'action', - description: 'Mazui! Kimoi!', - examples: [ 'User Mention' ], - parameters: [], + description: 'Sends a roleplay gif `disgust` to the chat, directed towards the mentioned user, if there is any. Usually interpreted as 「 The user whom this command is directed to is digusting (Mazui!!, Kimoi!!) 」. Use to indicate that you are disgusted by their (ideas on their) previous chats. May be used in a similar context to the emoji 🤮.', + examples: [ 'disgust @user' ], + parameters: [ 'User Mention' ], run: async ( client, message, args ) => { // Filter out args so that args are only user-mention formats. diff --git a/commands/action/feed.js b/commands/action/feed.js index 3964d201..b009be67 100644 --- a/commands/action/feed.js +++ b/commands/action/feed.js @@ -9,7 +9,7 @@ module.exports = { 'ADD_REACTIONS' ], group: 'action', - description: 'Yummy!', + description: 'Sends a roleplay gif `feed` to the chat, directed towards the mentioned user, if there is any. Usually interpreted as 「 The user whom this command is directed to has been fed 」. Use to indicate that you are / wanted to feed the user.', examples: [ 'feed @user' ], parameters: [ 'User Mention' ], run: async ( client, message, args ) => { diff --git a/commands/action/happy.js b/commands/action/happy.js index 995c3510..c27cf976 100644 --- a/commands/action/happy.js +++ b/commands/action/happy.js @@ -9,10 +9,10 @@ module.exports = { 'ADD_REACTIONS' ], group: 'action', - description: 'Happy!', + description: 'Sends a roleplay gif `happy` to the chat. Usually interpreted as 「 The user who used this command is happy (shiawase da!!) 」. Use to indicate that you are currently happy (context may vary). May be used in a similar context to the emoji 😃.', examples: [ 'happy' ], parameters: [], - run: async ( client, message, args ) => { + run: async ( client, message ) => { return message.channel.send( new MessageEmbed() diff --git a/commands/action/hug.js b/commands/action/hug.js index 02d1174f..aa28315c 100644 --- a/commands/action/hug.js +++ b/commands/action/hug.js @@ -9,7 +9,7 @@ module.exports = { 'ADD_REACTIONS' ], group: 'action', - description: 'Hug someone special.', + description: 'Sends a roleplay gif `hug` to the chat, directed towards the mentioned user, if there is any. Usually interpreted as 「 The user whom this command is directed to has been hugged 」. Use to indicate that you are / wanted to hug the mentioned user (context may vary). May be used in a similar context to the emoji 🤗.', examples: [ 'hug @user' ], parameters: [ 'User Mention' ], run: async ( client, message, args ) => { diff --git a/commands/action/kill.js b/commands/action/kill.js index 97181c51..24504ec2 100644 --- a/commands/action/kill.js +++ b/commands/action/kill.js @@ -4,12 +4,13 @@ module.exports = { name: 'kill', aliases: [], guildOnly: true, + nsfw: true, clientPermissions: [ 'EMBED_LINKS', 'ADD_REACTIONS' ], group: 'action', - description: 'Kill someone.', + description: 'Sends a roleplay gif `kill` to the chat, directed towards the mentioned user, if there is any. Usually interpreted as 「 The user who used this command wants to kill the mentioned user 」. Use to indicate that you are / wanted to kill the mentioned user (context may vary). This is a roleplay command and is meant to be used as a joke, however, this will be limited to a nsfw channel due to sensitive nature of this command. Context should not include real crimes.', examples: [ 'kill @user' ], parameters: [ 'User Mention' ], run: async ( client, message, args ) => { diff --git a/commands/action/kiss.js b/commands/action/kiss.js index 4f213e4b..83936204 100644 --- a/commands/action/kiss.js +++ b/commands/action/kiss.js @@ -9,7 +9,7 @@ module.exports = { 'ADD_REACTIONS' ], group: 'action', - description: 'Show your love to someone special! Not me lol', + description: 'Sends a roleplay gif `kiss` to the chat, directed towards the mentioned user, if there is any. Usually interpreted as 「 The user whom this command is directed to has been kissed 」. Use to indicate that you are / wanted to kiss the mentioned user (context may vary). May be used in a similar context to the emoji 😘.', examples: [ 'kiss @user' ], parameters: [ 'User Mention' ], run: async ( client, message, args ) => { diff --git a/commands/action/lick.js b/commands/action/lick.js index 501cd014..b77d3107 100644 --- a/commands/action/lick.js +++ b/commands/action/lick.js @@ -9,7 +9,7 @@ module.exports = { 'ADD_REACTIONS' ], group: 'action', - description: 'Lick Lick Lick Lick Lick Lick Lick.', + description: 'Sends a roleplay gif `lick` to the chat, directed towards the mentioned user, if there is any. Usually interpreted as 「 The user whom this command is directed to has been licked (lero lero lero lero lero) 」. Use to indicate that you are / wanted to lick the mentioned user (context may vary).', examples: [ 'lick @user' ], parameters: [ 'User Mention' ], run: async ( client, message, args ) => { diff --git a/commands/action/midfing.js b/commands/action/midfing.js index d2dc0d7e..97edb532 100644 --- a/commands/action/midfing.js +++ b/commands/action/midfing.js @@ -10,9 +10,9 @@ module.exports = { ], group: 'action', nsfw: true, - description: 'Use this to throw someone off. No seriously, it\'s a joke!', - examples: [ '' ], - parameters: [], + description: 'Sends a roleplay gif `midfing` to the chat, directed towards the mentioned user, if there is any. Usually interpreted as 「 The user who used this command wants the mentioned user to **** off 」. Use to indicate that you are annoyed by the user (context may vary). This is a roleplay command and is meant to be used as a joke, however, this will be limited to a nsfw channel due to sensitive nature of this command.', + examples: [ 'midfing @user' ], + parameters: [ 'User Mention' ], run: async ( client, message, args ) => { args = args.filter(x => /<@!?\d{17,19}>/.test(x)) diff --git a/commands/action/pat.js b/commands/action/pat.js index fe517c5e..46fcd250 100644 --- a/commands/action/pat.js +++ b/commands/action/pat.js @@ -9,7 +9,7 @@ module.exports = { 'ADD_REACTIONS' ], group: 'action', - description: 'It\'s not like I want you to use my command.. ~Baka!', + description: 'Sends a roleplay gif `pat` to the chat, directed towards the mentioned user, if there is any. Usually interpreted as 「 The user gave a headpat to the mentioned user 」. Use to indicate that you are / wanted to headpat the mentioned user (context may vary).', examples: [ 'pat @user' ], parameters: [ 'User Mention' ], run: async ( client, message, args ) => { diff --git a/commands/action/poke.js b/commands/action/poke.js index db83f89e..24e515e1 100644 --- a/commands/action/poke.js +++ b/commands/action/poke.js @@ -9,7 +9,7 @@ module.exports = { 'ADD_REACTIONS' ], group: 'action', - description: 'Poke your friends!', + description: 'Sends a roleplay gif `poke` to the chat, directed towards the mentioned user, if there is any. Usually interpreted as 「 The mentioned user ignores you, so you poke them 」. Use to indicate that you are in need of attention from the mentioned user (context may vary).', examples: [ 'poke @user' ], parameters: [ 'User Mention' ], run: async ( client, message, args ) => { diff --git a/commands/action/slap.js b/commands/action/slap.js index 37e77b46..e7946fc6 100644 --- a/commands/action/slap.js +++ b/commands/action/slap.js @@ -9,7 +9,7 @@ module.exports = { 'ADD_REACTIONS' ], group: 'action', - description: 'Slap them friends!~', + description: 'Sends a roleplay gif `slap` to the chat, directed towards the mentioned user, if there is any. Usually interpreted as 「 The user whom this command is directed to has been slapped 」. Use to indicate that you are / wanted to slap the mentioned user (context may vary).', examples: [ 'slap @user' ], parameters: [ 'User Mention' ], run: async ( client, message, args ) => { diff --git a/commands/action/smug.js b/commands/action/smug.js index d65c8837..802ae764 100644 --- a/commands/action/smug.js +++ b/commands/action/smug.js @@ -9,7 +9,7 @@ module.exports = { 'ADD_REACTIONS' ], group: 'action', - description: 'The epitome of arguments: smug anime girls', + description: 'Sends a roleplay gif `smug` to the chat. Usually interpreted as 「 The user who used this command smugs at the previous chat 」. Use to indicate that you sense the ulterior motive the previous user sent in chat.', examples: [ 'smug' ], parameters: [], run: async ( client, message, args ) => { diff --git a/commands/action/suicide.js b/commands/action/suicide.js index 4574f9c8..b6103322 100644 --- a/commands/action/suicide.js +++ b/commands/action/suicide.js @@ -4,16 +4,16 @@ module.exports = { name: 'suicide', aliases: ['kms'], guildOnly: true, + nsfw: true, clientPermissions: [ 'EMBED_LINKS', 'ADD_REACTIONS' ], group: 'action', - nsfw: true, - description: 'KYSL - KillYourSelfLol', + description: 'Sends a roleplay gif `suicide` to the chat. Usually interpreted as 「 The user who used this command wants to commit suicide (in a jokingly manner) 」. Use to indicate that you are stunned by the previous user\'s chats that it makes you want to kys. This is a roleplay command and is meant to be used as a joke, however, this will be limited to a nsfw channel due to sensitive nature of this command. Context should not include real crimes.', examples: [ 'suicide', 'kms' ], parameters: [], - run: async ( client, message, args ) => { + run: async ( client, message) => { return message.channel.send( new MessageEmbed() diff --git a/commands/action/tickle.js b/commands/action/tickle.js index e5cf1ab9..3d8c072e 100644 --- a/commands/action/tickle.js +++ b/commands/action/tickle.js @@ -9,7 +9,7 @@ module.exports = { 'ADD_REACTIONS' ], group: 'action', - description: 'Tickle your friends!', + description: 'Sends a roleplay gif `tickle` to the chat, directed towards the mentioned user, if there is any. Usually interpreted as 「 The user whom this command is directed to has been tickled 」. Use to indicate that you tickled the mentioned user (context may vary).', examples: [ 'tickle @user' ], parameters: ['User Mention'], run: async ( client, message, args ) => { diff --git a/commands/anime/alprofile.js b/commands/anime/alprofile.js index b77a7cd7..e736a395 100644 --- a/commands/anime/alprofile.js +++ b/commands/anime/alprofile.js @@ -10,9 +10,15 @@ module.exports = { cooldown: { time: 10000 }, clientPermissions: [ 'EMBED_LINKS' ], group: 'anime', - description: 'Finds user profile on Anilist based on the provided query', - parameters: [ 'User' ], - get examples(){ return [this.name, ...this.aliases].map(x => `${x} `)}, + description: 'Finds user profile on [Anilist](https://anilist.co) based on the provided query.', + parameters: [ 'Anilist Username' ], + examples: [ + 'alprofile', + 'al-of sakurajimai', + 'alof sakurajimai', + 'alstat sakurajimai', + 'aluser sakurajimai' + ], run: async function ( client, message, args ) { const query = args.join(' '); diff --git a/commands/anime/anime.js b/commands/anime/anime.js index 5bf58009..e9ff6bef 100644 --- a/commands/anime/anime.js +++ b/commands/anime/anime.js @@ -10,16 +10,17 @@ module.exports = { cooldown: { time: 10000, message: 'You are going too fast. Please slow down to avoid getting rate-limited!' - }, clientPermissions: [ 'EMBED_LINKS' ], - group: 'anime', - description: 'Searches for a specific anime in <:mal:767062339177676800> [MyAnimeList](https://myanimelist.net "Homepage")', - parameters: ['Search Query'], - get examples(){ - return [this.name, ...this.aliases.map((x,i) => { - const queries = [ 'aobuta' , 'seishun buta yarou' , 'bunnygirl senpai' ]; - return x + ' ' + queries[i]; - })]; }, + clientPermissions: [ 'EMBED_LINKS' ], + group: 'anime', + description: 'Searches for a specific anime in <:mal:767062339177676800> [MyAnimeList](https://myanimelist.net "Homepage"), or shows Mai\'s anime series information if no query is provided.', + parameters: [ 'Search Query' ], + examples: [ + 'anime', + 'as seishun buta yarou', + 'ani aobuta', + 'anisearch bunnygirl senpai' + ], run: async ( client, message, args ) => { const query = args.join(' ') || 'Seishun Buta Yarou'; @@ -51,7 +52,7 @@ module.exports = { }; message.channel.stopTyping(); - + return message.channel.send( new MessageEmbed() .setColor('GREY') diff --git a/commands/anime/animeme.js b/commands/anime/animeme.js index 6903d3de..0b4ed78f 100644 --- a/commands/anime/animeme.js +++ b/commands/anime/animeme.js @@ -9,13 +9,14 @@ module.exports = { group: 'anime', clientPermissions: [ 'EMBED_LINKS' ], description: 'Generate an anime meme fetched from selected <:reddit:767062345422864394> [Subreddits](https://reddit.com "Homepage"). Include `reload` parameter to reload meme cache. Memes generated are in order by default, add `r`, `random`, or `randomize` to randomize meme.', - parameters: ['Reload tag','Randomization tag'], - get examples(){ - return [this.name, ...this.aliases.map((x,i) => { - const queries = ['reload', 'random', '', 'reload', 'random']; - return x + ' ' + queries[i]; - })]; - }, + parameters: [ 'Reload tag', 'Randomization tag' ], + examples: [ + 'animeme', + 'ameme reload', + 'animeme random', + 'animemes reload', + 'amemes' + ], run: async ( client, message, [parameter]) => { if (!client.collections.getFrom('memes', message.guild.id)) { diff --git a/commands/anime/aniquote.js b/commands/anime/aniquote.js index 9a1c646d..fd630ad7 100644 --- a/commands/anime/aniquote.js +++ b/commands/anime/aniquote.js @@ -7,9 +7,9 @@ module.exports = { aliases: [ 'aq', 'animequote' ], group: 'anime', clientPermissions: [ 'EMBED_LINKS' ], - description: 'Generate a random anime quote', + description: 'Generate a random anime quote.', parameters: [], - get examples(){ return [this.name, ...this.aliases]; }, + examples: [ 'aniquote', 'aq', 'animequote' ], run: async ( client, message) => { const { quote, anime, id, name } = randomQuote(); diff --git a/commands/anime/anirandom.js b/commands/anime/anirandom.js index add57557..4b369604 100644 --- a/commands/anime/anirandom.js +++ b/commands/anime/anirandom.js @@ -15,6 +15,11 @@ module.exports = { description: 'Generates a random anime recommendation. Recommends a Hentai if used on a nsfw channel.', clientPermissions: [ 'EMBED_LINKS' ], parameter: [], + examples: [ + 'anirandom', + 'anirand', + 'anirecommend' + ], get examples(){ return [this.name, ...this.aliases]; }, run: async ( client, message ) => { diff --git a/commands/anime/character.js b/commands/anime/character.js index 54a48a18..df50453f 100644 --- a/commands/anime/character.js +++ b/commands/anime/character.js @@ -13,14 +13,15 @@ module.exports = { }, clientPermissions: [ 'EMBED_LINKS' ], group: 'anime', - description: 'Searches for a character in <:mal:767062339177676800> [MyAnimeList](https://myanimelist.net "Homepage")', + description: 'Searches for a character in <:mal:767062339177676800> [MyAnimeList](https://myanimelist.net "Homepage"), or Mai\'s character information if no query is provided.', parameters: [ 'Search Query' ], - get examples(){ - return [this.name, ...this.aliases.map((x, i) => { - const queries = ['Mai Sakurajima', 'Mai-san', 'mai']; - return x + ' ' + [queries][i]; - })]; - }, + examples: [ + 'character', + 'anichar Mai', + 'anichar Sakuta Azusagawa', + 'char Rio Futaba', + 'c Kaede Azusagawa' + ], run: async (client, message, args) => { const query = args.join(' ') || 'Mai Sakurajima'; diff --git a/commands/anime/discover.js b/commands/anime/discover.js index 8f1182fc..72830f52 100644 --- a/commands/anime/discover.js +++ b/commands/anime/discover.js @@ -11,10 +11,13 @@ module.exports = { aliases: [], guildOnly: true, group: 'anime', - description: 'Generate a set of handpicked recommendations for a user', + description: 'Generate a set of handpicked recommendations for a user.', clientPermissions: [ 'EMBED_LINKS', 'USE_EXTERNAL_EMOJIS', 'ADD_REACTIONS' ], parameter: [ 'Manga', 'Anime' ], - get examples(){ return this.parameter.map(x => this.name + ' ' + x); }, + examples: [ + 'discover anime', + 'discover manga' + ], run: async ( client, message, [category = '']) => { category = category.toLowerCase(); diff --git a/commands/anime/hanime.js b/commands/anime/hanime.js index 4ee9ff86..25c05b42 100644 --- a/commands/anime/hanime.js +++ b/commands/anime/hanime.js @@ -19,9 +19,12 @@ module.exports = { nsfw: true, description: 'Queries hanime.tv for a specific hentai. Returns a maximum of 10 results', parameters: [ 'Search Query' ], - get examples(){ return [this.name, ...this.aliases].map((x,i) => { - return `${x} Saimin Seishidou ${i+1}` - })}, + examples: [ + 'hanime saimin seishidou', + 'searchhentai mankitsu happening', + 'hanisearch dropout', + 'hs tamashii insert' + ], run: async function (client, message, args){ const query = args.join(' '); diff --git a/commands/anime/malprofile.js b/commands/anime/malprofile.js index 047cd2ff..91f05879 100644 --- a/commands/anime/malprofile.js +++ b/commands/anime/malprofile.js @@ -9,9 +9,15 @@ module.exports = { cooldown: { time: 10000 }, clientPermissions: [ 'EMBED_LINKS' ], group: 'anime', - description: 'Finds user profile on myanimelist based on the provided query', - parameters: [ 'User' ], - get examples(){ return [this.name, ...this.aliases].map(x => `${x} `)}, + description: 'Finds user profile on myanimelist based on the provided query.', + parameters: [ 'Myanimelist Username' ], + examples: [ + 'malprofile sakurajimai-san', + 'mal-of sakurajimai-san', + 'malof sakurajimai-san', + 'malstat sakurajimai-san', + 'maluser sakurajimai-san' + ], run: async function (client, message, args ){ const query = args.join(' '); diff --git a/commands/anime/manga.js b/commands/anime/manga.js index a53209ba..d62bc2db 100644 --- a/commands/anime/manga.js +++ b/commands/anime/manga.js @@ -14,14 +14,14 @@ module.exports = { }, clientPermissions: [ 'EMBED_LINKS', 'USE_EXTERNAL_EMOJIS', 'ADD_REACTIONS'], group: 'anime', - description: 'Searches for a Manga / Manhwa / Manhua in <:mal:767062339177676800> [MyAnimeList](https://myanimelist.net.co "Homepage").', + description: 'Searches for a Manga / Manhwa / Manhua in <:mal:767062339177676800> [MyAnimeList](https://myanimelist.net.co "Homepage"), or shows Seishun Buta Yarou if no query is provided.', parameters: [ 'Search Query' ], - get examples(){ - return [ this.name, ...this.aliases.map((x,i) => { - const queries = [ 'aobuta', 'solo leveling', 'king\'s avatar' ]; - return x + ' ' + queries[i]; - }) ]; - }, + examples: [ + 'manga', + 'comic rascal does not dream', + 'manhwa solo leveling', + 'manhua king\'s avatar' + ], run: async (client, message, args) => { const query = args.join(' ') || 'Seishun Buta Yarou'; diff --git a/commands/anime/mangarandom.js b/commands/anime/mangarandom.js index 1121a844..1456344b 100644 --- a/commands/anime/mangarandom.js +++ b/commands/anime/mangarandom.js @@ -15,7 +15,10 @@ module.exports = { description: 'Generates a random manga recommendation. Recommends a Hentai if used on a nsfw channel.', clientPermissions: [ 'EMBED_LINKS' ], parameter: [], - get examples(){ return [ this.name, ...this.aliases ]; }, + examples: [ + 'mangarandom', + 'mangarand' + ], run: async ( client, message ) => { message.channel.startTyping() diff --git a/commands/anime/nextairdate.js b/commands/anime/nextairdate.js index 686756ee..4add2fb2 100644 --- a/commands/anime/nextairdate.js +++ b/commands/anime/nextairdate.js @@ -14,14 +14,15 @@ module.exports = { }, clientPermissions: [ 'EMBED_LINKS' ], group: 'anime', - description: 'Returns remaining time for the next episode of given anime. Returns this day\'s schedule, if no anime is specified', - parameters: [ 'search query' ], - get examples(){ - return [ this.name, ...this.aliases.map((x,i) => { - const queries = [ 'aobuta', 'seishun buta yarou', 'bunnygirl senpai', 'rascal does not dream' ]; - return x + ' ' + queries[i]; - }) ]; - }, + description: 'Shows the remaining time for the next episode of given anime. Returns this day\'s schedule, if no anime is specified', + parameters: [ 'Search Query' ], + examples: [ + 'nextairdate', + 'nextair boruto', + 'nextairing black clover', + 'nextep attack on titan', + 'nextepisode tensura' + ], run: async ( client, message, args ) => { const search = args.join(' ') || null; diff --git a/commands/anime/sauce.js b/commands/anime/sauce.js index 15880ce8..13dd6f8b 100644 --- a/commands/anime/sauce.js +++ b/commands/anime/sauce.js @@ -17,12 +17,14 @@ module.exports = { description: 'Fetch doujin information from <:nhentai:767062351169323039> [nHentai](https://nhentai.net "nHentai Homepage")', clientPermissions: [ 'EMBED_LINKS' ], parameters: [ 'Media ID' ], - get examples(){ - return [ this.name, ...this.aliases ].map((x,i) => { - const queries = [ '263492', '166258', '177013', '245212', '337864', '337879' ]; - return x + ' ' + queries[i]; - }); - }, + examples: [ + 'sauce 263492', + 'gimmesauce 166258', + 'finddoujin 177013', + 'doujin 245212', + 'nhentai 337864', + 'saucefor 337879' + ], run: async function run( client, message, [id] ){ if (isNaN(id)) { diff --git a/commands/anime/schedule.js b/commands/anime/schedule.js index 3f6a9c71..7118904d 100644 --- a/commands/anime/schedule.js +++ b/commands/anime/schedule.js @@ -16,13 +16,13 @@ module.exports = { clientPermissions: [ 'EMBED_LINKS' , 'ADD_REACTIONS' , 'USE_EXTERNAL_EMOJIS' ], group: 'anime', description: 'Displays the list of currently airing anime for today\'s date or given weekday.', - parameters: [], - get examples(){ - return [ this.name, ...this.aliases.map((x,i) => { - const queries = weekdays.map(x => ' ' + x); - return x + queries[i] - }) ]; - }, + parameters: [ 'Weekday' ], + examples: [ + 'schedule monday', + 'anitoday', + 'airinglist sunday', + 'airing saturday' + ], run: async (client, message, [ day ]) => { if (!day || !weekdays.includes(day.toLowerCase())){ diff --git a/commands/anime/seiyuu.js b/commands/anime/seiyuu.js index a7b60a32..3b004617 100644 --- a/commands/anime/seiyuu.js +++ b/commands/anime/seiyuu.js @@ -14,14 +14,13 @@ module.exports = { }, clientPermissions: [ 'EMBED_LINKS' ], group: 'anime', - description: 'Search for seiyuu\'s on your favorite anime characters!', + description: 'Search for seiyuu\'s on your favorite anime characters, or Mai\'s seiyuu if no query is provided!', parameters: [ 'search query' ], - get examples(){ - return [ this.name, ...this.aliases.map((x,i) => { - const queries = [ 'Takahashi Rie', 'Amamiya Sora' ]; - return x + ' ' + queries[i]; - }) ]; - }, + examples: [ + 'seiyuu', + 'voice amamiya sora', + 'va yuuki kaji' + ], run: async ( client, message, args) => { const search = args.join(' ') || 'Seto Asami'; diff --git a/commands/anime/top.js b/commands/anime/top.js index 4b25b01b..95e5de35 100644 --- a/commands/anime/top.js +++ b/commands/anime/top.js @@ -9,14 +9,12 @@ module.exports = { aliases: [], guildOnly: true, group: 'anime', - description: '', + description: 'Shows top anime (\\🛠️ currently broken)', clientPermissions: [ 'EMBED_LINKS' ], parameters: [ 'rank or range', 'type', 'subtype' ], - get examples(){ - return [ '1 manga', '1-12 anime bypopularity', '56-60 characters', '10 anime favorite', '1-10 anime airing' ].map(x => { - return this.name + ' ' + x; - }); - }, + examples: [ + 'top' + ], run: async (client, message, args) => { // disable access.. code needs further furnishing.. diff --git a/commands/anime/upcoming.js b/commands/anime/upcoming.js index e56fd498..b67a0eb0 100644 --- a/commands/anime/upcoming.js +++ b/commands/anime/upcoming.js @@ -15,8 +15,16 @@ module.exports = { }, group: 'anime', description: 'Displays the list of upcoming anime.', - parameters: [], - get examples(){ return [ this.name, ...types.map(x => this.name + ' ' + x.toLowerCase()) ]; }, + parameters: [ 'Anime Media Type' ], + examples: [ + 'upcoming', + 'upcoming tv', + 'upcoming ona', + 'upcoming ova', + 'upcoming movie', + 'upcoming special', + 'upcoming -' + ], run: async (client, message, [ type = '' ]) => { if (types.some( x => x.toLowerCase() === type.toLowerCase())){ diff --git a/commands/anime/waifu.js b/commands/anime/waifu.js index 2bc9486e..1e09a09c 100644 --- a/commands/anime/waifu.js +++ b/commands/anime/waifu.js @@ -8,7 +8,9 @@ module.exports = { description: 'Generates random waifu.', clientPermissions: [ 'EMBED_LINKS', 'ATTACH_FILES', 'READ_MESSAGE_HISTORY' ], parameters: [], - get examples(){ return [ this.name, ...this.aliases ]; }, + examples: [ + 'waifu' + ], run: (client, message) => { //---------------------------------WORK IN PROGRESS-----------------------------------// diff --git a/commands/bot/feedback.js b/commands/bot/feedback.js index 1c26f8e5..650f7970 100644 --- a/commands/bot/feedback.js +++ b/commands/bot/feedback.js @@ -9,8 +9,10 @@ module.exports = { clientPermissions: [ ], group: 'bot', description: 'Sends support message to this bot\'s owner (Sakurajimai#6742)', - parameters: ['Feedback Message'], - get examples(){ return [ this.name, ...this.aliases ].map(x => x + ' ' + '[complaints, bugs, issues, feature requests, etc]'); }, + parameters: [ 'Feedback Message' ], + examples: [ + 'feedback this command is not working bla bla..' + ], run: async function run(client, message, args ){ if (!args.length){ diff --git a/commands/bot/invite.js b/commands/bot/invite.js index 4794ff91..df0183b5 100644 --- a/commands/bot/invite.js +++ b/commands/bot/invite.js @@ -19,7 +19,9 @@ module.exports = { group: 'bot', description: 'Gives you the invite link', clientPermissions: [ 'EMBED_LINKS' ], - get examples(){ return [ this.name, ...this.aliases ]; }, + examples: [ + 'invite' + ], run: async (client, message) => { const guild_invite = await message.guild.fetchInvites().then(g => { diff --git a/commands/bot/ping.js b/commands/bot/ping.js index bed43b9b..14a598df 100644 --- a/commands/bot/ping.js +++ b/commands/bot/ping.js @@ -9,7 +9,10 @@ module.exports = { description: 'Display various pings this bot is connected to.', clientPermissions: [ 'EMBED_LINKS' ], parameters: [], - get examples(){ return [ this.name, ...this.aliases ]}, + examples: [ + 'ping', + 'latency' + ], run: async (client, message) => { const prompt = await message.channel.send('Pinging...'); diff --git a/commands/bot/stats.js b/commands/bot/stats.js index 96f100d7..b3fd52e8 100644 --- a/commands/bot/stats.js +++ b/commands/bot/stats.js @@ -14,7 +14,11 @@ module.exports = { description: 'Displays the status of the current bot instance.', clientPermissions: [ 'EMBED_LINKS', 'ATTACH_FILES' ], parameters: [], - get examples(){ return [ this.name, ...this.aliases ]}, + examples: [ + 'stats', + 'status', + 'botstatus' + ], run: async (client, message) => { const { heapUsed, heapTotal } = process.memoryUsage(); diff --git a/commands/bot/support.js b/commands/bot/support.js index c9715940..418cda76 100644 --- a/commands/bot/support.js +++ b/commands/bot/support.js @@ -6,10 +6,10 @@ module.exports = { aliases: [], guildOnly: true, group: 'bot', - description: 'Support for Mai', + description: 'Displays various ways to show support for Mai', clientPermissions: [ 'EMBED_LINKS' ], parameters: [ ], - get examples(){ return [ this.name, ...this.aliases ]; }, + examples: [ 'support' ], run: async (client, message) => { return message.channel.send( diff --git a/commands/core/commands.js b/commands/core/commands.js index a397f4dc..f38edc6b 100644 --- a/commands/core/commands.js +++ b/commands/core/commands.js @@ -8,7 +8,11 @@ module.exports = { description: 'Sends a list of all commands from each specific command groups', clientPermissions: [ 'EMBED_LINKS' ], parameters: [], - get examples(){ return [ this.name, ...this.aliases ]; }, + examples: [ + 'commands', + 'cmd', + 'command' + ], run: (client, message) => { const fields = []; diff --git a/commands/core/help.js b/commands/core/help.js index 52f8fc3e..f6033a79 100644 --- a/commands/core/help.js +++ b/commands/core/help.js @@ -6,15 +6,15 @@ module.exports = { name: 'help', aliases: [ ], group: 'core', - description: 'Displays basic information or a help for a command', + description: 'Displays basic information or a help for a command.', clientPermissions: [ 'EMBED_LINKS' ], parameters: [ 'Command Name/Alias' ], - get examples(){ - return ['anime', 'discover', 'upcoming', 'commands' ].map(x => { - return this.name + ' ' + x; - }); - }, - run: (client, message, [query] ) => { + examples: [ + 'help anirand', + 'help watching', + 'help register' + ], + run: (client, message, [query]) => { const { websites } = client.config; diff --git a/commands/core/mai.js b/commands/core/mai.js index ddb030e3..77e24b9a 100644 --- a/commands/core/mai.js +++ b/commands/core/mai.js @@ -6,11 +6,13 @@ module.exports = { group: 'core', description: 'Mai is the best girl and there\'s no denying it!', clientPermissions: [ 'EMBED_LINKS', 'ATTACH_FILES' ], - get examples(){ return [ this.name, ...this.aliases ]; }, + examples: [ + 'mai', + 'bestgirl' + ], run: (client, message) => { - const { nsfw } = message.channel; - const image = client.images.mai({ nsfw }); + const image = client.images.mai(); return message.channel.send( new MessageEmbed() diff --git a/commands/core/suggest.js b/commands/core/suggest.js index 7b5755b3..a5f45842 100644 --- a/commands/core/suggest.js +++ b/commands/core/suggest.js @@ -8,7 +8,9 @@ module.exports = { description: 'Suggest something for the server. If you have suggestion for the bot instead please use the feedback command or join our support server', clientPermissions: [ 'EMBED_LINKS', 'ADD_REACTIONS' ], parameters: [ 'Suggestion Message' ], - get examples(){ return this.name + ' Please remove some inactive members... '}, + examples: [ + 'suggest please remove some of the inactive members...' + ], run: async (client, message, args) => { const embed = new MessageEmbed() diff --git a/commands/core/watching.js b/commands/core/watching.js index b8dc9ce7..47b307e8 100644 --- a/commands/core/watching.js +++ b/commands/core/watching.js @@ -16,7 +16,11 @@ module.exports = { description: 'View list of anime this server is subscribed to.', requiresDatabase: true, clientPermissions: [ 'EMBED_LINKS', 'MANAGE_MESSAGES' ], - get examples(){ return [ this.name, ...this.aliases ]}, + examples: [ + 'watching', + 'watchlist', + 'list' + ], run: (client, message) => list.findById(message.guild.id, async (err, doc) => { if (err){ diff --git a/commands/fun/8ball.js b/commands/fun/8ball.js index a3e517d4..3e057f11 100644 --- a/commands/fun/8ball.js +++ b/commands/fun/8ball.js @@ -29,13 +29,13 @@ module.exports = { group: 'fun', description: 'Ask anything on the magic 8-ball', parameters: [ 'Question answerable by Yes/No' ], - get examples(){ - return [ - 'Is mai a good bot?', 'Is FMA worth of it\'s top spot?', - 'Is BNHA good?', 'Do you want to play Among Us?', - 'Have you been in a thight spot before?' - ].map((x,i) => [this.name, ...this.aliases][i] + ' ' + x) - }, + examples: [ + '8ball is mai a good bot?', + '🎱 is FMA worth of it\'s top spot?', + '8b is BNHA good', + '8-ball Do you want to play Among us?', + 'eightball Have you been in a tight spot before?' + ], run: (client, message, args) => { if (!args.length){ diff --git a/commands/fun/advice.js b/commands/fun/advice.js index b8f27464..4b85f738 100644 --- a/commands/fun/advice.js +++ b/commands/fun/advice.js @@ -7,7 +7,11 @@ module.exports = { group: 'fun', description: 'Generate a random useless advice', clientPermissions: [ 'EMBED_LINKS' ], - get examples(){ return [ this.name, ...this.aliases ];}, + examples: [ + 'advice', + 'tips', + 'advise' + ], run: async (client, message) => { const data = await fetch('https://api.adviceslip.com/advice') diff --git a/commands/fun/birdfact.js b/commands/fun/birdfact.js index 454e23b4..bd7e9203 100644 --- a/commands/fun/birdfact.js +++ b/commands/fun/birdfact.js @@ -7,7 +7,12 @@ module.exports = { group: 'fun', description: 'Generate a random useless bird facts', clientPermissions: [ 'EMBED_LINKS' ], - get examples(){ return [this.name, ...this.aliases]}, + examples: [ + 'birdfacts', + 'birdfact', + 'tori', + 'bird' + ], run: async (client, message) => { const data = await fetch('https://some-random-api.ml/facts/bird') diff --git a/commands/fun/catfact.js b/commands/fun/catfact.js index fb25e0f3..169f09d8 100644 --- a/commands/fun/catfact.js +++ b/commands/fun/catfact.js @@ -7,7 +7,12 @@ module.exports = { group: 'fun', description: 'Generate a random useless cat facts', clientPermissions: [ 'EMBED_LINKS' ], - get examples(){ return [this.name, ...this.aliases]}, + examples: [ + 'catfacts', + 'catfact', + 'neko', + 'cf' + ], run: async (client, message) => { const data = await fetch('https://catfact.ninja/facts') diff --git a/commands/fun/comment.js b/commands/fun/comment.js index b3090a94..80926c9f 100644 --- a/commands/fun/comment.js +++ b/commands/fun/comment.js @@ -5,7 +5,9 @@ module.exports = { group:'fun', description: 'Comment something and return a youtube-like comment', clientPermissions: [ 'ATTACH_FILES' ], - get examples(){ return [ this.name, ...this.aliases ]; }, + examples: [ + 'comment I never thought this would be the effect.' + ], run: (client ,message, args) => message.channel.send({ files: [{ name: 'youtube.png', diff --git a/commands/fun/dogfact.js b/commands/fun/dogfact.js index 52d4f03d..7cd7a7ca 100644 --- a/commands/fun/dogfact.js +++ b/commands/fun/dogfact.js @@ -7,7 +7,12 @@ module.exports = { group: 'fun', description: 'Generate a random useless dog facts', clientPermissions: [ 'EMBED_LINKS' ], - get examples(){ return [this.name, ...this.aliases]}, + examples: [ + 'dogfacts', + 'dogfact', + 'inu', + 'df' + ], run: async (client, message) => { const data = await fetch('https://dog-api.kinduff.com/api/facts') diff --git a/commands/fun/flip.js b/commands/fun/flip.js index 7b8b1fdc..e372ade9 100644 --- a/commands/fun/flip.js +++ b/commands/fun/flip.js @@ -3,7 +3,10 @@ module.exports = { aliases: [ 'coinflip', 'coin', 'tosscoin', 'tc' ], group: 'fun', description: 'Win or Lose, Flip a Coin [Head or Tails]', - get examples(){ return [ this.name, ...this.aliases ]}, + examples: [ + 'flip head', + 'coinflip tail' + ], run: (client, message, [choice = ''] ) => { if (!choice || !['head', 'tail'].some(x => choice.toLowerCase() === x)){ diff --git a/commands/fun/fortune.js b/commands/fun/fortune.js index df42abf4..7942f5a1 100644 --- a/commands/fun/fortune.js +++ b/commands/fun/fortune.js @@ -7,7 +7,12 @@ module.exports = { group: 'fun', description: 'Generate a random fortune', clientPermissions: [ 'EMBED_LINKS' ], - get examples(){ return [ this.name, ...this.aliases]; }, + examples: [ + 'fortune', + 'ft', + 'fortunecookies', + 'fortunecookie' + ], run: (client, message) => message.channel.send( new MessageEmbed() .setColor('GREY') diff --git a/commands/fun/horoscope.js b/commands/fun/horoscope.js index 2184b6dd..d583716c 100644 --- a/commands/fun/horoscope.js +++ b/commands/fun/horoscope.js @@ -8,7 +8,10 @@ module.exports = { group: 'fun', description: 'Find out your horoscope for today!', clientPermissions: [ 'EMBED_LINKS' ], - get examples(){ return [ this.name, ...this.aliases ];}, + examples: [ + 'horoscope libra', + 'horoscope sagittarius' + ], run: async (client, message, [sign] ) => { if (!sign){ diff --git a/commands/fun/invert.js b/commands/fun/invert.js index 4e3e99f2..b55b9323 100644 --- a/commands/fun/invert.js +++ b/commands/fun/invert.js @@ -5,8 +5,10 @@ module.exports = { description: 'Invert the colors on user avatar', clientPermissions: [ 'ATTACH_FILES' ], parameters: [ 'User ID', 'User Mention' ], - get examples(){ return [ this.name, ...this.aliases] - .map(x => x + ' ' + ''); }, + examples: [ + 'invert @user', + 'invert 721612345678987654456' + ], run: async (client, message ) => { const match = message.content.match(/\d{17,19}/); diff --git a/commands/fun/joke.js b/commands/fun/joke.js index 39b0cb00..d2ee00ad 100644 --- a/commands/fun/joke.js +++ b/commands/fun/joke.js @@ -7,7 +7,10 @@ module.exports = { group: 'fun', description: 'Generate a random joke from a joke API', clientPermissions: [ 'EMBED_LINKS' ], - get examples(){ return [ this.name, ...this.aliases ]}, + examples: [ + 'joke', + 'haha' + ], run: async (client, message) => { const data = await fetch('https://sv443.net/jokeapi/v2/joke/Programming,Miscellaneous?blacklistFlags=nsfw,religious,political,racist,sexist') diff --git a/commands/fun/meme.js b/commands/fun/meme.js index 8697f61c..a539b1bb 100644 --- a/commands/fun/meme.js +++ b/commands/fun/meme.js @@ -7,7 +7,10 @@ module.exports = { group: 'fun', description: 'Generate a random meme from a select subreddit.', clientPermissions: [ 'EMBED_LINKS' ], - get examples(){ return [ this.name, ...this.aliases ];}, + examples: [ + 'meme', + 'humorme' + ], run: async (client, message) => { const data = await fetch(`https://meme-api.herokuapp.com/gimme`) diff --git a/commands/fun/pandafact.js b/commands/fun/pandafact.js index 399576df..0101f742 100644 --- a/commands/fun/pandafact.js +++ b/commands/fun/pandafact.js @@ -7,7 +7,11 @@ module.exports = { group: 'fun', description: 'Generate a random useless pandaa facts', clientPermissions: [ 'EMBED_LINKS' ], - get examples(){ return [this.name, ...this.aliases]}, + examples: [ + 'pandafacts', + 'pandafact', + 'pf' + ], run: async (client, message) => { const data = await fetch('https://some-random-api.ml/facts/panda') diff --git a/commands/fun/pokemon.js b/commands/fun/pokemon.js index ae56add2..57ebb747 100644 --- a/commands/fun/pokemon.js +++ b/commands/fun/pokemon.js @@ -6,10 +6,14 @@ module.exports = { name: 'pokemon', aliases: [ 'pokedex', 'pokémon', 'pokédex' ], group: 'fun', - description: 'Find a specific pokemon using the pokédex', + description: 'Find a specific pokemon using the pokédex, or pikachu if no query is provided.', clientPermissions: [ 'EMBED_LINKS' ], - get examples(){ return [ 'snorlax', 'meowth', 'pikachu', 'clefairy' ] - .map((x,i) => [this.name, ...this.aliases][i] + ' ' + x); }, + examples: [ + 'pokemon', + 'pokedex pikachu', + 'pokémon clefairy', + 'pokédex jigglypuff' + ], run: async (client, message, args) => { const query = args.join(' ') || 'Pikachu'; diff --git a/commands/fun/rate.js b/commands/fun/rate.js index 8295c294..fd31545e 100644 --- a/commands/fun/rate.js +++ b/commands/fun/rate.js @@ -4,8 +4,11 @@ module.exports = { group: 'fun', description: 'Rates the provided argument', parameters: [ 'something to rate with' ], - get examples(){ [ 'Potato', 'Cheese', 'Bringles' ] - .map(x => this.name + ' ' + x);}, + examples: [ + 'rate Potato', + 'rate cheese', + 'rate Bringles' + ], run: (client, message, args) => { if (!args.length){ diff --git a/commands/fun/respect.js b/commands/fun/respect.js index ec057fa0..39ba97de 100644 --- a/commands/fun/respect.js +++ b/commands/fun/respect.js @@ -4,9 +4,13 @@ module.exports = { name: 'respect', aliases: [ 'f', 'rp', '+rp' ], group: 'fun', - description: 'Show thy respect.', + description: 'Show thy respect. Accepts arguments.', clientPermissions: [ 'EMBED_LINKS' ], - get examples(){ return [ this.name, ...this.aliases ];}, + examples: [ + 'respect', + 'f Kyoto Animation', + 'rp @user', + ], run: async (client, message, args) => { const rep = await message.channel.send( diff --git a/commands/fun/reverse.js b/commands/fun/reverse.js index fd16e77c..c3335e1e 100644 --- a/commands/fun/reverse.js +++ b/commands/fun/reverse.js @@ -3,7 +3,9 @@ module.exports = { aliases: [], group: 'fun', description: 'Reverses the supplied text', - get examples(){ return [this.name, ...this.aliases];}, + examples: [ + 'reverse This text will be reversed.' + ], run: (client, message, args) => message.channel.send(args.join(' ').split('').reverse().join(' ') || 'No text to reverse.') }; diff --git a/commands/fun/roll.js b/commands/fun/roll.js index b62eb907..570c46e7 100644 --- a/commands/fun/roll.js +++ b/commands/fun/roll.js @@ -5,12 +5,16 @@ module.exports = { aliases: [], group: 'fun', description: 'Generate a random number from 1-[selected number]', - get examples(){ return [this.name, ...this.aliases].map(x => x + ' ' + '')}, + examples: [ + 'roll 10', + 'roll 100', + 'roll 1234567' + ], run: (client, message, [tail]) => { const rand = Math.random(); tail = Math.round(tail) || Math.round(Math.random() * 999) + 1; - return message.channel.send(`**${text.commatize(rand * tail)}** ---> [0 -> ${text.commatize(tail)}]`) + return message.channel.send(`**${text.commatize(Math.round(rand * tail))}** ---> [0 -> ${text.commatize(tail)}]`) } }; diff --git a/commands/fun/triggered.js b/commands/fun/triggered.js index 4807cad8..41d7918f 100644 --- a/commands/fun/triggered.js +++ b/commands/fun/triggered.js @@ -5,8 +5,10 @@ module.exports = { description: 'Triggered users', clientPermissions: [ 'ATTACH_FILES' ], parameters: [ 'User ID', 'User Mention' ], - get examples(){ return [ this.name, ...this.aliases] - .map(x => x + ' ' + ''); }, + examples: [ + 'triggered @user', + 'triggered 78213712536152371' + ], run: async (client, message ) => { const match = message.content.match(/\d{17,19}/); diff --git a/commands/moderation/addemoji.js b/commands/moderation/addemoji.js index b3072286..9cad5bfa 100644 --- a/commands/moderation/addemoji.js +++ b/commands/moderation/addemoji.js @@ -5,9 +5,11 @@ module.exports = { permissions: [ 'MANAGE_EMOJIS' ], clientPermissions: [ 'MANAGE_EMOJIS' ], group: 'moderation', - description: 'Add an emoji to the server using the supplied image URL', + description: 'Add an emoji to the server using the supplied image URL and name (optional)', parameters: [ 'Image URL', 'Emoji Name' ], - get examples(){ return `${this.name} https://some-url/path-to-image.format name_of_emoji`}, + examples: [ + 'addemoji https://some-url/path-to-image.format emojiname' + ], run: (client, message, [url, name] ) => { if (!url || !/((([A-Za-z]{3,9}:(?:\/\/)?)(?:[\-;:&=\+\$,\w]+@)?[A-Za-z0-9\.\-]+|(?:www\.|[\-;:&=\+\$,\w]+@)[A-Za-z0-9\.\-]+)((?:\/[\+~%\/\.\w\-_]*)?\??(?:[\-\+=&;%@\.\w_]*)#?(?:[\.\!\/\\\w]*))?)/.test(url)){ diff --git a/commands/moderation/addroles.js b/commands/moderation/addroles.js index 595c2777..8b5757b0 100644 --- a/commands/moderation/addroles.js +++ b/commands/moderation/addroles.js @@ -6,7 +6,10 @@ module.exports = { clientPermissions: [ 'MANAGE_ROLES' ], group: 'moderation', description: 'Adds the mentioned roles and/or supplied role IDs to the mentioned user', - get example(){return [ this.name, ...this.aliases].map(x => `${x} <...role>`)}, + examples: [ + 'addroles @user @role1 @role2 @role3', + 'addrole @user @role' + ], run: async (client, message, [member = '', ...rawRoles] ) => { if (!member.match(/\d{17,19}/)){ diff --git a/commands/moderation/ban.js b/commands/moderation/ban.js index e9fc1e12..6f491c92 100644 --- a/commands/moderation/ban.js +++ b/commands/moderation/ban.js @@ -7,7 +7,11 @@ module.exports = { group: 'moderation', description: 'Ban mentioned user from this server.', parameters: [ 'User Mention | ID', 'Ban Reason'], - get examples(){ return [ this.name + ' ' + '@user '];}, + examples: [ + 'ban @user breaking server rules', + 'ban @user', + 'ban 7827342137832612783' + ], run: async (client, message, [member = '', ...reason] ) => { if (!member.match(/\d{17,19}/)){ diff --git a/commands/moderation/clear.js b/commands/moderation/clear.js index 6b7085bf..223cb75b 100644 --- a/commands/moderation/clear.js +++ b/commands/moderation/clear.js @@ -10,7 +10,11 @@ module.exports = { group: 'moderation', description: 'Delete messages from this channel. Will not delete messages older than two (2) weeks.', parameters: [ 'Quantity of Message' ], - get examples(){ return [this.name, ...this.aliases].map(x => x + ' ' + '30')}, + examples: [ + 'clear 10', + 'delete 99', + 'slowprune 50' + ], run: async (client, message, [quantity]) => { quantity = Math.round(quantity); diff --git a/commands/moderation/hackban.js b/commands/moderation/hackban.js index 97ef527c..f392a8a4 100644 --- a/commands/moderation/hackban.js +++ b/commands/moderation/hackban.js @@ -1,13 +1,16 @@ module.exports = { - name: 'ban', + name: 'hackban', aliases: [], guildOnly: true, permissions: [ 'BAN_MEMBERS' ], clientPermissions: [ 'BAN_MEMBERS' ], group: 'moderation', - description: 'bans a user when they are not in the server.', + description: 'bans a user even if they are not in the server.', parameters: [ 'User ID', 'Ban Reason'], - get examples(){ return [ this.name + ' ' + '@user '];}, + examples: [ + 'hackban 7823713678123123123', + 'hackban 2345678765423567817 not following discord tos' + ], run: async (client, message, [user = '', ...reason] ) => { if (!user.match(/\d{17,19}/)){ diff --git a/commands/moderation/kick.js b/commands/moderation/kick.js index b96b1e9d..d6c98762 100644 --- a/commands/moderation/kick.js +++ b/commands/moderation/kick.js @@ -7,7 +7,11 @@ module.exports = { group: 'moderation', description: 'Kick mentioned user from this server.', parameters: [ 'User Mention | ID', 'Kick Reason'], - get examples(){ return [ this.name + ' ' + '@user '];}, + examples: [ + 'kick @user breaking server rules', + 'kick @user', + 'kick 7827342137832612783' + ], run: async (client, message, [member = '', ...reason] ) => { if (!member.match(/\d{17,19}/)){ diff --git a/commands/moderation/lockdown.js b/commands/moderation/lockdown.js index c5bb3f28..16c143e1 100644 --- a/commands/moderation/lockdown.js +++ b/commands/moderation/lockdown.js @@ -6,7 +6,12 @@ module.exports = { clientPermissions: [ 'MANAGE_CHANNELS' ], group: 'moderation', description: `[Prevent/Allow] users from sending messages in the current channel. Permission Overwrites will be lost.`, - get examples(){ return [ this.name, ...this.aliases ]}, + examples: [ + 'lockdown', + 'lock', + 'ld', + 'lockchannel' + ], run: (client, message) => message.channel.overwritePermissions([ { id: message.guild.roles.everyone.id, diff --git a/commands/moderation/mute.js b/commands/moderation/mute.js index 1a45d999..904ebc58 100644 --- a/commands/moderation/mute.js +++ b/commands/moderation/mute.js @@ -8,7 +8,10 @@ module.exports = { group: 'moderation', description: 'Prevents a user from sending a message in this server', parameters: [ 'User Mention | ID' ], - get examples(){ [this.name, ...this.aliases].map(x => `${x} [user]`)}, + examples: [ + 'mute @user', + 'mute 798213718237181231' + ], run: async (client, message, [member = ''] ) => { const muteID = (client.guildProfiles diff --git a/commands/moderation/nuke.js b/commands/moderation/nuke.js index c1377637..2cbada7f 100644 --- a/commands/moderation/nuke.js +++ b/commands/moderation/nuke.js @@ -6,7 +6,10 @@ module.exports = { clientPermissions: [ 'MANAGE_CHANNELS' ], group: 'moderation', description: 'Removes all messages in the channel (Deletes the old channel and makes a copy of it with permissions intact)', - get examples(){ return [ this.name, ...this.aliases]; }, + examples: [ + 'nuke', + 'clearall' + ], run: async (client, message) => { await message.channel.send(`This will remove all conversation in this channel and may cause conflict for bots using ID to track channels. Continue?`); diff --git a/commands/moderation/resetchannel.js b/commands/moderation/resetchannel.js index 4f1062ae..2dd93081 100644 --- a/commands/moderation/resetchannel.js +++ b/commands/moderation/resetchannel.js @@ -6,7 +6,10 @@ module.exports = { clientPermissions: [ 'MANAGE_CHANNELS' ], group: 'moderation', description: `Removes all permission overwrites and resets @everyone permissions to \`unset\``, - get examples(){ return [ this.name, ...this.aliases ]}, + examples: [ + 'resetchannel', + 'resetch' + ], run: (client, message) => message.channel.overwritePermissions([ { id: message.guild.roles.everyone.id } ]) diff --git a/commands/moderation/resetroles.js b/commands/moderation/resetroles.js index 9eb9c638..99a89f64 100644 --- a/commands/moderation/resetroles.js +++ b/commands/moderation/resetroles.js @@ -7,7 +7,10 @@ module.exports = { group: 'moderation', description: 'Removes **all** custom roles from a user. (@everyone will be excluded)', parameters: [ 'User Mention | ID' ], - get examples(){ return [ this.name, ...this.aliases ]}, + examples: [ + 'resetroles @user', + 'resetrole 7283746571920016374' + ], run: async (client, message, [member = '']) => { if (!member.match(/\d{17,19}/)){ diff --git a/commands/moderation/respond.js b/commands/moderation/respond.js index 329e4430..37592f4f 100644 --- a/commands/moderation/respond.js +++ b/commands/moderation/respond.js @@ -8,7 +8,9 @@ module.exports = { group: 'moderation', description: 'Respond to user suggestion', parameters: [ 'Message ID', 'accept/deny', 'reason' ], - get examples(){ return [ ...this.name + ' 690105173087223812 deny Doesn\'t make much sense to do this']}, + examples: [ + 'respond 690105173087223812 deny Doesn\'t make much sense to do this' + ], run: async (client, message, [id, action = '', ...reason]) => { const channelID = (client.guildProfiles diff --git a/commands/moderation/softban.js b/commands/moderation/softban.js index a818f025..a07ea2f5 100644 --- a/commands/moderation/softban.js +++ b/commands/moderation/softban.js @@ -7,7 +7,10 @@ module.exports = { group: 'moderation', description: 'Kicks a user and deletes all their messages in the past 7 days', parameters: [ 'user Mention/ID' ], - get examples (){ return [ `${this.name} 0123456789012345678` ];}, + examples: [ + 'softban @user', + 'softban 7283746574829102938' + ], run: async (client, message, [ member = '' ]) => { if (!member.match(/\d{17,19}/)){ diff --git a/commands/moderation/softlockdown.js b/commands/moderation/softlockdown.js index 3ffd5c79..28a8d4ac 100644 --- a/commands/moderation/softlockdown.js +++ b/commands/moderation/softlockdown.js @@ -6,7 +6,10 @@ module.exports = { clientPermissions: [ 'MANAGE_CHANNELS' ], group: 'moderation', description: `[Prevent/Allow] users without special permissions from sending messages in the current channel. Permission Overwrites will be kept.`, - get examples(){ return [ this.name, ...this.aliases ]}, + examples: [ + 'softlockdown', + 'softlock' + ], run: (client, message) => message.channel.updateOverwrite( message.guild.roles.everyone, { diff --git a/commands/moderation/softmute.js b/commands/moderation/softmute.js index ea4fa414..ab63797b 100644 --- a/commands/moderation/softmute.js +++ b/commands/moderation/softmute.js @@ -6,7 +6,10 @@ module.exports = { group: 'moderation', description: 'Toggle to prevent a user from sending a message in this channel', parameters: [ 'User Mention | ID' ], - get examples(){ [this.name, ...this.aliases].map(x => `${x} [user]`)}, + examples: [ + 'softmute @user', + 'softmute 728374657483920192' + ], run: async (client, message, [member = '']) => { const muteID = (client.guildProfiles diff --git a/commands/moderation/unban.js b/commands/moderation/unban.js index 91961000..7f5317a8 100644 --- a/commands/moderation/unban.js +++ b/commands/moderation/unban.js @@ -7,7 +7,9 @@ module.exports = { group: 'moderation', description: 'Unbans a user from this server', parameters: [ 'user Mention/ID', 'Unban Reason' ], - get examples (){ return [ `${this.name} 0123456789012345678 ` ];}, + examples: [ + 'unban 728374657483920192', + ], run: async (client, message, [ user = '', ...args ]) => { if (!user.match(/\d{17,19}/)){ diff --git a/commands/moderation/unmute.js b/commands/moderation/unmute.js index dc45ec59..babf6e7e 100644 --- a/commands/moderation/unmute.js +++ b/commands/moderation/unmute.js @@ -6,7 +6,10 @@ module.exports = { group: 'moderation', description: 'Unmutes a muted user from this server.', parameters: [ 'User Mention | ID' ], - get examples(){ [this.name, ...this.aliases].map(x => `${x} [user]`)}, + examples: [ + 'unmute @user', + 'unmute 7283746574829102938' + ], run: async (client, message, [member = ''] ) => { const muteID = (client.guildProfiles diff --git a/commands/owner/addcredits.js b/commands/owner/addcredits.js index 8c62c2b7..b020028c 100644 --- a/commands/owner/addcredits.js +++ b/commands/owner/addcredits.js @@ -8,7 +8,9 @@ module.exports = { group: 'owner', description: 'Add credits to users! Append negative sign to remove credits from users!', requiresDatabase: true, - get examples(){ return [this.name, ...this.aliases];}, + examples: [ + 'addcredits @user 1000' + ], run: async (client, message, [user, amount]) => { amount = Number(amount); diff --git a/commands/owner/cleanup.js b/commands/owner/cleanup.js index 8ef409e7..9b97cdf3 100644 --- a/commands/owner/cleanup.js +++ b/commands/owner/cleanup.js @@ -12,7 +12,9 @@ module.exports = { guildOnly: true, group: 'owner', description: 'Remove all finished anime from anilist scheduler. Regularly run once in 4 months to reduce id clutters on watchlist data.', - get examples(){ return [ this.name ];}, + examples: [ + 'cleanup' + ], run: (client, message) => watchlist.find({}, async (err, docs) => { if (err) { diff --git a/commands/owner/eval.js b/commands/owner/eval.js index 20e15309..9bbebc0f 100644 --- a/commands/owner/eval.js +++ b/commands/owner/eval.js @@ -10,7 +10,9 @@ module.exports = { group: 'owner', description: 'Evaluate arbitrary Javascript', parameters: [ 'Javascript Code' ], - get examples(){ return [ this.name + ' 1 + 1'];}, + examples: [ + 'eval 1+1' + ], run: async (client, message, args) => { try { diff --git a/commands/owner/fleave.js b/commands/owner/fleave.js index a248e8f8..17afc9c6 100644 --- a/commands/owner/fleave.js +++ b/commands/owner/fleave.js @@ -7,7 +7,9 @@ module.exports = { group: 'owner', description: 'Force Mai to leave a server', parameters: [ 'server ID', 'Reason' ], - get examples(){ [ this.name, ...this.aliases ].map(x => x + ' 12345678901234567890')}, + examples: [ + 'fleave 728374657483920374' + ], run: async (client, message, [id = '', ...reason]) => { if (!id.match(/\d{17,19}/)){ diff --git a/commands/owner/reload.js b/commands/owner/reload.js index c81276e3..85b5084d 100644 --- a/commands/owner/reload.js +++ b/commands/owner/reload.js @@ -5,7 +5,9 @@ module.exports = { group: 'owner', description: 'Reloads a command', parameters: [ 'command name/alias' ], - examples: [ 'reload anime' ], + examples: [ + 'reload anime' + ], run: (client, message, [command] ) => { if (!command){ diff --git a/commands/setup/disableanisched.js b/commands/setup/disableanisched.js index 87e25462..9ea6c98b 100644 --- a/commands/setup/disableanisched.js +++ b/commands/setup/disableanisched.js @@ -8,6 +8,11 @@ module.exports = { group: 'setup', description: 'Disable the anisched feature for this server', requiresDatabase: true, + examples: [ + 'disableanisched', + 'anischedoff' + ], + parameters: [], run: (client, message) => list.findById(message.guild.id, (err,doc) => { if (err){ diff --git a/commands/setup/goodbyetoggle.js b/commands/setup/goodbyetoggle.js index 34bf9fa2..80bfeaa0 100644 --- a/commands/setup/goodbyetoggle.js +++ b/commands/setup/goodbyetoggle.js @@ -9,6 +9,9 @@ module.exports = { group: 'setup', description: 'Toggle the \`Leaving Member Announcer\` on and off.', requiresDatabase: true, + examples: [ + 'goodbyetoggle' + ], run: (client, message) => guilds.findById(message.guild.id, (err, doc) => { if (err){ diff --git a/commands/setup/setanischedch.js b/commands/setup/setanischedch.js index 27b1ac31..2478310f 100644 --- a/commands/setup/setanischedch.js +++ b/commands/setup/setanischedch.js @@ -9,7 +9,10 @@ module.exports = { description: 'Where will i post the announcement for recently aired anime?', requiresDatabase: true, parameters: ['Channel ID/Mention'], - get examples(){ return [this.name, ...this.aliases].map(x => `${x} `)}, + examples: [ + 'setanischedch #anime-updates', + 'setanischedulech 728394059683726123' + ], run: (client, message, [channel='']) => list.findById(message.guild.id, (err, doc) => { if (err){ diff --git a/commands/setup/setgoodbyech.js b/commands/setup/setgoodbyech.js index b24279ed..279e5aa1 100644 --- a/commands/setup/setgoodbyech.js +++ b/commands/setup/setgoodbyech.js @@ -10,7 +10,10 @@ module.exports = { description: 'Set up the goodbye channel', requiresDatabase: true, parameters: ['Channel ID/Mention'], - get examples(){ return [this.name, ...this.aliases].map(x => `${x} `)}, + examples: [ + 'setgoodbyech #member-leaves', + 'setgoodbyech 728374657482937465' + ], run: (client, message, [channel='']) => guilds.findById(message.guild.id, (err, doc) => { if (err){ diff --git a/commands/setup/setgoodbyemsg.js b/commands/setup/setgoodbyemsg.js index a0d027c0..7101e108 100644 --- a/commands/setup/setgoodbyemsg.js +++ b/commands/setup/setgoodbyemsg.js @@ -7,8 +7,14 @@ module.exports = { guildOnly: true, adminOnly: true, group: 'setup', - description: 'Set up the goodbye message. Supports Embeds! [Learn how to set up your Leaving Member Announcer](https://mai-san.ml/)', + description: 'Set up the goodbye message. Supports Embeds! [Learn how to set up your Leaving Member Announcer](https://guides.mai-san.ml/)', requiresDatabase: true, + parameters: [ 'options', 'other parameters' ], + examples: [ + 'setgoodbyemsg default', + 'setgoodbyemsg embed=true', + 'setgoodbyemsg embed=set -author=image:[ ]', + ], run: (client, message, [stats = '', ...args]) => guilds.findById(message.guild.id, (err, doc) => { stats = stats.toLowerCase(); diff --git a/commands/setup/setmute.js b/commands/setup/setmute.js index a075a8d6..a676f89d 100644 --- a/commands/setup/setmute.js +++ b/commands/setup/setmute.js @@ -10,7 +10,11 @@ module.exports = { description: 'Set up the mute role.', requiresDatabase: true, parameters: ['Role '], - get examples(){ return [this.name, ...this.aliases].map(x => `${x} `)}, + examples: [ + 'setmute @muted', + 'setmute 73847566859304855', + 'setmute muted' + ], run: (client, message, [ role ]) => guilds.findById(message.guild.id, (err, doc) => { if (err){ diff --git a/commands/setup/setprefix.js b/commands/setup/setprefix.js index 8ee196b7..3b58f377 100644 --- a/commands/setup/setprefix.js +++ b/commands/setup/setprefix.js @@ -9,7 +9,9 @@ module.exports = { description: 'Set up custom prefix for this server.', requiresDatabase: true, parameters: [ 'prefix' ], - get examples(){ return [this.name].map(x => `${x} !?`)}, + examples: [ + 'setprefix ?' + ], run: (client, message, [prefix]) => guilds.findById(message.guild.id, (err, doc) => { if (!prefix){ diff --git a/commands/setup/setsuggsetch.js b/commands/setup/setsuggsetch.js index fc42462c..3221f333 100644 --- a/commands/setup/setsuggsetch.js +++ b/commands/setup/setsuggsetch.js @@ -9,7 +9,10 @@ module.exports = { description: 'Set up the suggestion channel', requiresDatabase: true, parameters: ['Channel ID/Mention'], - get examples(){ return [this.name, ...this.aliases].map(x => `${x} `)}, + examples: [ + 'setsuggestch 6273849506948347573', + 'setsuggestch #suggestions' + ], run: (client, message, [channel]) => guilds.findById(message.guild.id, (err, doc) => { if (err){ diff --git a/commands/setup/setwelcomech.js b/commands/setup/setwelcomech.js index c216aeda..da27f1c6 100644 --- a/commands/setup/setwelcomech.js +++ b/commands/setup/setwelcomech.js @@ -10,7 +10,10 @@ module.exports = { description: 'Set up the welcome channel', requiresDatabase: true, parameters: ['Channel ID/Mention'], - get examples(){ return [this.name, ...this.aliases].map(x => `${x} `)}, + examples: [ + 'setwelcomech 72838485961627384', + 'setwelcomech #member-joins' + ], run: (client, message, [channel='']) => guilds.findById(message.guild.id, (err, doc) => { if (err){ diff --git a/commands/setup/setwelcomemsg.js b/commands/setup/setwelcomemsg.js index 79e6a91d..562bebaf 100644 --- a/commands/setup/setwelcomemsg.js +++ b/commands/setup/setwelcomemsg.js @@ -7,8 +7,14 @@ module.exports = { guildOnly: true, adminOnly: true, group: 'setup', - description: 'Set up the welcome message. Supports Embeds!', + description: 'Set up the welcome message. Supports Embeds! [Learn how to set up your Welcome Message](https://guides.mai-san.ml/)', requiresDatabase: true, + parameters: [ 'options', 'other parameters' ], + examples: [ + 'setwelcomemsg default', + 'setwelcomemsg embed=true', + 'setwelcomemsg embed=set -author=image:[ ]', + ], run: (client, message, [stats = '', ...args]) => guilds.findById(message.guild.id, (err, doc) => { stats = stats.toLowerCase(); diff --git a/commands/setup/unwatch.js b/commands/setup/unwatch.js index 60dccac7..5f27d839 100644 --- a/commands/setup/unwatch.js +++ b/commands/setup/unwatch.js @@ -10,7 +10,10 @@ module.exports = { description: ['Removes a watched anime from your watchlist'], requiresDatabase: true, parameters: [ 'Anilist/Mal link' ], - get examples(){ return [ this.name, ...this.aliases].map(x => `${x} `)}, + examples: [ + 'unwatch https://myanimelist.net/anime/45678', + 'unwatch https://anilist.co/anime/10778' + ], run: (client, message, links) => list.findById(message.guild.id, async (err, doc) => { if (err){ diff --git a/commands/setup/userxpreset.js b/commands/setup/userxpreset.js index 25acad33..363c22ed 100644 --- a/commands/setup/userxpreset.js +++ b/commands/setup/userxpreset.js @@ -8,8 +8,13 @@ module.exports = { group: 'setup', description: 'Reset the xp of a particular user in this server.', requiresDatabase: true, + parameters: [ 'User Mention/ID' ], + examples: [ + 'userxpreset @user', + 'resetuserxp 782939405931123456' + ], run: async (client, message ) => { - const match = message.content.match(/\d{17,19}/)?.[0]; + const match = message.content.match(/\d{17,19}/)?.[0] || ' '; if (!match){ return message.channel.send(`\\❌ **${message.author.tag}**, Please mention the user whose xp needs resetting.`); diff --git a/commands/setup/watch.js b/commands/setup/watch.js index 3a9db5dc..775026b6 100644 --- a/commands/setup/watch.js +++ b/commands/setup/watch.js @@ -12,7 +12,10 @@ module.exports = { description: 'Adds a new anime to watch for new episodes of. You may provide an <:anilist:767062314121035806>AniList entry link or a <:mal:767062339177676800>MyAnimeList link. Supports multiple ids/links', requiresDatabase: true, parameters: [ 'Anilist/Mal link' ], - get examples(){ return [ this.name, ...this.aliases].map(x => `${x} `)}, + examples: [ + 'watch https://myanimelist.net/anime/45678', + 'anischedadd https://anilist.co/anime/10778' + ], run: (client, message, links) => list.findById(message.guild.id, async (err, doc) => { if (err){ diff --git a/commands/setup/welcometoggle.js b/commands/setup/welcometoggle.js index ca5143fd..f045d089 100644 --- a/commands/setup/welcometoggle.js +++ b/commands/setup/welcometoggle.js @@ -9,6 +9,9 @@ module.exports = { group: 'setup', description: 'Toggle the \`Member Greeter\` on and off.', requiresDatabase: true, + examples: [ + 'welcometoggle' + ], run: (client, message) => guilds.findById(message.guild.id, (err, doc) => { if (err){ diff --git a/commands/setup/xpenable.js b/commands/setup/xpenable.js index 939fe808..1b5c7c0b 100644 --- a/commands/setup/xpenable.js +++ b/commands/setup/xpenable.js @@ -9,6 +9,9 @@ module.exports = { group: 'setup', description: 'Enable collecting xp on **Disabled** mentioned channels', requiresDatabase: true, + examples: [ + 'xpenable' + ], run: (client, message) => guilds.findById(message.guild.id, (err, doc) => { if (err){ diff --git a/commands/setup/xpexcempt.js b/commands/setup/xpexcempt.js index f9ca95fa..c33fb122 100644 --- a/commands/setup/xpexcempt.js +++ b/commands/setup/xpexcempt.js @@ -9,6 +9,11 @@ module.exports = { group: 'setup', description: 'Disable collecting xp on mentioned channels', requiresDatabase: true, + parameters: [ 'channel ID/Mention' ], + examples: [ + 'xpexcempt 728374657483920192', + 'disablexpon #spam' + ], run: (client, message) => guilds.findById(message.guild.id, (err, doc) => { if (err){ diff --git a/commands/setup/xpreset.js b/commands/setup/xpreset.js index 35789f75..e7d2d71e 100644 --- a/commands/setup/xpreset.js +++ b/commands/setup/xpreset.js @@ -10,7 +10,9 @@ module.exports = { description: 'Resets the xp of all users for this server', requiresDatabase: true, clientPermissions: [ 'EMBED_LINKS' ], - get examples(){ return [this.name, ...this.aliases ];}, + examples: [ + 'xpreset' + ], run: async (client, message ) => { await message.channel.send(`This will **reset** all experience points in this server (Action irreversible). Continue?`); diff --git a/commands/setup/xptoggle.js b/commands/setup/xptoggle.js index 535d9cca..d4b90bde 100644 --- a/commands/setup/xptoggle.js +++ b/commands/setup/xptoggle.js @@ -9,6 +9,9 @@ module.exports = { group: 'setup', description: 'Toggle the xp system on/off for the server.', requiresDatabase: true, + examples: [ + 'xptoggle' + ], run: (client, message) => guilds.findById(message.guild.id, (err, doc) => { if (err){ diff --git a/commands/social/bal.js b/commands/social/bal.js index bfc02a45..13ed0a0b 100644 --- a/commands/social/bal.js +++ b/commands/social/bal.js @@ -10,7 +10,11 @@ module.exports = { clientPermissions: [ 'EMBED_LINKS' ], description: 'Check your wallet, how much have you earned?', requiresDatabase: true, - get examples(){ return [this.name, ...this.aliases];}, + examples: [ + 'bal', + 'balance', + 'credits' + ], run: (client, message) => profile.findById(message.author.id, (err, doc) => { if (err){ diff --git a/commands/social/bank.js b/commands/social/bank.js index ee4b1d19..f9db08ea 100644 --- a/commands/social/bank.js +++ b/commands/social/bank.js @@ -6,9 +6,12 @@ module.exports = { aliases: [ 'registerbank' ], guildOnly: true, group: 'social', - description: 'Check your wallet, how much have you earned?', + description: 'Begin storing your credits on bank. Required because wallet maximum capacity is 50000.', requiresDatabase: true, - get examples(){ return [this.name, ...this.aliases];}, + examples: [ + 'bank', + 'registerbank' + ], run: (client, message) => profile.findById(message.author.id, (err,doc) => { if (err){ diff --git a/commands/social/beg.js b/commands/social/beg.js index 1a1ea85c..89019639 100644 --- a/commands/social/beg.js +++ b/commands/social/beg.js @@ -9,7 +9,11 @@ module.exports = { group: 'social', description: 'Want to earn money some more? Why don\'t you try begging, maybe someone will give you.', requiresDatabase: true, - get examples(){ return [this.name, ...this.aliases];}, + examples: [ + 'beg', + 'plead', + 'gimme' + ], run: (client, message) => profile.findById(message.author.id, (err,doc) => { if (err){ diff --git a/commands/social/bet.js b/commands/social/bet.js index d1153563..299913d7 100644 --- a/commands/social/bet.js +++ b/commands/social/bet.js @@ -9,7 +9,11 @@ module.exports = { group: 'social', description: 'Rely on fate to increase your balance... or lower it.', requiresDatabase: true, - get examples(){ return [this.name, ...this.aliases];}, + parameters: [ 'Amount' ], + examples: [ + 'bet 5000', + 'gamble 500' + ], run: (client, message, [amount]) => profile.findById(message.author.id, (err,doc) => { if (err){ diff --git a/commands/social/buy.js b/commands/social/buy.js index 6260b75c..82824546 100644 --- a/commands/social/buy.js +++ b/commands/social/buy.js @@ -9,6 +9,12 @@ module.exports = { clientPermissions: [ 'MANAGE_MESSAGES' ], group: 'social', description: 'Check what you can buy from the shop.', + requiresDatabase: true, + parameters: [ 'Item ID', 'amount' ], + examples: [ + 'buy 10', + 'buy 18 2' + ], run: (client, message, [id, amt] ) => profile.findById(message.author.id, async (err, doc) => { if (err){ diff --git a/commands/social/creditslb.js b/commands/social/creditslb.js index b00b088c..4b39ee59 100644 --- a/commands/social/creditslb.js +++ b/commands/social/creditslb.js @@ -11,7 +11,10 @@ module.exports = { description: 'Shows the top credit earners for this server', requiresDatabase: true, clientPermissions: [ 'EMBED_LINKS' ], - get examples(){ return [this.name, ...this.aliases ];}, + examples: [ + 'creditslb', + 'richlb' + ], run: (client, message) => { const { exceptions, isActive } = client.guildProfiles.get(message.guild.id).xp; diff --git a/commands/social/daily.js b/commands/social/daily.js index 608fa159..882f39c5 100644 --- a/commands/social/daily.js +++ b/commands/social/daily.js @@ -12,7 +12,9 @@ module.exports = { group: 'social', description: 'Retrieve your daily reward <3', requiresDatabase: true, - get examples(){ return [this.name, ...this.aliases];}, + examples: [ + 'daily' + ], run: (client, message) => profile.findById(message.author.id, (err,doc) => { if (err){ diff --git a/commands/social/deleteitem.js b/commands/social/deleteitem.js index 0432c666..c92f169d 100644 --- a/commands/social/deleteitem.js +++ b/commands/social/deleteitem.js @@ -6,7 +6,13 @@ module.exports = { aliases: [ ], rankcommand: true, group: 'social', - description: 'Deletes the item you own.', + description: 'Deletes an item you own.', + requiresDatabase: true, + parameters: [ 'item ID', 'amount' ], + examples: [ + 'deleteitem 10', + 'deleteitem 18 2' + ], run: (client, message, [id, amount]) => profile.findById(message.author.id, (err,doc) => { if (err){ @@ -25,7 +31,7 @@ module.exports = { const itemcount = doc.data.profile.inventory.find(x => x.id === item.id)?.amount; amount = Math.round(amount || 1); - + if (!amount){ return message.channel.send(`\\❌ **${message.author.tag}**, Invalid amount of item to be deleted!`); } else if (!itemcount || itemcount < amount){ @@ -54,7 +60,7 @@ module.exports = { const proceed = await message.channel.awaitMessages(filter, options) .then(collected => ['y','yes'].includes(collected.first().content.toLowerCase()) ? true : false) .catch(() => false); - + if (!proceed){ return message.channel.send(`\\❌ Cancelled operation!`); }; diff --git a/commands/social/deposit.js b/commands/social/deposit.js index e4509b52..7deaa6db 100644 --- a/commands/social/deposit.js +++ b/commands/social/deposit.js @@ -9,7 +9,10 @@ module.exports = { description: 'Deposit your credits to safeguard it!', parameters: [ 'Amount' ], requiresDatabase: true, - get examples(){ return [this.name, ...this.aliases].map(x => x + ' 10000')}, + examples: [ + 'deposit 10000', + 'dep all' + ], run: (client, message, [amount]) => profile.findById(message.author.id, (err, doc) => { if (err){ diff --git a/commands/social/find.js b/commands/social/find.js index 0a78e3a7..2cc6d59a 100644 --- a/commands/social/find.js +++ b/commands/social/find.js @@ -8,7 +8,10 @@ module.exports = { group: 'social', description: 'You can find hidden credits on your surrounding if you try!', requiresDatabase: true, - get examples(){ return [this.name, ...this.aliases];}, + examples: [ + 'find', + 'search' + ], run: (client, message) => profile.findById(message.author.id, (err, doc) => { if (err){ diff --git a/commands/social/game.js b/commands/social/game.js index 50263fbf..82636597 100644 --- a/commands/social/game.js +++ b/commands/social/game.js @@ -20,7 +20,11 @@ module.exports = { group: 'social', clientPermissions: [ 'EMBED_LINKS', 'ATTACH_FILES' ], description: 'Play some games to earn credits.', - get examples(){ return jsfiles.map(g => this.name + g.split('.')[0] )}, + parameters: [ 'game title' ], + requiresDatabase: true, + examples: [ + 'game captcha' + ], run: (client, message, [ title, ...args]) => profile.findById(message.author.id, (err, doc) => { const categories = text.joinArray(jsfiles.map(x => x.split('.')[0])); diff --git a/commands/social/gift.js b/commands/social/gift.js index da6f3a4a..f6c800ec 100644 --- a/commands/social/gift.js +++ b/commands/social/gift.js @@ -7,6 +7,13 @@ module.exports = { rankcommand: true, group: 'social', description: 'Give some of the items you own to a friend.', + requiresDatabase: true, + parameters: [ 'user ID/mention' ,'item ID', 'amount' ], + examples: [ + 'gift @user 10 2', + 'transferitem 756475746465746576 21', + 'itemtransfer @user 12' + ], run: (client, message, [friend='', id, amount] ) => profile.findById(message.author.id, async (err, doc) => { if (err){ diff --git a/commands/social/inventory.js b/commands/social/inventory.js index c044f365..5d1e9af4 100644 --- a/commands/social/inventory.js +++ b/commands/social/inventory.js @@ -6,11 +6,16 @@ const market = require(`${process.cwd()}/assets/json/market.json`); module.exports = { name: 'inventory', - aliases: [], + aliases: [ 'inv' ], rankcommand: true, clientPermissions: [ 'MANAGE_MESSAGES' ], group: 'social', description: 'Check your items.', + requiresDatabase: true, + examples: [ + 'inventory', + 'inv' + ], run: async (client, message ) => profile.findById(message.author.id, async (err, doc) => { if (err){ diff --git a/commands/social/leaderboard.js b/commands/social/leaderboard.js index 8e360928..d840ff6f 100644 --- a/commands/social/leaderboard.js +++ b/commands/social/leaderboard.js @@ -11,7 +11,11 @@ module.exports = { description: 'Shows the top xp earners for this server', requiresDatabase: true, clientPermissions: [ 'EMBED_LINKS' ], - get examples(){ return [this.name, ...this.aliases ];}, + examples: [ + 'leaderboard', + 'lb', + 'topxp' + ], run: (client, message) => { const { exceptions, isActive } = client.guildProfiles.get(message.guild.id).xp; diff --git a/commands/social/market.js b/commands/social/market.js index 1b54a654..371d7c03 100644 --- a/commands/social/market.js +++ b/commands/social/market.js @@ -11,6 +11,10 @@ module.exports = { clientPermissions: [ 'MANAGE_MESSAGES' ], group: 'social', description: 'Check what you can buy from the shop.', + requiresDatabase: true, + examples: [ + 'market' + ], run: async (client, message, [type] ) => { let selected = market.filter(x => x.type === type?.toLowerCase()); diff --git a/commands/social/nonxpchannels.js b/commands/social/nonxpchannels.js index 4b5b8778..f9a7723b 100644 --- a/commands/social/nonxpchannels.js +++ b/commands/social/nonxpchannels.js @@ -9,6 +9,9 @@ module.exports = { group: 'social', description: 'See which channels do not give xp', requiresDatabase: true, + examples: [ + 'nonxpchannels' + ], run: (client, message) => { let totalch = message.guild.channels.cache.filter(c => c.send).size; diff --git a/commands/social/previewitem.js b/commands/social/previewitem.js index 45ed69fd..5e89fc4d 100644 --- a/commands/social/previewitem.js +++ b/commands/social/previewitem.js @@ -8,6 +8,12 @@ module.exports = { clientPermissions: [ 'MANAGE_MESSAGES', 'ATTACH_FILES' ], group: 'social', description: 'Check what you can buy from the shop.', + requiresDatabase: true, + parameters: [ 'item ID' ], + examples: [ + 'previewitem 13', + 'viewitem 4' + ], run: async (client, message, [id]) => { if (!id){ diff --git a/commands/social/profile.js b/commands/social/profile.js index 5d0b9a4c..bfb63ebe 100644 --- a/commands/social/profile.js +++ b/commands/social/profile.js @@ -12,8 +12,12 @@ module.exports = { group: 'social', description: 'Shows the current xp, level, rank, and other details of a user', requiresDatabase: true, - parameters: [ ''], - get examples(){ return [this.name, ...this.aliases].map(x => x + ' ')}, + parameters: [ 'User Mention/ID' ], + examples: [ + 'profile', + 'rank @user', + 'lvl 78475628394857374' + ], run: async function (client, message, [member = '']){ member = member.match(/\d{17,18}/)?.[0] || message.member.id; diff --git a/commands/social/register.js b/commands/social/register.js index de07dea2..aa06ea85 100644 --- a/commands/social/register.js +++ b/commands/social/register.js @@ -7,7 +7,9 @@ module.exports = { group: 'social', description: 'Start earning credits. Register to keep track of your earned credits!', requiresDatabase: true, - get examples(){ return [this.name, ...this.aliases];}, + examples: [ + 'register' + ], run: (client, message) => profile.findById(message.author.id, (err, doc) => { if (err){ diff --git a/commands/social/sell.js b/commands/social/sell.js index f63c1b5e..e2963047 100644 --- a/commands/social/sell.js +++ b/commands/social/sell.js @@ -9,6 +9,11 @@ module.exports = { clientPermissions: [ 'MANAGE_MESSAGES' ], group: 'social', description: 'Sell some of your items to the shop.', + parameters: [ 'item ID', 'amount' ], + examples: [ + 'sell 7 2', + 'sell 18' + ], run: (client, message, [id, amt] ) => profile.findById(message.author.id, async (err, doc) => { if (err){ diff --git a/commands/social/setbio.js b/commands/social/setbio.js index ff8dccca..774ae9e6 100644 --- a/commands/social/setbio.js +++ b/commands/social/setbio.js @@ -8,6 +8,10 @@ module.exports = { group: 'social', description: 'Sets the profile bio for your profile card.', requiresDatabase: true, + paramters: [ 'bio' ], + examples: [ + 'setbio The coolest person in town' + ], run: async (client, message, args ) => profile.findById(message.author.id, (err, doc) => { if (err){ diff --git a/commands/social/setbirthday.js b/commands/social/setbirthday.js index b11a2b92..66919901 100644 --- a/commands/social/setbirthday.js +++ b/commands/social/setbirthday.js @@ -8,6 +8,11 @@ module.exports = { clientPermissions: [], group: 'social', description: 'Sets the profile birthday for your profile card.', + requiresDatabase: true, + parameters: [ 'Date ' ], + examples: [ + 'setbirthday 02-12' + ], run: async (client, message, [date] ) => profile.findById(message.author.id, (err, doc) => { if (err){ diff --git a/commands/social/setcolor.js b/commands/social/setcolor.js index 490a0d49..893e56d3 100644 --- a/commands/social/setcolor.js +++ b/commands/social/setcolor.js @@ -7,6 +7,11 @@ module.exports = { clientPermissions: [], group: 'social', description: 'Sets the color for your profile card.', + requiresDatabase: true, + parameters: [ 'hex code' ], + examples: [ + 'setcolor #e567da' + ], run: async (client, message, [color] ) => profile.findById(message.author.id, (err, doc) => { if (err){ diff --git a/commands/social/tip.js b/commands/social/tip.js index 4c3219db..e2ae00e3 100644 --- a/commands/social/tip.js +++ b/commands/social/tip.js @@ -9,7 +9,11 @@ module.exports = { group: 'social', description: 'Give tip to your friends!', requiresDatabase: true, - get examples(){ return [this.name, ...this.aliases];}, + parameters: [ 'User Mention/ID'], + examples: [ + 'tip @user', + 'tip 78374756574839348' + ], run: (client, message, [user='']) => profile.findById(message.author.id, async (err, tipper) => { if (err){ diff --git a/commands/social/transfer.js b/commands/social/transfer.js index 9b95aef8..6bc03aff 100644 --- a/commands/social/transfer.js +++ b/commands/social/transfer.js @@ -8,8 +8,11 @@ module.exports = { group: 'social', description: 'Transfer some of your credits to your friends!', requiresDatabase: true, - parameters: [ 'User Mention', 'Amount' ], - get examples(){ return [this.name, ...this.aliases];}, + parameters: [ 'User ID/Mention', 'Amount' ], + examples: [ + 'transfer @user 5000', + 'transfer 76859403847563546 10000' + ], run: (client, message, [ friend='', amount='' ]) => profile.findById(message.author.id, async (err, doc) => { const fr = friend; diff --git a/commands/social/unequip.js b/commands/social/unequip.js index 91b4c89b..e316b2a7 100644 --- a/commands/social/unequip.js +++ b/commands/social/unequip.js @@ -8,7 +8,13 @@ module.exports = { rankcommand: true, clientPermissions: [ 'MANAGE_MESSAGES' ], group: 'social', - description: 'Check what you can buy from the shop.', + description: 'Unequip a certain item.', + requiresDatabase: true, + parameters: [ 'item type' ], + examples: [ + 'unequip wreath', + 'unequip background' + ], run: (client, message, [type] ) => profile.findById(message.author.id, async (err, doc) => { if (err){ diff --git a/commands/social/use.js b/commands/social/use.js index 58c67384..6006434d 100644 --- a/commands/social/use.js +++ b/commands/social/use.js @@ -8,7 +8,13 @@ module.exports = { rankcommand: true, clientPermissions: [ 'MANAGE_MESSAGES' ], group: 'social', - description: 'Check what you can buy from the shop.', + description: 'Equips an item.', + requiresDatabase: true, + paramters: [ 'item ID' ], + examples: [ + 'equip 67', + 'use 15' + ], run: (client, message, [id] ) => profile.findById(message.author.id, async (err, doc) => { if (err){ diff --git a/commands/social/withdraw.js b/commands/social/withdraw.js index e0cc4781..58d0a9f3 100644 --- a/commands/social/withdraw.js +++ b/commands/social/withdraw.js @@ -9,7 +9,10 @@ module.exports = { description: 'Withdraw some of your money from the bank.', requiresDatabase: true, parameters: [ 'Amount' ], - get examples(){ return [this.name, ...this.aliases].map(x => x + ' 10000')}, + examples: [ + 'withdraw 17000', + 'withdraw all' + ], run: (client, message, [amount='']) => profile.findById(message.author.id, (err,doc) =>{ if (err){ diff --git a/commands/utility/avatar.js b/commands/utility/avatar.js index e10532f6..415cec1a 100644 --- a/commands/utility/avatar.js +++ b/commands/utility/avatar.js @@ -7,7 +7,11 @@ module.exports = { group: 'utility', description: 'Shows avatar of the provided user, or yourself', parameters: [ 'User Mention / ID' ], - get examples(){ [ this.name, ...this.aliases].map(x => x + ' @user')}, + examples: [ + 'avatar', + 'av @user', + 'pfp 728394857686950485' + ], run: async (client, message, [user = '']) => { let color; diff --git a/commands/utility/color.js b/commands/utility/color.js index d4264ea9..bcde0cd0 100644 --- a/commands/utility/color.js +++ b/commands/utility/color.js @@ -5,8 +5,11 @@ module.exports = { aliases: [ 'colour', 'hex' ], group: 'utility', description: 'Shows a random color or a preview of the given color', - parameters: [ 'Hex' ], - get examples(){ [this.name, ...this.aliases].map(x => x + ' ')}, + parameters: [ 'hex code' ], + examples: [ + 'color', + 'color #ffffff' + ], run: (client, message, [ hex = '']) => { const color = hex.match(/[0-9a-f]{6}/) || diff --git a/commands/utility/define.js b/commands/utility/define.js index cb9adaeb..da567f53 100644 --- a/commands/utility/define.js +++ b/commands/utility/define.js @@ -12,7 +12,10 @@ module.exports = { group: 'utility', description: 'Searches for your query on Urban Dictionary.\nNote: Using this on a nsfw channel disables the word profanity filter feature.', parameters: [ 'search query' ], - get examples(){ return [this.name, ...this.aliases].map(x => x + ' [term]')}, + examples: [ + 'define', + 'urban anime' + ], run: async (client, message, args) => { if (!args.length) { diff --git a/commands/utility/emoji.js b/commands/utility/emoji.js index 6d4b8165..24eca65e 100644 --- a/commands/utility/emoji.js +++ b/commands/utility/emoji.js @@ -6,6 +6,9 @@ module.exports = { group: 'utility', desciption: 'Display the larger version of the supplied emoji', parameters: [ 'emoji' ], + examples: [ + 'emoji :exampleonly:' + ], get examples(){ return [ this.name + ' '];}, run: (cient, message, [emoji = '']) => { diff --git a/commands/utility/jisho.js b/commands/utility/jisho.js index 70c9051e..d485ce87 100644 --- a/commands/utility/jisho.js +++ b/commands/utility/jisho.js @@ -12,7 +12,11 @@ module.exports = { group: 'utility', description: 'Searches for Japanese words and Kanji on Jisho!', parameters: [ 'word ' ], - get examples(){ [this.name, ...this.aliases].map(x => x + ' [word ]')}, + examples: [ + 'jisho nani', + 'nipponify oyasumi', + 'weebify wakarimashita' + ], run: async function run(client, message, [query]){ if (!query){ diff --git a/commands/utility/listrole.js b/commands/utility/listrole.js index f606310d..6b05dff6 100644 --- a/commands/utility/listrole.js +++ b/commands/utility/listrole.js @@ -7,7 +7,10 @@ module.exports = { group: 'utility', guildOnly: true, description: 'Displays in list all of the roles this server has', - get examples(){ return [this.name, ...this.aliases ];}, + examples: [ + 'listrole', + 'roles' + ], run: async (client, message) => message.channel.send( new MessageEmbed() .setColor('GREY') diff --git a/commands/utility/lyrics.js b/commands/utility/lyrics.js index 64c71499..d8f0392f 100644 --- a/commands/utility/lyrics.js +++ b/commands/utility/lyrics.js @@ -7,9 +7,12 @@ module.exports = { name: 'lyrics', aliases: [], group: 'utility', - description: 'Searches for lyric info about a song from GeniuslLyrics', + description: 'Searches for lyric info about a song from GeniuslLyrics, or Kimi no Sei, if no query are provided.', parameters: [ 'Search Query' ], - get examples(){ [this.name + ' Fukashigi no Karte' ];}, + examples: [ + 'lyrics kimi no sei', + 'lyrics fukashigi no karte' + ], run: async (client, message, args) => { const query = args.join(' ') || 'Kimi no Sei'; diff --git a/commands/utility/permissionsfor.js b/commands/utility/permissionsfor.js index 23229445..e845d38b 100644 --- a/commands/utility/permissionsfor.js +++ b/commands/utility/permissionsfor.js @@ -7,7 +7,10 @@ module.exports = { guildOnly: true, description: 'List the server permissions of mentioned user or provided ID', parameters: [ 'User ID/Mention' ], - get examples(){ return [ this.name, ...this.aliases].map(x => x + ' ');}, + examples: [ + 'permissionsfor @user', + 'permsfor 728394857675849399' + ], run: async(client, message, [member = '']) => { if (!member.match(/\d{17,19}/)){ diff --git a/commands/utility/reddit.js b/commands/utility/reddit.js index 21b413e0..23b68757 100644 --- a/commands/utility/reddit.js +++ b/commands/utility/reddit.js @@ -10,7 +10,11 @@ module.exports = { }, group: 'utility', description: 'Fetch a random image from the supplied subreddit', - get examples(){return [this.name, ...this.aliases].map(x => x + ' ')}, + parameters: [ 'subreddit' ], + examples: [ + 'reddit churchofmai', + 'rdt seishunbutayarou' + ], run: async (client, message, [subreddit = 'oneTrueMai']) => { const embed = new MessageEmbed() diff --git a/commands/utility/serverinfo.js b/commands/utility/serverinfo.js index e91d56e9..6d14686d 100644 --- a/commands/utility/serverinfo.js +++ b/commands/utility/serverinfo.js @@ -7,7 +7,10 @@ module.exports = { aliases: [ 'guild', 'server', 'serverstat', 'serverstats', 'guildstat', 'guildstats' ], group: 'utility', guildOnly: true, - get examples(){ return [ this.name, ...this.aliases ];}, + description: 'Displays the basic information of the server', + examples: [ + 'serverinfo' + ], run: async (client, message) => message.channel.send( new MessageEmbed() .setColor('GREY') diff --git a/commands/utility/steam.js b/commands/utility/steam.js index eccb6534..2e5ecfee 100644 --- a/commands/utility/steam.js +++ b/commands/utility/steam.js @@ -12,9 +12,12 @@ module.exports = { message: 'Accessing Steam has been rate limited to 1 use per user per 10 seconds' }, group: 'utility', - description: 'Searches <:steam:767062357952167946> [Steam](https://store.steampowered.com/ \'Steam Homepage\') for games!', + description: 'Searches <:steam:767062357952167946> [Steam](https://store.steampowered.com/ \'Steam Homepage\') for games!, or Doki-doki literature club, if no query is provided.', parameters: [ 'Search Query' ], - examples(){ return [ this.name, ...this.aliases].map(x => x + ' ');}, + examples: [ + 'steam dota2', + 'steam' + ], run: async (client, message, args) => { const query = args.join(' ') || 'Doki Doki Literature Club'; diff --git a/commands/utility/time.js b/commands/utility/time.js deleted file mode 100644 index 42ffe5bf..00000000 --- a/commands/utility/time.js +++ /dev/null @@ -1,51 +0,0 @@ -const { MessageEmbed } = require('discord.js'); -const fetch = require('node-fetch'); -const moment = require('moment'); - -module.exports = { - name: 'time', - aliases: [ 'clock' ], - group: 'utility', - description: 'Shows the time for the given location!', - parameters: [ 'query' ], - get examples(){ return [this.time, ...this.aliases].map(x => x + ' [city]');}, - run: async (client, message, args) => { - - const location = args.join(' ') || 'Tokyo'; - - const res = await fetch(`https://time.is/${location}`) - .then(res => res.text()).catch(()=>{}) - - if (!res) { - return message.channel.send(`\\❌ The Time.is API did not respond. Please report this to the bot owner. The API might be down or there might be changes on the API itself.`); - }; - - try { - - const [ latitude, longitude ] = JSON.parse(res.match(/\[(\d{1,3}.\d{1,7},\d{1,3}.\d{1,7})\]/gi)[0]); - const [ loc ] = res.match(/(?<=name:\")([\w\d\s]{1,})?,?\s*([\w\d\s]{1,})?,?([\w\d\s]{1,})\"/gi); - const [ time ] = res.match(/(\d{1,2}):(\d{1,2}):(\d{1,2}[\s+apm]{2,}|\d{1,2})/gi); - const [ weekday, month, day, year ] = res.match(/(\w{1,9}),\s(\w{1,12})\s(\d{1,2}),\s(\d{4})/gi)[0].replace(/,/g,'').split(' '); - const [ sunrise, sunset, daylength, solarnoon ] = res.match(/(?<=(\w{1,10}\s\w{1,10}|\w{1,10}):\s+)(\d{2}|\d{2}h)(:|\s+)(\d{1,2}m|\d{1,2})/gi); - const info = res.match(/(the\s+current\s+local\s+time\s+in\s+([a-z\s]*)+\s+is\s+\d+\s+(minutes*)\s+(ahead\s+of|behind)\s+apparent\s+solar\s+time.)/gi)[0]; - - return message.channel.send( - new MessageEmbed() - .setColor('GREY') - .setFooter(`Time | \©️${new Date().getFullYear()} Mai`) - .setAuthor(`Time.is`,'https://files.catbox.moe/5iolld.png','https://time.is') - .setTitle(`${moment(time, 'HH:mm:ss').format('h:mm:ss A')}`) - .setURL(`https://time.is/${encodeURI(location)}`) - .setDescription(`in **${loc.substr(0,loc.length-1)}**\n*${weekday}, ${month} ${day}, ${year}*\nCoordinates: [lat: ${latitude}, long: ${longitude}]*\n\n`) - .addFields([ - { name: 'Sunrise', value: moment(sunrise, 'HH:mm').format('h:mm A'), inline: true }, - { name: 'Sunset', value: moment(sunset, 'HH:mm').format('h:mm A'), inline: true }, - { name: 'Day length', value: moment.duration(daylength).format('H [hours and] m [minutes]'), inline: true },, - { name: '\u200b', value: info } - ]) - ); - } catch (err) { - return message.channel.send(`\\❌ An unexpected error occured: ${err.stack}`); - }; -} -}; diff --git a/commands/utility/userinfo.js b/commands/utility/userinfo.js index 6d33b28e..5c1e5b38 100644 --- a/commands/utility/userinfo.js +++ b/commands/utility/userinfo.js @@ -7,8 +7,11 @@ module.exports = { guildOnly: true, group: "utility", description: 'Fetch User Information (As of May 20, 2020 - The global function has been removed due to a possible violation to Discord ToS).', - parameters: ['User ID'], - get examples(){ return [this.name, ...this.aliases].map(x => x + ' 124556789123456789')}, + parameters: [ 'User Mention/ID' ], + examples: [ + 'userinfo @user', + 'whois 75869504958675123' + ], run: async(client, message, [member='']) => { if (!member.match(/\d{17,19}/)){