Skip to content

Xiao is a Discord bot coded in JavaScript with discord.js. With over 500 commands, she is one of the most feature-rich bots out there. Formerly XiaoBot.

License

Notifications You must be signed in to change notification settings

dragonfire535/xiao

Repository files navigation

Agreement

Just read LICENSE.md. Give credit if you use any part of this monster, thanks.

FAQ

Will Xiao ever be public again?

No.

Will Xiao ever support Slash Commands?

Most likely, no. Many of the commands in Xiao were written with the message content intent in mind, and given her status as a private bot I see no reason to change that. Plus, kitchen-sink bots really don't work with Slash Commands, they just clog up the list.

Can I use part of Xiao's code (i.e. a command) in my bot?

I don't really care, but please give credit in some form if you do so. You'll also be subject to LICENSE.md, and I won't provide you with any support if it doesn't work.

Can I host Xiao myself?

If you want, good luck. Setting her up is a pretty difficult task.

Do I need every API key, emoji ID, etc.?

No, but some commands may not work without them.

Do I need to set up Redis?

Yes, several commands and functions rely on it.

Do I really need to install Wine and Wine32 on Linux?

Only if you want to use the DECTalk command.

Where can I find DECTalk?

Good question! I don't even remember where I found it, and I really can't help you. While it's probably considered abandonware and I doubt anyone would go after a private Discord bot of all things, I'm not taking any chances.

Installing

Filling Out .env

Discord-related info

  • XIAO_TOKEN is the token of your bot. You can get this at the Discord Developer Portal.
  • OWNERS is the Discord user IDs of users you want to have access to sensitive commands. Be careful putting anyone but yourself here.
  • LOVER_USER_ID is the Discord user ID of your significant other. This rigs certain commands, like ship. Optional for loners.
  • XIAO_PREFIX is the prefix the bot should have.
  • INVITE is an invite link for the bot's support server. Optional.
  • REPORT_CHANNEL_ID is a channel ID for the bot to send reports to. Optional, by default it'll send the owners a DM.
  • JOIN_LEAVE_CHANNEL_ID is a channel ID for the bot to send server join/leave information to. Optional.

Redis info

  • REDIS_HOST is the hostname of your Redis server. If unsure, it's probably localhost.
  • REDIS_PASS is the password to your Redis server.

Emojis IDs

  • SUCCESS_EMOJI_ID is an emoji ID for when things succeed. Defaults to "✅".
  • FAILURE_EMOJI_ID is an emoji ID for when things fail. Defaults to "❌".
  • LOADING_EMOJI_ID is an emoji ID for when things are loading. Defaults to "💬".
  • GOLD_FISH_EMOJI_ID and GOLD_FISH_EMOJI_NAME are for neko-atsume-password. Defaults to "Gold Fish".
  • SILVER_FISH_EMOJI_ID and SILVER_FISH_EMOJI_NAME are for neko-atsume-password. Defaults to "Silver Fish".
  • MOCKING_EMOJI_ID and MOCKING_EMOJI_NAME are for mocking. Defaults to nothing, it just won't be there.
  • PORTAL_EMOJI_ID and PORTAL_EMOJI_NAME are for portal-send. Defaults to "PORTAL".
  • MEGA_EVOLVE_EMOJI_ID and MEGA_EVOLVE_EMOJI_NAME are for pokedex. Defaults to "MEGA".
  • NAME_RATER_EMOJI_ID and NAME_RATER_EMOJI_NAME are for name-rater. Defaults to nothing, it just won't be there.

API Keys, IDs, and Secrets

  • ANILIST_USERNAME is your username for Anilist. Optional, defaults to "dragonfire535".
  • BITLY_KEY is your API key for Bit.ly. You can get one here.
  • CLEVERBOT_KEY is your API key for Cleverbot. You can get one here.
  • GITHUB_ACCESS_TOKEN is your access token for GitHub. Follow these steps to make one.
  • GOOGLE_KEY is your API key for Google, used for the YouTube Data API. You can get one here. You must also activate the YouTube Data API.
  • GOV_KEY is your API key for NASA. You get get one here.
  • IDIOT_URL is a URL, ideally to the Wikipedia page of an idiot. By default, it will reply with "Stares at you."
  • SAUCENAO_KEY is your API key for SauceNAO. Register, login, and click here to get one.
  • SPOTIFY_KEY and SPOTIFY_SECRET are your key and secret for the Spotify API. You can get one by following these instructions.
  • THECATAPI_KEY is your API key for The Cat API. You can get one here.
  • THEDOGAPI_KEY is your API key for The Dog API. You can get one here.
  • WEBSTER_KEY is your API key for Merriam-Webster. You can get one here.
  • XIAO_GITHUB_REPO_NAME and XIAO_GITHUB_REPO_USERNAME are the name and username of the GitHub repo where Xiao lives. These are optional, and default to "xiao" and "dragonfire535" respectively.

Run (Linux)

Install instructions below are for Linux. She should work on Windows, but I can't guarantee anything.

  1. Install Node.js.
  2. Run apt install git to install git.
  3. Clone this repository with git clone https://github.com/dragonfire535/xiao.git.
  4. Run cd xiao to move into the folder that you just created.
  5. Create a file named .env and fill it out as shown in above and in .env.example.
  6. Run apt update and apt upgrade to install the latest dependencies of your distro.
  7. Run apt install ffmpeg to install ffmpeg.
  8. Run apt install liblqr-1-0-dev liblqr-1-0 to install liblqr (needed for ImageMagick).
  9. Follow these instructions to install ImageMagick.
  10. Follow these instructions to set up Redis. Remember to set up a password!
  11. Download DECTalk and extract dectalk.dll, dtalk_us.dic, MSVCRTd.DLL, and say.exe to dectalk/. I cannot help you find this.
  12. Run apt install wine to install wine.
  13. Run dpkg --add-architecture i386 to allow installation of wine32.
  14. Run apt update again.
  15. Run apt install wine32 to install wine32.
  16. Run apt install xvfb to install xvfb.
  17. Run yarn install --production in the folder you cloned the bot.
  18. Run npx parse-domain-update to update the domain list for parse-domain.
  19. Start Xiao up!

Commands

Total: 514

Utility:

  • changelog: Responds with the bot's latest 10 commits.
  • cloc: Responds with the bot's code line count.
  • command-leaderboard: Responds with the bot's most used commands.
  • credit: Responds with a command's credits list.
  • group-leaderboard: Responds with the bot's most used command groups.
  • help: Displays a list of available commands, or detailed information for a specific command.
  • high-scores: Responds with the high scores the bot has saved.
  • info: Responds with detailed bot information.
  • last-run: Responds with a command's most recent run date.
  • last-run-leaderboard: Responds with the bot's most recently run commands.
  • options: Responds with a list of server options.
  • ping: Checks the bot's ping to the Discord server.
  • report: Reports something to the bot owner(s).
  • unknown-command: Displays help information for when an unknown command is used.
  • uses: Responds with a command's usage stats.

Utility (Voice):

  • join: Joins your voice channel.
  • leave: Leaves the current voice channel.
  • pause: Pauses the current audio playing.
  • resume: Resume the current audio playing.
  • stop: Stops the current audio playing.

Discord Information:

  • avatar: Responds with a user's avatar.
  • emoji-image: Responds with an emoji's full-scale image.
  • emoji-zip: Responds with a ZIP file of the server's custom emoji.
  • first-message: Responds with the first message ever sent to a channel.
  • server-icon: Responds with the server's icon.

Random Response:

  • 8-ball: Asks your question to the Magic 8 Ball.
  • acrostic: Creates an acrostic from any word or name.
  • advice: Responds with a random bit of advice.
  • affirmation: Responds with a random affirmation.
  • axis-cult: Responds with a teaching of the Axis Cult.
  • boredom: Responds with a random activity to try when you're bored.
  • choose: Chooses between options you provide.
  • chuck-norris: Responds with a random Chuck Norris joke.
  • coin: Flips a coin.
  • compliment: Compliments a user.
  • draw-cards: Draws a random hand of playing cards.
  • fact: Responds with a random fact.
  • fact-core: Responds with a random Fact Core quote.
  • fake-poll: Randomly polls a bunch of fake users for their opinion on a yes/no question.
  • fml: Responds with a FML quote. (NSFW)
  • fortune: Responds with a random fortune.
  • github-zen: Responds with a random GitHub design philosophy.
  • incorrect-quote: Generates an incorrect quote.
  • joke: Responds with a random joke.
  • kiss-marry-kill: Determines who to kiss, who to marry, and who to kill.
  • light-novel-title: Responds with a randomly generated Light Novel title.
  • lorem-ipsum: Generates a randomized Lorem Ipsum placeholder text.
  • magic-conch: Asks your question to the Magic Conch.
  • name: Responds with a random name, with the gender of your choice.
  • never-have-i-ever: Responds with a random "Never Have I Ever..." statement.
  • 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.
  • pun: Responds with a random pun.
  • quantum-coin: Flips a coin that lands on some form of nothing.
  • quote: Responds with a random quote.
  • random-user: Randomly chooses a member of the server.
  • rank: Ranks the options you provide.
  • rate: Rates something.
  • roast: Roasts a user.
  • roll: Rolls a dice with a minimum/maximum value of your choice.
  • security-key: Responds with a random security key.
  • smw-level: Responds with a random Super Mario World level name.
  • suggest-command: Suggests a random command for you to try.
  • superpower: Responds with a random superpower.
  • word: Responds with a random word.
  • xiao-fact: Responds with a random fact about Xiao.
  • yes-no: Answers a yes/no question randomly.
  • yo-mama: Responds with a random "Yo Mama" joke.

Random Image:

  • bird: Responds with a random image of a bird.
  • bunny: Responds with a random bunny image and fact.
  • cat: Responds with a random cat image and fact.
  • dog: Responds with a random dog image and fact.
  • duck: Responds with a random duck image.
  • fox: Responds with a random fox image.
  • frog: Responds with a random frog image.
  • goose: Responds with a random goose image.
  • inspiration: Responds with a randomly generated inspiration.
  • light-novel-cover: Responds with a randomly generated Light Novel cover. (NSFW)
  • lizard: Responds with a random lizard image.
  • lorem-picsum: Responds with a random image of a certain size.
  • shiba: Responds with a random image of a Shiba Inu.
  • xiao: Responds with a random image of Xiao Pai.

Seeded Randomizers:

  • butt: Determines a user's butt quality.
  • coolness: Determines a user's coolness.
  • cuteness: Determines a user's cuteness.
  • dick: Determines your dick size. (NSFW)
  • friendship: Determines how good friends two users are.
  • guess-looks: Guesses what a user looks like.
  • iq: Determines a user's IQ.
  • name-rater: Determines a name's quality.
  • psycho-pass: Determines your Crime Coefficient.
  • ship: Ships two users together.
  • smash-or-pass: Determines if a user is worthy of a smash or a pass.
  • thicc: Determines how thicc you are.
  • think-of: Determines what a user thinks of another user.
  • worth: Determines how much a user is worth.

Single Response:

  • cave: Sends a Minecraft cave that blends in with the chat.
  • dark-light: Determines whether you use dark or light theme.
  • eat-pant: Eat pant.
  • eggs-get-laid: Sends the ultimate roast.
  • fly: Sends a fake fly that looks surprisngly real.
  • give-flower: Gives Xiao Pai a flower.
  • hello-world: Hello world!
  • hi: Hello.
  • idiot: Sends a link to an idiot.
  • rickroll: Sends a link to the "Never Gonna Give You Up" music video.
  • tableflip: Flips a table... With animation!
  • where-is-everybody: Where is everybody?
  • yoff: Posts a picture that truly defines modern art.

Automatic Response:

  • can-you-not: Can YOU not?
  • unflip: Unflips a table.

Events:

  • anime-airing: Responds with a list of the anime that air today.
  • apod: Responds with today's Astronomy Picture of the Day.
  • calendar: Responds with the calendar for a specific month and year.
  • days-since: Responds with how many days there have been since a certain date.
  • days-until: Responds with how many days there are until a certain date.
  • florida-man: Responds with the Flordia man of the day.
  • google-doodle: Responds with a Google Doodle, either the latest one or a random one from the past.
  • horoscope: Responds with today's horoscope for a specific Zodiac sign.
  • is-leap: Responds with if a year is a leap year.
  • is-tuesday: Determines if today is Tuesday.
  • neko-atsume-password: Responds with today's Neko Atsume password.
  • time: Responds with the current time in a particular location.
  • today-in-history: Responds with an event that occurred today in history.
  • us-election: Responds with the odds of each canidate winning the presidential election.
  • word-of-the-day: Responds with today's word of the day.
  • year-progress: Responds with the progress of the current year.

Search:

  • anilist: Responds with user information for an Anilist user.
  • anime: Searches AniList for your query, getting anime results.
  • anime-character: Searches AniList for your query, getting character results.
  • anime-staff: Searches AniList for your query, getting staff results.
  • define: Defines a word.
  • frinkiac: Input a line from the Simpsons to get the episode/season.
  • github: Responds with information on a GitHub repository.
  • google: Searches Google.
  • google-autofill: Responds with a list of the Google Autofill results for a particular query.
  • gravatar: Responds with the Gravatar for an email.
  • http-cat: Responds with a cat for an HTTP status code.
  • know-your-meme: Searches Know Your Meme for your query.
  • lorcana: Responds with info on a Lorcana card.
  • magic: Responds with info on a Magic: The Gathering card.
  • manga: Searches AniList 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.
  • periodic-table: Finds an element on the periodic table.
  • rule: Responds with a rule of the internet.
  • urban: Defines a word, but with Urban Dictionary.
  • wikipedia: Searches Wikipedia for your query.
  • xkcd: Responds with an XKCD comic, either today's, a random one, or a specific one.
  • yu-gi-oh: Responds with info on a Yu-Gi-Oh! card.

Pokédex:

  • pokedex: Searches the Pokédex for a Pokémon.
  • pokedex-ability: Searches the Pokédex for a Pokémon ability.
  • pokedex-box-sprite: Responds with the box sprite of a Pokémon.
  • pokedex-cry: Plays a Pokémon's cry.
  • pokedex-image: Responds with the image of a Pokémon.
  • pokedex-item: Searches the Pokédex for a Pokémon item.
  • pokedex-location: Responds with the location data for a Pokémon.
  • pokedex-move: Searches the Pokédex for a Pokémon move.
  • pokedex-moveset: Responds with the moveset for a Pokémon.
  • pokedex-stats: Responds with the stats for a Pokémon.
  • smogon: Responds with the Smogon tiers for a Pokémon.

Analyzers:

  • age: Responds with how old someone born in a certain year is.
  • aspect-ratio: Determines an image's aspect ratio.
  • birthstone: Responds with the Birthstone for a month.
  • character-count: Responds with the character count of text.
  • chinese-zodiac: Responds with the Chinese Zodiac Sign for the given year.
  • dominant-color: Determines the dominant color of an image.
  • faces: Shows all detected faces in an image.
  • gender: Determines the gender of a name.
  • generation: Responds with the Generation for the given year.
  • image-size: Determines the size of an image.
  • is-it-down: Determines if a website is down or not.
  • levenshtein: Determines the levenshtein distance between two strings.
  • nsfw-image: Determines if an image is NSFW.
  • nsfw-url: Determines if a URL is NSFW.
  • parse-time: Analyzes the time duration you provide and gives the result.
  • read-qr-code: Reads a QR Code.
  • scrabble-score: Responds with the scrabble score of a word.
  • screenshot: Takes a screenshot of any webpage.
  • text-diff: Compares two different bits of text.
  • valid-url: Tests whether a URL is valid or not.
  • zodiac-sign: Responds with the Zodiac Sign for the given month/day.

Single-Player Games:

  • 20-questions: Think of something and 20Q will read your mind by asking a few simple questions.
  • akinator: Think about a real or fictional character, I will try to guess who it is.
  • anagramica: Try to find all the anagrams for a given set of letters.
  • anime-score: See if you can guess what a random anime's score is.
  • antidepressant-or-tolkien: See if you can guess if a word is an Antidepressant or Tolkien character.
  • blackjack: Play a game of blackjack.
  • box-choosing: Do you believe that there are choices in life? Taken from Higurashi Chapter 4.
  • bubble-wrap: Pop some bubble wrap.
  • captcha: Try to guess what the captcha says.
  • chance: Attempt to win with a 1 in 1000 (or your choice) chance of winning.
  • doors: Open the right door, and you win the money! Make the wrong choice, and you get the fire!
  • google-feud: Attempt to determine the top suggestions for a Google search.
  • guess-song: Guess what song is playing.
  • hangman: Prevent a man from being hanged by guessing a word as fast as you can.
  • hearing-test: Test your hearing.
  • horse-info: Responds with detailed information on a horse.
  • horse-race: Bet on the fastest horse in a 6-horse race.
  • hunger-games: Simulate a Hunger Games match with up to 24 tributes.
  • jeopardy: Answer a Jeopardy question.
  • lottery: Attempt to win the lottery with 6 numbers.
  • mad-libs: Choose words that fill in the blanks to create a crazy story!
  • math-quiz: See how fast you can answer a math problem in a given time limit.
  • memory: Test your memory.
  • minesweeper: Play a game of Minesweeper.
  • pokemon-advantage: Guess which Pokémon has the type advantage.
  • quiz: Answer a quiz question.
  • reaction-time: Test your reaction time.
  • rock-paper-scissors: Play Rock-Paper-Scissors.
  • roulette: Play a game of roulette.
  • slots: Play a game of slots.
  • sorting-hat: Take a quiz to determine your Hogwarts house.
  • tarot: Provides a fortune using Tarot cards.
  • the-game: If you think about the game, you lose.
  • true-or-false: Answer a true or false question.
  • typing-test: See how fast you can type a sentence.
  • whos-that-pokemon: Guess who that Pokémon is, based on their silhouette.
  • whos-that-pokemon-cry: Guess who that Pokémon is, based on their cry.
  • would-you-rather: Responds with a random "Would you rather ...?" question.

Multi-Player Games:

  • 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.
  • bingo: Play bingo with up to 99 other users.
  • car-race: Race a car against another user or the AI.
  • cards-against-humanity: Compete to see who can come up with the best card to fill in the blank. (NSFW)
  • chess: Play a game of Chess with another user or the AI.
  • chess-delete: Deletes your saved Chess game.
  • connect-four: Play a game of Connect Four with another user or the AI.
  • cram: Play a game of Cram with another user.
  • domineering: Play a game of Domineering with another user.
  • dots-and-boxes: Play a game of Dots and Boxes with another user.
  • emoji-emoji-revolution: Can you type arrow emoji faster than anyone else has ever typed them before?
  • guesspionage: Tests your knowledge of humans as you guess how people responded to poll questions.
  • gunfight: Engage in a western gunfight against another user. High noon.
  • imposter: Who is the imposter among us?
  • island: Who will be the final two left on the island after a series of vote-kicks?
  • jenga: Play a game of Jenga with another user or the AI.
  • lie-swatter: Players are given a fact and must quickly decide if it's True or a Lie.
  • mafia: Who is the Mafia? Who is the detective? Will the Mafia kill them all?
  • nim: Play a game of nim with another user or the AI.
  • obstruction: Play a game of Obstruction with another user.
  • pick-a-number: Two players pick a number between 1 and 10. Whoever's closer wins.
  • poker: Play poker with up to 5 other users.
  • quiz-duel: Answer a series of quiz questions against other opponents.
  • russian-roulette: Who will pull the trigger and die first?
  • spam-war: See who can type more characters the fastest.
  • tic-tac-toe: Play a game of tic-tac-toe with another user or the AI.
  • typing-race: Race a user to see who can type a sentence faster.
  • word-chain: Try to come up with words that start with the last letter of your opponent's word.
  • word-spud: Hot potato, but with words.

Face Manipulation:

  • anime-eyes: Draws anime eyes onto the faces in an image.
  • danny-devito: Draws Danny Devito's face onto the faces in an image.
  • emoji-face: Draws an emoji onto the faces in an image.
  • eyes: Draws emoji eyes onto the faces in an image.
  • shrek: Draws Shrek's face onto the faces in an image.

Image Manipulation:

  • analog-clock: Draws an analog clock for a timezone.
  • approved: Draws an "approved" stamp over an image or a user's avatar.
  • ascii: Draws an image or a user's avatar but with ascii.
  • blur: Draws an image or a user's avatar but blurred.
  • bob-ross: Draws an image or a user's avatar over Bob Ross' canvas.
  • brazzers: Draws an image with the Brazzers logo in the corner. (NSFW)
  • charcoal: Draws an image or a user's avatar but with charcoal.
  • chocolate-milk: Draws an image or user's avatar holding chocolate milk.
  • circle: Draws an image or a user's avatar as a circle.
  • color: Sends an image of the color you choose.
  • communist: Draws the Communist flag over an image or a user's avatar.
  • contrast: Draws an image or a user's avatar but with contrast.
  • convert-image: Converts an image from one format to another.
  • create-qr-code: Converts text to a QR Code.
  • crop-to-content: Crops an image to its content.
  • desaturate: Draws an image or a user's avatar but desaturated.
  • dexter: Draws an image or a user's avatar over the screen of Dexter from Pokémon.
  • distort: Draws an image or a user's avatar but distorted.
  • emboss: Draws an image or a user's avatar but embossed.
  • fire-frame: Draws a fiery border over an image or a user's avatar.
  • fish-eye: Draws an image or a user's avatar but with a fish-eye lens.
  • frame: Draws a frame around an image or a user's avatar.
  • ghost: Draws an image or a user's avatar but with a ghost-like transparency.
  • glass-shatter: Draws an image or a user's avatar with a glass shatter in front of it.
  • glitch: Draws an image or a user's avatar but glitched.
  • greyscale: Draws an image or a user's avatar in greyscale.
  • gun: Draws a gun over an image or a user's avatar.
  • hands: Draws creepy hands over an image or a user's avatar.
  • ifunny: Draws an image with the iFunny logo.
  • implode: Draws an image or a user's avatar but imploded.
  • invert: Draws an image or a user's avatar but inverted.
  • lego-icon: Edits an image or avatar onto a character icon from LEGO Star Wars.
  • liquid-rescale: Draws an image or a user's avatar but with liquid rescale from ImageMagick.
  • mirror: Draws an image or a user's avatar but mirrored on the X/Y axis (or both).
  • motion-blur: Draws an image or a user's avatar with motion blur.
  • needs-more-jpeg: Draws an image or a user's avatar as a low quality JPEG.
  • noise: Draws an image or a user's avatar but with noise.
  • oil-painting: Draws an image or a user's avatar but with oil paints.
  • old-photo: Draws an image or a user's avatar as an old-timey photo.
  • pet: Pets an image or a user's avatar.
  • pixelize: Draws an image or a user's avatar pixelized.
  • pokemon-fusion: Fuses two Generation I Pokémon together.
  • police-tape: Draws police tape over an image or a user's avatar.
  • rainbow: Draws a rainbow over an image or a user's avatar.
  • rejected: Draws a "rejected" stamp over an image or a user's avatar.
  • resize: Draws an image or a user's avatar resized to the size you want.
  • rotate: Draws an image or a user's avatar but rotated a number of degrees.
  • sepia: Draws an image or a user's avatar in sepia.
  • shake: Draws an image or a user's avatar shaking.
  • silhouette: Draws a silhouette of an image or a user's avatar.
  • sip: Draws a user's avatar sipping tea.
  • sketch: Draws an image or a user's avatar but sketched.
  • snapchat: Creates a fake Snap from Snapchat with the image and text you provide.
  • spaghetti: Draws an image or a user's avatar but as spaghetti.
  • spotify-now-playing: Draws an image or a user's avatar on a Spotify album with the name and artist of your choice.
  • square: Draws an image or a user's avatar as a square.
  • squish: Draws an image or a user's avatar but squished across the X or Y axis.
  • steam-card: Draws an image or a user's avatar on a Steam Trading Card.
  • subtitle: Adds subtitles to an image.
  • swirl: Draws an image or a user's avatar but swirled.
  • tint: Draws an image or a user's avatar but tinted a specific color.
  • vignette: Draws an image or a user's avatar with a vignette.
  • wanted: Draws an image or a user's avatar over a wanted poster.
  • wild-pokemon: Draws an image or a user's avatar over a wild Pokémon appearance.
  • you-died: Sends a "You Died" screen over an image or a user's avatar.

Image Text Manipulation:

  • ace-attorney: Sends a text box from Ace Attorney with the quote and character of your choice.
  • achievement: Sends a Minecraft achievement with the text of your choice.
  • axis-cult-sign-up: Sends an Axis Cult Sign-Up sheet for you. Join today!
  • caution: Creates a caution sign with the text of your choice.
  • certificate: Sends a certificate of excellence with the name and reason of your choice.
  • chinese-restaurant: Sends a Chinese restaurant sign with the text of your choice.
  • danger: Creates a danger sign with the text of your choice.
  • font: Types text in a specific font.
  • gandhi-quote: Makes Mahatma Gandhi say the quote you want.
  • highway-sign: Sends a highway sign sign with the text of your choice.
  • hollywood-star: Sends a Hollywood Walk of Fame star with the name of your choice.
  • jeopardy-question: Sends a Jeopardy Question with the text of your choice.
  • license-plate: Creates a license plate with the text of your choice.
  • speed-limit: Sends a Speed Limit sign with the limit of your choice.
  • spongebob-time-card: Sends a Spongebob Time Card with the text of your choice.
  • tweet: Sends a Twitter tweet with the user and text of your choice.
  • undertale: Sends a text box from Undertale with the quote and character of your choice.
  • zero-dialogue: Sends a text box from Megaman Zero with the quote of your choice.

Avatar Manipulation:

  • avatar-fusion: Draws a a user's avatar over a user's avatar.
  • eject: Ejects a user.
  • 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.
  • hearts: Draws hearts around a user's avatar.
  • i-have-the-power: Draws a user's avatar over He-Man's face.
  • rip: Draws a user's avatar over a gravestone.
  • status-button: Creates a Discord status button from c99.nl.
  • steam-now-playing: Draws a user's avatar over a Steam "now playing" notification.
  • triggered: Draws a user's avatar over the "Triggered" meme.

Meme Generators:

  • 3000-years: Draws an image or a user's avatar over Pokémon's "It's been 3000 years" meme.
  • alert: Sends a Presidential Alert message with the text of your choice.
  • bart-chalkboard: Sends a "Bart Chalkboard" meme with the text of your choice.
  • be-like-bill: Sends a "Be Like Bill" meme with the name of your choice.
  • beautiful: Draws a user's avatar over Gravity Falls' "Oh, this? This is beautiful." meme.
  • boardroom-meeting: Sends a "Boardroom Meeting" meme with the text of your choice.
  • bottom-text: Sends a bottom text meme.
  • catch: Catch users, revealing who is something.
  • challenger: Draws an image or a user's avatar over Smash Bros.'s "Challenger Approaching" screen.
  • change-my-mind: Sends a "Change My Mind" meme with the text of your choice.
  • chi-idea: Sends a "Daddy, I've got an idea!" Takagi-san meme with the text of your choice.
  • crush: Draws an image or a user's avatar as Wolverine's crush.
  • cursed-sponge: Sends a cursed sponge duplicated however many times you want.
  • dear-liberals: Sends a "Dear Liberals" meme with words of your choice.
  • deep-fry: Draws an image or a user's avatar but deep-fried.
  • demotivational: Draws an image or a user's avatar and the text you specify as a demotivational poster.
  • dislike: Sends an "Everyone Disliked That" meme with the image of your choice.
  • distracted-boyfriend: Draws three user's avatars over the "Distracted Boyfriend" meme.
  • drakeposting: Sends a "Drakeposting" meme with the text of your choice.
  • edd-facts-book: Sends a "Double D's Facts Book" meme with the fact of your choice.
  • enslaved: Sends a "Ah yes, enslaved" meme with the image and text of your choice.
  • food-broke: Draws a user's avatar over the "Food Broke" meme.
  • for-five-hours: Sends an "I've looked at this for 5 hours now" meme with the image of your choice.
  • genie-rules: Sends a "There are 4 rules" meme with the text of your choice.
  • girl-worth-fighting-for: Draws an image or a user's avatar as the object of Ling's affection.
  • gru-plan: Sends a Gru's Plan meme with steps of your choice.
  • i-cant-believe: Sends a "I Can't believe it's not butter!" meme with the text of your choice.
  • i-fear-no-man: Sends a "I fear no man" meme with the text of your choice.
  • if-those-kids-could-read: Sends a "If those kids could read, they'd be very upset" meme with the text of your choice.
  • kyon-gun: Draws an image or a user's avatar behind Kyon shooting a gun.
  • like: Sends an "Everyone Liked That" meme with the image of your choice.
  • lisa-presentation: Sends a "Lisa Presentation" meme with the presentation of your choice.
  • look-at-this-photograph: Draws an image or a user's avatar over Nickelback's photograph.
  • look-what-karen-have: Draws an image or a user's avatar over Karen's piece of paper.
  • mario-bros-views: Sends a "Mario Bros. Views" meme with the text of your choice.
  • meme-gen: Sends a meme with the text and background of your choice.
  • metamorphosis: Sends a "My Metamorphosis Begins" meme with the image and text of your choice.
  • my-collection-grows: Sends a "My collection grows richer" Nekopara meme with the text of your choice.
  • new-password: Sends a "Weak Password/Strong Password" meme with the passwords of your choice.
  • nike-ad: Sends a "Believe in Something" Nike Ad meme with the text of your choice.
  • panik-kalm-panik: Sends a "Panik, Kalm, Panik" meme with the text of your choice.
  • phoebe-teaching-joey: Sends a "Phoebe Teaching Joey" meme with text of your choice.
  • pills: Sends a "Hard to Swallow Pills" meme with the text of your choice.
  • plankton-plan: Sends a Plankton's Plan meme with steps of your choice.
  • raw: Sends a "Give me x, and I wouldn't mind doing it raw!" meme with the text of your choice. (NSFW)
  • reaction-meme: Sends a meme with the text and image of your choice.
  • scroll-of-truth: Sends a "Scroll of Truth" meme with the text of your choice.
  • sexy-singles: Sends an "Sexy Singles in Your Area" meme with the image of your choice. (NSFW)
  • skyrim-skill: Sends a "Skyrim Skill" meme with the skill and image of your choice.
  • sonic-says: Sends a "Sonic Says" meme with the quote of your choice.
  • sora-selfie: Draws an image or a user's avatar behind Sora taking a selfie.
  • sos: Sends a "Esther Verkest's Help Sign" comic with the text of your choice.
  • spiderman-pointing: Sends a "Spiderman Pointing at Spiderman" meme with the text of your choice.
  • spongebob-burn: Sends a "Spongebob Throwing Something into a Fire" meme with words of your choice.
  • that-sign-wont-stop-me: Sends a "That Sign Won't Stop Me, I Can't read!" meme with the presentation of your choice.
  • this-guy: Draws an image or a user's avatar over the "Get a load of this guy" meme.
  • thug-life: Draws "Thug Life" over an image or a user's avatar.
  • to-be-continued: Draws an image with the "To Be Continued..." arrow.
  • tuxedo-pooh: Sends a "Tuxedo Winnie the Pooh" meme with the text of your choice.
  • two-buttons: Sends a "Two Buttons" meme with the buttons of your choice.
  • ugly: Draws an image or a user's avatar over the "It's even uglier up close" meme.
  • ultimate-tattoo: Draws an image or a user's avatar as "The Ultimate Tattoo".
  • vietnam-flashbacks: Edits Vietnam flashbacks behind an image or a user's avatar.
  • whiteboard: Sends a "Jim Halpert point to whiteboard" meme with the text of your choice.
  • worse-than-hitler: Draws a user's avatar over Family Guy's "Worse Than Hitler" meme.
  • worthless: Draws an image or a user's avatar over Gravity Falls' "This is worthless." meme.

Text Manipulation:

  • base64: Converts text to/from Base64.
  • binary: Converts text to binary.
  • braille: Converts text to braille.
  • brony-speak: Converts text to brony speak.
  • clap: Sends 👏 text 👏 like 👏 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.
  • fancy: Converts text to fancy letters.
  • hex: Converts text to hex.
  • html-decode: Decodes HTML characters to regular characters.
  • leet: Converts text to l33t speak.
  • lolcat: Converts text to lolcat.
  • lowercase: Converts text to lowercase.
  • md5: Creates a hash of text with the MD5 algorithm.
  • mocking: SenDs TexT lIkE ThiS.
  • nobody-name: Converts a name into the Organization XIII style.
  • owo: OwO.
  • pig-latin: Converts text to pig latin.
  • pirate: Converts text to pirate.
  • repeat: Repeat text over and over and over and over (etc).
  • reverse: Reverses text.
  • romaji: Converts Japanese text to Romaji.
  • say: Make me say what you want, master.
  • sha-1: Creates a hash of text with the SHA-1 algorithm.
  • sha-256: Creates a hash of text with the SHA-256 algorithm.
  • ship-name: Creates a ship name from two names.
  • shorten-url: Shortens a URL using bit.ly.
  • shuffle: Shuffles text.
  • snake-speak: Convertsssss text to sssssnake ssssspeak.
  • spoiler-letter: Sends text with each and every character as an individual spoiler.
  • superscript: Converts text to tiny text.
  • tebahpla: Reverses the alphabet of text.
  • temmie: Converts text to Temmie speak.
  • txt: Generates a TXT file from the text you provide.
  • unspoiler: Removes all spoilers from a message.
  • uppercase: Converts text to uppercase.
  • upside-down: Flips text upside-down.
  • url-decode: Decodes URL characters to regular characters.
  • url-encode: Encodes text to URL-friendly characters.
  • yoda: Converts text to Yoda speak.
  • zalgo: Converts text to zalgo.

Number Manipulation:

  • currency: Converts currency from one currency to another.
  • final-grade: Determines the grade you need to make on your final to get your desired course grade.
  • format-number: Formats a number to look more readable.
  • gcd: Determines two numbers' greatest common denominator.
  • grade: Determines your grade on an assignment on an 100-point scale.
  • gravity: Determines weight on another celestial object.
  • math: Evaluates a math expression.
  • prime: Determines if a number is a prime number.
  • roman: Converts a number to roman numerals.
  • scientific-notation: Converts a number to scientific notation.
  • tax: Determines the total cost of something plus tax.
  • units: Converts units to/from other units.

Play Audio:

  • airhorn: Plays an airhorn sound in a voice channel.
  • animalese: Makes animalese based on text.
  • dec-talk: The world's best Text-to-Speech.
  • mindfulness: Immerse yourself in some mindful quotes.
  • morse: Converts text to morse code.
  • play: Plays a YouTube video in your voice channel.
  • tts: Say the text you provide in the accent you choose.

Reminders:

  • delete-reminder: Deletes your reminder(s) set in this channel.
  • remind: Sets a reminder.

Phone:

  • hang-up: Hangs up the current phone call.
  • phone: Starts a phone call with a random server.
  • phone-block: Gives instructions for blocking a channel or server.
  • phone-info: Gives information on the current phone call.

Cleverbot:

  • cleverbot: Starts a Cleverbot conversation.
  • cleverbot-end: Ends the current Cleverbot chat.

Other:

  • noop: Does nothing.
  • portal-send: Send a message to a portal channel.
  • prune: Deletes up to 99 messages from the current channel.

Credits

NPM Packages

Other Credits

About

Xiao is a Discord bot coded in JavaScript with discord.js. With over 500 commands, she is one of the most feature-rich bots out there. Formerly XiaoBot.

Resources

License

Stars

Watchers

Forks