# XiaoBot [![Discord](https://discordapp.com/api/guilds/252317073814978561/embed.png)](https://discord.gg/fqQF8mc) Public Source Code for the Discord Bot XiaoBot, a Discord bot coded in JavaScript with [discord.js](https://github.com/hydrabolt/discord.js) using the [Commando](https://github.com/Gawdl3y/discord.js-commando) command framework. ## Adding it to Your Server Visit XiaoBot's page on the Discord Bots list, which is quite fancy, with [this link](https://discordbots.org/bot/278305350804045834). ## Home Server You can join the home server with [this link](https://discord.gg/fqQF8mc). ## Commands Xiao has nearly 200 helpful commands to power up your Discord server! ### Utility - `prefix` Shows or sets the command prefix. - `eval` Executes JavaScript code. - `donate` Responds with Xiao's donation links. - `help` Displays a list of available commands, or detailed information for a specified command. - `info` Responds with detailed bot information. - `invite` Responds with an invite for the bot and an invite to the home server. - `ping` Checks the bot's ping to the Discord server. - `shard-info` Responds with detailed information for a specific Shard. - `uptime` Responds with how long the bot has been active on this Shard. - `upvote` Responds with Xiao's upvoter link on Discord Bots. ### Command Management - `groups` Lists all command groups. - `enable` Enables a command or command group. - `disable` Disables a command or command group. - `reload` Reloads a command or command group. - `load` Loads a new command. - `unload` Unloads a command. ### User Info - `avatar` Responds with a link to a user's avatar. - `user-info` Responds with detailed information on a user. ### Server Info - `channel-info` Responds with detailed information on a channel. - `emoji` Responds with a list of the server's custom emoji. - `role-info` Responds with detailed information on a role. - `server-info` Responds with detailed information on the server. ### Moderation - `ban` Bans a user. - `clear-channel` Deletes all messages in a channel by cloning it and then deleting it. - `hackban` Bans a user who doesn't have to be in the server. - `kick` Kicks a user. - `lockdown` Prevents users from posting in the current channel, or removes a lockdown. - `prune` Deletes up to 99 messages from the current channel. - `softban` Kicks a user and deletes their messages. - `unban` Unbans a user. ### Random Response - `8-ball` Asks your question to the Magic 8 Ball. - `cat-fact` Responds with a cat fact. - `choose` Chooses between options you provide. - `chuck-norris` Responds with a Chuck Norris quote. - `coin` Flips a coin. - `compliment` Compliments a user. - `dog-fact` Responds with a dog fact. - `fact-core` Responds with a random Fact Core quote. - `fortune` Responds with a random fortune. - `history` Responds with an event that occurred today in history, or on a specific day. - `joke` Responds with a random joke. - `magic-conch` Asks your question to the Magic Conch. - `name` Responds with a random name, with the gender of your choice. - `new-york-times` Responds with an article from the New York Times. - `number-fact` Responds with a random fact about a number. - `offspring` Decides if your new child will be a boy or a girl. - `quantum-coin` Flips a coin that lands on some form of nothing. - `quote` Responds with a random quote. - `rate-waifu` Rates your waifu. - `roast` Roasts a user. - `roll` Rolls a dice with a maximum value of your choice. - `roulette` Chooses a random member of the server. - `ship` Ships things/people together. - `would-you-rather` Responds with a random would you rather question. ### Random Image - `cat` Responds with a random cat image. - `dog` Responds with a random dog image. - `fidget` Responds with a random image of Fidget. - `xiao` Responds with a random image of Xiao Pai. ### Image Manipulation - `achievement` Sends a Minecraft achievement with the text of your choice. - `color` Sends an image of the color you choose. - `meme` Sends a meme with the text and background of your choice. - `pokemon-fusion` Fuses two Generation I Pokémon together. ### Avatar Manipulation - `3000-years` Draws a user's avatar over Pokémon's "It's been 3000 years" meme. - `approved` Draws an "approved" stamp over a user's avatar. - `avatar-fusion` Draws a a user's avatar over a user's avatar. - `beautiful` Draws a user's avatar over Gravity Falls' "Oh, this? This is beautiful." meme. - `bob-ross` Draws a user's avatar over Bob Ross' canvas. - `card` Draws a trading card of random rarity based on a user's profile. - `challenger` Draws a user's avatar over Super Smash Bros.'s "Challenger Approaching" screen. - `dexter` Draws a user's avatar over Dexter from Pokémon's screen. - `greyscale` Draws a user's avatar in greyscale. - `invert` Draws a user's avatar inverted. - `rainbow` Draws a rainbow over a user's avatar. - `rejected` Draws a "rejected" stamp over a user's avatar. - `rip` Draws a user's avatar over a gravestone. - `simba` Draws a user's avatar over Simba from The Lion King's reflection. - `steam-card` Draws a user's avatar over a Steam Trading Card. - `steam-now-playing` Draws a user's avatar and the game of your choice over a Steam "now playing" notification. - `thug-life` Draws "Thug Life" over a user's avatar. - `triggered` Draws a user's avatar over a Triggered meme. - `wanted` Draws a user's avatar over a wanted poster. - `yu-gi-oh-token` Draws a user's avatar over a blank Yu-Gi-Oh! Token card. ### Text Manipulation - `b` 🅱. - `binary` Converts text to binary. - `clap` Sends 👏 text 👏 like 👏 this. - `cow-say` Converts text to cow-say. - `embed` Sends a message in an embed. - `emojify` Converts text to emoji form. - `mocking` SenDs TexT lIkE ThiS. - `morse` Converts text to morse code. - `organization-xiii-name` Converts a name into the Organization XIII style. - `pirate` Converts text to pirate. - `repeat` Repeat text over and over and over and over (etc). - `reverse` Reverses text. - `say` Make XiaoBot say what you wish. - `ship-name` Creates a ship name from two names. - `shuffle` Shuffles text. - `temmie` Converts text to Temmie speak. - `translate` Translates text to a specified language. - `upside-down` Flips text upside-down. - `webhook` Posts a message to the webhook defined in your process.env. - `yoda` Converts text to Yoda speak. - `zalgo` Converts text to zalgo. ### Number Manipulation - `currency` Converts a number from one currency to another. - `temperature` Converts temperatures to/from celsius, fahrenheit, or kelvin. ### Search - `anime` Searches Kitsu.io for your query, getting anime results. - `bot-info` Searches Discord Bots for information on a bot. - `bulbapedia` Searches Bulbapedia for your query. - `define` Defines a word. - `discrim` Searches for other users with a certain discriminator. - `giphy` Searches Giphy for your query. - `github` Searches GitHub for information on a repository. - `itunes` Searches iTunes for your query. - `kickstarter` Searches Kickstarter for your query. - `manga` Searches Kitsu.io for your query, getting manga results. - `map` Responds with a map based upon your query. - `mdn` Searches MDN for your query. - `movie` Searches TMDB for your query, getting movie results. - `nasa` Responds with an image from NASA based upon your query. - `neopet` Searches for Neopets with the username of your query. - `npm` Searches NPM for info on an NPM package. - `osu` Searches osu! usernames for your query. - `pokedex` Searches the Pokédex for a Pokémon. - `recipe` Searches for recipes that include your query. - `reddit` Gets a random recent post from a subreddit. - `steam` Searches Steam for your query. - `stocks` Get the current stocks for a symbol. - `tv-show` Searches TMDB for your query, getting TV show results. - `urban` Searches Urban Dictionary for your query. - `vocaloid` Searches VocaDB for your query. - `wattpad` Searches Wattpad for your query. - `weather` Responds with weather information for a specified location. - `wikia` Searches a specified Wikia wiki for your query. - `wikipedia` Searches Wikipedia for your query. - `youtube` Searches YouTube for your query. - `yu-gi-oh` Responds with info on a Yu-Gi-Oh! card. ### Games - `battle` Engage in a turn-based battle against another user or the AI. - `emoji-emoji-revolution` Play a game of Emoji Emoji Revolution. - `fishy` Go fishing. - `gunfight` Engage in a western gunfight against another user. - `hangman` Play a game of hangman. - `lottery` Attempt to win the lottery, with a 1 in 100 chance of winning. - `math-game` See how fast you can answer a math problem in a given time limit. - `quiz` Answer a quiz question. - `rock-paper-scissors` Play Rock-Paper-Scissors. - `slots` Play a game of slots. - `tic-tac-toe` Play a game of tic-tac-toe. - `typing-game` See how fast you can type a sentence in a given time limit. - `whos-that-pokemon` Guess who that Pokémon is. ### Random/Other - `can-you-not` Can YOU not? - `eat-pant` eat pant - `give-flower` Gives Xiao Pai a flower. - `horoscope` Responds with today's horoscope for a particular sign. - `lenny` Responds with the lenny face. - `lmgtfy` Creates a LMGTFY link with the query you provide. - `shorten-url` Creates a goo.gl short URL from another URL. - `slow-clap` _slow clap_ - `soundboard` Plays a sound in your voice channel. - `spam` Responds with a picture of Spam. - `spoopy-link` Checks if a link is spoopy or not. - `strawpoll` Creates a Strawpoll from the options you provide. - `tag` Little mini responses that didn't quite make the command cut. - `xkcd` Gets an XKCD Comic, optionally opting for today's or a specific number. ### Roleplay - `break-up` Breaks up with a user. - `cuddle` Cuddles a user. - `eat` Eats a user. - `evolve` Evolves a user. - `falcon-punch` Falcon Punches a user. - `fist-bump` Fistbumps a user. - `high-five` High Fives a user. - `hit-with-shovel` Hits a user with a shovel. - `hug` Hugs a user. - `inhale` Inhales a user. - `kill` Kills a user. - `kiss` Kisses a user. - `marry` Marries a user. - `pat` Pats a user. - `poke` Pokes a user. - `punch` Punches a user. - `slap` Slaps a user. ## Licensing The bot is licensed under an [ISC License](https://opensource.org/licenses/ISC). See the file `LICENSE.md` for more information.