Code Monkey home page Code Monkey logo

xiao's Introduction

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

xiao's People

Contributors

1computer1 avatar amishshah avatar bullfrog098 avatar dependabot-preview[bot] avatar dependabot[bot] avatar dragonfire535 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

xiao's Issues

A Timeout function in mp games, if no response by users

Is your feature request related to a problem? Please describe.
the mp games dont have a timeout, like if the both the users go offline the bot still sends the messages.

Describe the ideal solution
i want the bot to stop the game if there is no response by both the users for 2 times.
and say like game over, nobody responded

Describe alternatives you've considered

Additional context

Problem in the Say Command

If we execute the Command:

x;say @ROLE Mention

The Bot Pings the Role.
This Can be Easily exploited by Malicious Users you know...

This can be Fixed by adding a Few Lines of Code in the Say Command:

if(!message.mentions.roles.first()) {
     // Your Code..
}
else {
    message.reply("No Pinging Roles!");
}

please hide nsfw commands in help command

Is your feature request related to a problem? Please describe.
Please hide nsfw commands in the help command because there are some karens in my server complaining about that.

Describe the ideal solution
Replace the nsfw commands in the help command with nothinh

Describe alternatives you've considered
none

Additional context
Add any other context or screenshots about the feature request here.

Suggestion: moderation commands.

This is by far one of the most amazing open-source bots I've ever seen, however I feel it is lacking one feature - Moderation commands. I think this is considerably self-explanatory; commands such as kick, ban, mute & discourage could really complete this bot and as I believe, could make it one of the best Discord bots - ever.

All the best,
Josh.

Hey im getting an error message when i do "npm i --production"

npm ERR! code ENOENT
npm ERR! syscall spawn git
npm ERR! path git
npm ERR! errno ENOENT
npm ERR! enoent Error while executing:
npm ERR! enoent undefined ls-remote -h -t ssh://[email protected]/discordjs/Commando.git
npm ERR! enoent
npm ERR! enoent
npm ERR! enoent spawn git ENOENT
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
It would be really helpful if u could solve this
Thank You

Issue related to poker command

(node:16940) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'values' of undefined
happens when the user didnt type anything at this
@Firez folds! Pot - $500 Highest Bet - $200 (vaibhav#6771) @vaibhav, What Do You Want To Do? You Can raise <amount> or check.
here @vaibhav didnt do anything, the bot responded with @vaibhav Checks then the above error appeared. Fix this please

Error

I receive this error when I try to start the bot (I use Atom)

Error: Cannot find module './eastereggs.json'
    at Function.Module._resolveFilename (module.js:470:15)
    at Function.Module._load (module.js:418:25)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (C:\---\test\commands\random\easteregg.js:2:20)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)

OpenTDB not responding

FetchError: invalid json response body at https://opentdb.com/api.php?amount=1&type=multiple&encode=url3986 reason: Unexpected token < in JSON at position 0

      const body = await request('https://opentdb.com/api.php?amount=1&type=multiple&encode=url3986')
      const data = await body.json();
      if (!data.results) return fetchQuestion();
      const question = data.results[0];
      const answers = question.incorrect_answers.map(answer => decodeURIComponent(answer.toLowerCase()));
      const correct = decodeURIComponent(question.correct_answer.toLowerCase());
      answers.push(correct);
      const shuffled = shuffle(answers);
      return {
        question: decodeURIComponent(question.question),
        answers: shuffled,
        correct
      };
    }

Hangman

I Tried Hangman Command to be added on my Bot! But when i did that its telling
, Oh no, an error occurred: 401 Unauthorized. Try again later!
What to do?
Having This Issue

  • Xiao version: latest

  • Priority this issue should have – please be realistic and elaborate if possible:

  • I found this issue while self-hosting the bot.

    • Node.js version: Latest
    • Commit hash:
    • Operating system: VPS Glitch.com

Connect4 error

Please describe the problem you are having in as much detail as possible:
Connect4 isn't working. I've tried to use this command in my own bot with the same command handler but it never worked. I challenged my friend and he said yes but it didn't start the game.

Further details:

  • Version: Latest

  • Priority this issue should have – please be realistic and elaborate if possible:

  • [ X] I found this issue while self-hosting the bot.

    • Node.js version: LAtest
    • Commit hash: Latest
    • Operating system:Windows

Voicemail for phonecall command

Is your feature request related to a problem? Please describe.
will u try to make a voicemail command as it can be a really good and unique feature
Describe the ideal solution
this will require a db, ik u are against db's still it might be worth it as i have never seen a bot sending voicemail. users can see the voicemails with a command. up to you if u want to! if you are willing to this i prefer quick.db

what r the apis

Please describe the problem you are having in as much detail as possible:
I have tried every api I can find to get the toxicity command to work. I really don't think its to hard to tell me where I can get the api keys cause what is "GOOGLE_KEY" very undescriptive and unhelpfull

Further details:

  • Version:

  • Priority this issue should have – please be realistic and elaborate if possible:

  • I found this issue while self-hosting the bot.

    • Node.js version:
    • Commit hash:
    • Operating system:

Misleading project description

I suggest you change your GitHub project description from "Your personal server companion." to "Your personal Discord server companion."

ypeError: user.displayAvatarURL is not a function

image
"@󠀀󠀀 󠀀󠀀󠀀󠀀 󠀀󠀀._Rain Shadow, An error occurred while running the command: TypeError: user.displayAvatarURL is not a function
You shouldn't ever receive an error like this."

^ This is what the bot replies with every time I try to use the avatar-edit commands... what does it mean?

Last Man Standing Command

Add contests category and command like you structure LAST MAN STANDING and GUESS THE NUMBER for Surgical Crow,
And i also want to know how to code these commands
LMS - If there is no message after last message for 30 seconds then he won!
GTN - The member guesses the number is the winner!
lmsinfo,lmswinners,lms,etc...

How to make it work?

I tried multiple times to make it work and haven't succeeded at all, I tried not editing any files didn't work,edit files didn't work can you run me through on how to install it?. I'm kinda new to java script so I'll try my best to understand I watched York,Evie and a bunch of other tutorials to understand and I got my bot to work but I can't seem to make this work.(I'll be self hosting as well)

this.client.games.get , get's property is undefined

this.client.games.get , get's property is undefined
this.client.games.set , sett's property is undefined
this.client.games.delete , delete's property is undefined

please tell me, i was trying to add some games in my bot

error in quizduel game and maybe other mp games

Please describe the problem you are having in as much detail as possible:
so basically after my recent issue, you have updated the code but, when the users enter wrong answers, it says that the answer is incorrect and the msgs.size becomes 0 in console and then sends Game Ended Due to Inactivity, which should not happen
pleas check with other mp commands too, i dont use class with extend so i have edited the code(not the main functions) check my code
https://hasteb.in/kojadana.coffeescript (copy it)

Google Token Map command

Hello, which API token should i put for the map command?

Geological google map API? if not then which? and how to get it?

thanks in advance

Last Man Standing

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the ideal solution
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Asking a new roleplay command

Hey Bro. I have been inspired by your bot's image manipulation a lot. I have read all the commands and I used some of the commands in my bot too. I am recommending you adding a new roleplay command. I have added it in my bot and recommending you too.
it is called called NOM. that is , biting others in angry.

I hope it helps.
thankyou.
for example see this gif.

Android Support?

Hey, just stumbled upon Xiao and it looks great feature wise.
However i couldn't set it up.. installing canvas dependencies using the command:

apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev

results in this:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package build-essential
E: Unable to locate package libcairo2-dev
E: Unable to locate package libpango1.0-dev
E: Couldn't find any package by glob 'libpango1.0-dev'
E: Couldn't find any package by regex 'libpango1.0-dev'
E: Unable to locate package libjpeg-dev
E: Unable to locate package libgif-dev
E: Unable to locate package librsvg2-dev

Hope u can help.
Thanks for your time.

Translate Command

How about a new translate command using > npm i google-translate-api?

no timeout for poker command

image

There's no timeout for this, its a continuos loop, also i think the winner part is never executed, please check the code

[Feature request] Progress updates for Encoding/Fansub teams

Hello,

I would like to ask for Encoders/Fansub commands, so that Xiao posts the progress for each category that an encoding process takes.

Xiao seems perfect so far but misses this feat, and actually, can't find it anywhere :/

Thanks a lot <3

jimp instead of canvas

Love your project!!! I have a personal discord bot for a private small server based off your project.

There is this image manipulation library very similar to canvas, but has zero native dependencies called jimp.
link: https://www.npmjs.com/package/jimp
I was wondering if there is a reason why you prefer canvas instead of jimp. And if you need help with converting the code to use jimp instead of canvas 😊.

Image argument type doesn't accept data from prompts.

So I've been messing around with the "image.js" file to figure out if there is a way to be able to send the image after running a command using the "image" type, instead of having to send the image with the command. I just wanted to double check with you to see if that is possible and if i should waste my time messing with it. Sorry if this is dumb, I just don't want to stare at my screen for 4+ hours just to find out I can't do it lol

Oh no, an error occurred: 403 Forbidden. Try again later!

Please describe the problem you are having in as much detail as possible:

every time I run a roleplay command or something that uses an "key" in the .env (I dont have any in there) I get the error (Oh no, an error occurred: 403 Forbidden. Try again later!) so I was just wodering if you could help me get some of the imgur albums and "key" so I can it to work

Further details:

  • Version: latest

  • Priority this issue should have – please be realistic and elaborate if possible:
    medium its probably only for me but its still super annoying

  • I found this issue while self-hosting the bot.

    • Node.js version: node: '12.16.1',

    • Commit hash: idk
      bruh

    • Operating system: Windows 10

invite.js

const Command = require('../../structures/Command');
const permissions = require('../../assets/json/permissions');
const { MessageEmbed } = require('discord.js')

module.exports = class InviteCommand extends Command {
	constructor(client) {
		super(client, {
			name: 'invite',
			group: 'util-public',
			memberName: 'invite',
			description: 'Responds with the bot\'s invite links.',
			guarded: true
		});
	}

	async run(msg, args) {
		 const  phrases = [
        'Add me to your server with this link!',
        '...'
    ]

    const phrase = phrases[Math.floor(Math.random() * (phrases.length - 1))]

    const guild_invite = 

    // let ad_invite = await guildInviteSchema.find({})
    //   .then(a => a.filter(a => client.guilds.cache.has(a.guildID) && a.invite.description && a.invite.link))
    //   .catch(() => null)
    //
    //
    //     ad_invite = ad_invite && ad_invite.length
    //                 ? ad_invite[Math.floor(Math.random() * ad_invite.length)]
    //                 : null

  const embed = new MessageEmbed()
    .setAuthor('Bear#3437')
    .setColor('GREY')
    .setTitle(`**Invite Xiao with the following permissions**`)
    .addField(
      '**Default Invite**'
      , '<a:animatedcheck:762383226350075925> Xiao\'s Flagship Invite link used for advertising '
      + 'Xiao in her [website](website).'
      , true)
    .addField(
      '**Recommended Invite**',
      '<a:animatedcheck:762383226350075925> This invite grants Xiao all the necessary '
      + 'permissions for all of her functions to work.'
        , true
      )
    .addField(
      '**Full Permissions Invite**'
      , '<a:animatedcheck:762383226350075925> This invite grants Xiao the `ADMINISTRATOR` '
      + 'permission privileges. \n\n'
      , true
      )
    .addField('\u200b', '[**Click Here to Invite**](https://discord.com/oauth2/authorize?client_id=721100913611112470&scope=bot&permissions=1043721303)\n\u200b',true)
    .addField('\u200b', '[**Click Here to Invite!**](https://discord.com/api/oauth2/authorize?client_id=---------&permissions=1342696567&scope=bot "Invite Xioa!")\n\u200b', true)
    .addField('\u200b', '[**Click Here to Invite!**](https://discord.com/api/oauth2/authorize?client_id=--------&permissions=8&scope=bot "Invite XiaoTamako!")\n\u200b', true)
    .addField(
      '**No Moderator Priviledge**'
      , '<a:animatedcheck:762383226350075925>  This invite removes XiaoTamako\'s permission to '
      + 'Moderate the server and it\'s members. Use only if you don\'t want Xiao\'s Moderation commands.\n\n'
      , true
      )
    .addField(
      '**Basic Permissions**'
      , '<a:animatedcheck:762383226350075925> The most basic permission for Xiao\'s basic commands to work.\n\n'
      , true
      )
    .addField('\u200b','\u200b', true)
    .addField('\u200b', '[**Click Here to Invite!**](https://discord.com/api/oauth2/authorize?client_id=--------&permissions=519249&scope=bot "Invite Xiao!")\n\u200b',true)
    .addField('\u200b', '[**Click Here to Invite!**](https://discord.com/api/oauth2/authorize?client_id=------&permissions=379968&scope=bot "Invite Xiao!")\n\u200b', true)
    .addField('\u200b','\u200b', true)
    .addField(
      `\u200b`
      , guild_invite
      ? `Invite Link for this server: **---------------------------------**`
      : 'Invite Link for this server: I haven\'t been given access to this server\'s Invite Links. if you are a `Server Moderator` '
      + 'and wishes to have your server invite link available for invite command on your server, grant me the `Manage_Server` permission.'
    )
    .addField('\u200b',
      'Visit my website at: \u2000•\u2000\n'
      + 'Join my support server at: https://server'
      
    ).setFooter(`©️${new Date().getFullYear()} Xiao`)
    return msg.embed(embed);
  }
}

Meme files and commands

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

I know you just rejected my pull request and I know that you probably aren’t looking for extra help or anything, but I have made a few new commands, and if you just looking for somebody to help you with new commands and small bug fixes I would really like to help (I don’t have to much to do)

Describe the ideal solution
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Economy System/Poker

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
I feel like adding an economy system (like dank memers) would be awesome for Xiao

Describe the ideal solution
A clear and concise description of what you want to happen.

(economy system, gambling, working, inventory with items)
(card based card games : poker) dms you your hand and then Xiao is the dealer

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.
I would be fine without the economy system I just would really like to play poker with my friends

Error: FFmpeg/avconv not found!

Please describe the problem you are having in as much detail as possible:
everytime I run the airhorn command I get this

Further details:

  • Version:

  • Priority this issue should have – please be realistic and elaborate if possible:

  • I found this issue while self-hosting the bot.

    • Node.js version:
    • Commit hash:
    • Operating system:

image by command generating

Is your feature request related to a problem? Please describe.
No

Describe the ideal solution
in NSFW Channel after you put an image command the bot will generate a image in following time like 5-10 seconds

Additional context
the idea is the make the bot in nsfw channel after entering some image command , the bot
will generate image by the following command for each time like 5 sec by defulat and be option to change
the time too before the bot will generate a new image

great bot

Please describe the problem you are having in as much detail as possible:

Further details:

  • Version:

  • Priority this issue should have – please be realistic and elaborate if possible:

  • I found this issue while self-hosting the bot.

    • Node.js version: v13.6.0
    • Commit hash: v13.6.0
    • Operating system: windows 10 x64
      Evry time i try pm2 i get this erorr but its working fine with
      node Xiao.js !
      please some help and thank you for share this awesome bot :)
      2020-01-24_6-46-21

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.