diff --git a/README.md b/README.md new file mode 100644 index 00000000..4eed8a07 --- /dev/null +++ b/README.md @@ -0,0 +1,334 @@ +# Xiao + +> Note: The bot is no longer available for invite. + +Xiao is a Discord bot coded in JavaScript with +[discord.js](https://discord.js.org/) using the +[Commando](https://github.com/discordjs/Commando) command framework. With nearly +300 commands, she is one of the most feature-filled bots out there, and formerly +served over 10,000 servers with a uniquely devoted fanbase. + +## Commands (272) +### 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 specific command. +* **info**: Responds with detailed bot information. +* **ping**: Checks the bot's ping to the Discord server. +* **uptime**: Responds with how long the bot has been active. + +### 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. + +### Discord Information: + +* **avatar**: Responds with a user's avatar. +* **channel-info**: Responds with detailed information on a channel. +* **discriminator**: Searches for other users with a certain discriminator. +* **emoji-image**: Responds with an emoji's full-scale image. +* **emoji-list**: Responds with a list of the server's custom emoji. +* **emoji-info**: Responds with detailed information on an emoji. +* **id**: Responds with a user's ID. +* **role-info**: Responds with detailed information on a role. +* **server-info**: Responds with detailed information on the server. +* **user-info**: Responds with detailed information on a user. + +### Random Response: + +* **8-ball**: Asks your question to the Magic 8 Ball. +* **cat-fact**: Responds with a random cat fact. +* **cat**: Responds with a random cat image. +* **charlie-charlie-challenge**: Asks your question to Charlie. +* **choose**: Chooses between options you provide. +* **chuck-norris**: Responds with a random Chuck Norris joke. +* **coin**: Flips a coin. +* **compliment**: Compliments a user. +* **discord-email-fun-fact**: Responds with a random fun fact from the Discord emails. +* **dog-fact**: Responds with a random dog fact. +* **dog**: Responds with a random dog image. +* **fact-core**: Responds with a random Fact Core quote. +* **fidget**: Responds with a random image of Fidget. +* **fortune**: Responds with a random fortune. +* **fruit**: Responds with a random fruit. +* **guess-looks**: Guesses what a user looks like. +* **joke**: Responds with a random joke. +* **kiss-marry-kill**: Determines who to kiss, who to marry, and who to kill. +* **magic-conch**: Asks your question to the Magic Conch. +* **name**: Responds with a random name, with the gender of your choice. +* **new-york-times**: Searches the New York Times for your query. +* **number-fact**: Responds with a random fact about a specific number. +* **offspring**: Determines if your new child will be a boy or a girl. +* **opinion**: Determines the opinion on something. +* **oracle-turret**: Responds with a random Oracle Turret quote. +* **pikachu**: Responds with a random image of Pikachu. +* **quantum-coin**: Flips a coin that lands on some form of nothing. +* **quote**: Responds with a random quote. +* **rate-waifu**: Rates a waifu. +* **reddit**: Responds with a random post from a subreddit. +* **roast**: Roasts a user. +* **roll**: Rolls a dice with a maximum value of your choice. +* **security-key**: Responds with a random security key. +* **ship**: Ships two people together. +* **shower-thought**: Responds with a random shower thought, directly from r/Showerthoughts. +* **user-roulette**: Randomly chooses a member of the server. +* **would-you-rather**: Responds with a random "Would you rather ...?" question. +* **xiao**: Responds with a random image of Xiao Pai. + +### Single Response: + +* **can-you-not**: Can YOU not? +* **dark-theme-light-theme**: Determines whether you use dark or light theme. +* **eat-pant**: Eat pant. +* **give-flower**: Gives Xiao Pai a flower. +* **hello-world**: Hello world. +* **isnt-joke**: Isn't joke... +* **its-joke**: It's joke! +* **lenny**: Responds with the lenny face. +* **nitro**: Sends the "This message can only be viewed by users with Discord Nitro." message. +* **slow-clap**: slow clap +* **spam**: Responds with a picture of Spam. +* **tableflip**: Flips a table... With animation! +* **wynaut**: Why not? Wynaut? + +### Events: + +* **astronomy-picture-of-the-day**: Responds with today's Astronomy Picture of the Day. +* **days-until**: Responds with how many days there are until a certain date. +* **doomsday-clock**: Responds with the current time of the Doomsday Clock. +* **google-doodle**: Responds with a Google Doodle, either the latest one or a random one from the past. +* **holidays**: Responds with today's holidays. +* **horoscope**: Responds with today's horoscope for a specific Zodiac sign. +* **time**: Responds with the current time in a particular location. +* **today-in-history**: Responds with an event that occurred today in history. +* **word-of-the-day**: Responds with today's word of the day. + +### Search: + +* **bulbapedia**: Searches Bulbapedia for your query. +* **deviantart**: Responds with an image from a DeviantArt section, with optional query. +* **dictionary**: Defines a word. +* **forecast**: Responds with the seven-day forecast for a specific location. +* **giphy**: Searches Giphy for your query. +* **github**: Responds with information on a GitHub repository. +* **google-autofill**: Responds with a list of the Google Autofill results for a particular query. +* **google-book**: Searches Google Books for a book. +* **google**: Searches Google for your query. +* **gravatar**: Responds with the Gravatar for an email. +* **http-cat**: Responds with a cat for an HTTP status code. +* **imgur**: Searches Imgur for your query. +* **itunes**: Searches iTunes for your query. +* **jisho**: Defines a word, but with Japanese. +* **kickstarter**: Searches Kickstarter for your query. +* **league-of-legends-champion**: Responds with information on a League of Legends champion. +* **map**: Responds with a map of a specific location. +* **mdn**: Searches MDN for your query. +* **my-anime-list-anime**: Searches My Anime List for your query, getting anime results. +* **my-anime-list-manga**: Searches My Anime List for your query, getting manga results. +* **nasa**: Searches NASA's image archive for your query. +* **neopet**: Responds with the image of a specific Neopet. +* **neopets-item**: Responds with information on a specific Neopets item. +* **npm**: Responds with information on an NPM package. +* **osu**: Responds with information on an Osu! user. +* **periodic-table**: Finds an element on the periodic table. +* **pokedex**: Searches the Pokédex for a Pokémon. +* **rotten-tomatoes**: Searches Rotten Tomatoes for your query. +* **safebooru**: Responds with an image from Safebooru, with optional query. +* **spoopy-link**: Determines if a link is spoopy or not. +* **stack-overflow**: Searches Stack Overflow for your query. +* **steam**: Searches Steam for your query. +* **stocks**: Responds with the current stocks for a specific symbol. +* **tmdb-movie**: Searches TMDB for your query, getting movie results. +* **tmdb-tv-show**: Searches TMDB for your query, getting TV show results. +* **tumblr**: Responds with information on a Tumblr blog. +* **twitter**: Responds with information on a Twitter user. +* **urban-dictionary**: Defines a word, but with Urban Dictionary. +* **vocaloid**: Searches VocaDB for your query. +* **wattpad**: Searches Wattpad for your query. +* **weather**: Responds with weather information for a specific location. +* **wikia**: Searches a specific Wikia wiki for your query. +* **wikihow**: Searches Wikihow for your query. +* **wikipedia**: Searches Wikipedia for your query. +* **xkcd**: Responds with an XKCD comic, either today's, a random one, or a specific one. +* **youtube**: Searches YouTube for your query. +* **yu-gi-oh**: Responds with info on a Yu-Gi-Oh! card. +* **zodiac-sign**: Responds with the Zodiac Sign for the given month/day. + +### Games: + +* **akinator**: Think about a real or fictional character, I will try to guess who it is. +* **apples-to-apples**: Compete to see who can come up with the best card to match an adjective. +* **balloon-pop**: Don't let yourself be the last one to pump the balloon before it pops! +* **battle**: Engage in a turn-based battle against another user or the AI. +* **captcha-quiz**: Try to guess what the captcha says. +* **cards-against-humanity**: Compete to see who can come up with the best card to fill in the blank. +* **emoji-emoji-revolution**: Can you type arrow emoji faster than anyone else has ever typed them before? +* **fishy**: Go fishing. +* **google-feud**: Attempt to determine the top suggestions for a Google search. +* **gunfight**: Engage in a western gunfight against another user. High noon. +* **hangman**: Prevent a man from being hanged by guessing a word as fast as you can. +* **hunger-games**: Simulate a Hunger Games match with up to 24 tributes. +* **lottery**: Attempt to win the lottery, with a 1 in 1000 chance of winning. +* **math-quiz**: 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. +* **roulette**: Play a game of roulette. +* **slots**: Play a game of slots. +* **sorting-hat-quiz**: Take a quiz to determine your Hogwarts house. +* **tic-tac-toe**: Play a game of tic-tac-toe with another user. +* **typing-test**: See how fast you can type a sentence in a given time limit. +* **whos-that-pokemon**: Guess who that Pokémon is. +* **wizard-convention**: Who is the Dragon? Who is the healer? Who is the mind reader? Will the Dragon eat them all? + +### Voice Channel: + +* **airhorn**: Plays an airhorn sound in your voice channel. +* **dec-talk**: The world's best Text-to-Speech. +* **soundboard**: Plays a sound in your voice channel. + +### Image Manipulation: + +* **achievement**: Sends a Minecraft achievement with the text of your choice. +* **be-like-bill**: Sends a "Be Like Bill" meme with the name of your choice. +* **color**: Sends an image of the color you choose. +* **contrast**: Draws an image or a user's avatar but with contrast. +* **demotivational-poster**: Draws an image or a user's avatar and the text you specify as a demotivational poster. +* **distort**: Draws an image or a user's avatar but distorted. +* **glitch**: Draws an image or a user's avatar but glitched. +* **greyscale**: Draws an image or a user's avatar in greyscale. +* **ifunny**: Draws an image with the iFunny logo. +* **invert**: Draws an image or a user's avatar but inverted. +* **meme**: Sends a meme with the text and background of your choice. +* **osu-signature**: Creates a card based on an osu! user's stats. +* **pokemon-fusion**: Fuses two Generation I Pokémon together. +* **robohash**: Creates a robot based on the text you provide. +* **sepia**: Draws an image or a user's avatar in sepia. +* **silhouette**: Draws a silhouette of an image or a user's avatar. +* **tint**: Draws an image or a user's avatar but tinted a specific color. + +### 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 the screen of Dexter from Pokémon. +* **distracted-boyfriend**: Draws three user's avatars over the "Distracted Boyfriend" meme. +* **food-broke**: Draws a user's avatar over the "Food Broke" meme. +* **hat**: Draws a hat over a user's avatar. +* **he-lives-in-you**: Draws a user's avatar over Simba from The Lion King's reflection. +* **i-have-the-power**: Draws a user's avatar over He-Man's face. +* **look-at-this-photograph**: Draws a user's avatar over Nickelback's photograph. +* **look-what-karen-have**: Draws a user's avatar over Karen's piece of paper. +* **pixelize**: Draws a user's avatar pixelized. +* **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. +* **steam-card**: Draws a user's avatar on a Steam Trading Card. +* **steam-now-playing**: Draws a user's avatar and the game of your choice over a Steam "now playing" notification. +* **the-ultimate-tattoo**: Draws a user's avatar as "The Ultimate Tattoo". +* **thug-life**: Draws "Thug Life" over a user's avatar. +* **triggered**: Draws a user's avatar over the "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: + +* **alphabet-reverse**: Reverses the alphabet of text. +* **base64**: Converts text to Base64. +* **binary**: Converts text to binary. +* **braille**: Converts text to braille. +* **clap**: Sends :clap: text :clap: like :clap: this. +* **cow-say**: Makes a cow say your text. +* **cursive**: Converts text to cursive. +* **dvorak**: Converts text to Dvorak encoding. +* **embed**: Sends text in an embed. +* **emojify**: Converts text to emoji form. +* **hex**: Converts text to hex. +* **latlmes**: Creates a Latlmes fake link that redirects to a rickroll. +* **lmgtfy**: Creates a LMGTFY link with the query you provide. +* **md5**: Creates a hash of text with the MD5 algorithm. +* **mocking**: SenDs TexT lIkE ThiS. +* **morse**: Converts text to morse code. +* **organization-xiii-name**: Converts a name into the Organization XIII style. +* **owo**: OwO. +* **pirate**: Converts text to pirate. +* **qr-code**: Converts text to a QR Code. +* **repeat**: Repeat text over and over and over and over (etc). +* **reverse**: Reverses text. +* **say**: Make XiaoBot say what you wish. +* **sha-256**: Creates a hash of text with the SHA-256 algorithm. +* **ship-name**: Creates a ship name from two names. +* **shorten-url**: Creates a goo.gl short URL from another URL. +* **shuffle**: Shuffles text. +* **snake-speak**: Convertsssss text to sssssnake ssssspeak. +* **superscript**: Converts text to tiny text. +* **temmie**: Converts text to Temmie speak. +* **translate**: Translates text to a specific language. +* **upside-down**: Flips text upside-down. +* **url-encode**: Encodes text to URL-friendly characters. +* **webhook**: Posts a message to the webhook defined in your process.env. +* **yoda**: Converts text to Yoda speak. +* **zalgo**: Converts text to zalgo. +* **:b:**: Replaces b with :b:. + +### Number Manipulation: + +* **currency**: Converts money from one currency to another. +* **final-grade-calculator**: Determines the grade you need to make on your final to get your desired course grade. +* **math**: Evaluates a math expression. +* **roman-numeral**: Converts a number to roman numerals. +* **temperature**: Converts temperatures to/from celsius, fahrenheit, or kelvin. + +### Portal Messages: +* **add-portal-channel**: Sets a channel to be a portal channel. +* **fix-portal-channels**: Removes no longer existent channels from the portal list. +* **portal-send**: Send a message to a portal channel. +* **portal-status**: Shows the number of currently opened portals. +* **remove-portal-channel**: Remove a channel from the portal channels. + +### Other: + +* **cleverbot**: Chat with Cleverbot. +* **coolness**: Determines a user's coolness. +* **gender-guess**: Determines the gender of name. +* **prune**: Deletes up to 99 messages from the current channel. +* **strawpoll**: Generates a Strawpoll with the options you provide. +* **timer**: Sets a timer for a certain amount of time. +* **toxicity**: Determines the toxicity of some text. + +### 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. +* **tackle**: Tackles a user. + +## Licensing +The bot is licensed under the GPL 3.0 license. See the file `LICENSE` for more +information. If you plan to use any part of this source code in your own bot, I +would be grateful if you would include some form of credit somewhere.