Split Single and Multi Player Games

This commit is contained in:
Dragon Fire
2019-12-02 22:38:40 -05:00
parent 53fba29dc0
commit 7dfdc7060c
29 changed files with 42 additions and 38 deletions
+12 -9
View File
@@ -254,33 +254,36 @@ Xiao is a Discord bot coded in JavaScript with
* **what-anime:** Determines what anime a screenshot is from. * **what-anime:** Determines what anime a screenshot is from.
* **zodiac-sign:** Responds with the Zodiac Sign for the given month/day. * **zodiac-sign:** Responds with the Zodiac Sign for the given month/day.
### Games: ### Single-Player Games:
* **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.
* **blackjack:** Play a game of blackjack. * **blackjack:** Play a game of blackjack.
* **box-choosing:** Do you believe that there are choices in life? Taken from Higurashi Chapter 4. * **box-choosing:** Do you believe that there are choices in life? Taken from Higurashi Chapter 4.
* **captcha:** Try to guess what the captcha says. * **captcha:** Try to guess what the captcha says.
* **chance:** Attempt to win with a 1 in 1000 (or your choice) chance of winning. * **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! * **doors:** Open the right door, and you win the money! Make the wrong choice, and you get the fire!
* **emoji-emoji-revolution:** Can you type arrow emoji faster than anyone else has ever typed them before?
* **fishy:** Go fishing. * **fishy:** Go fishing.
* **google-feud:** Attempt to determine the top suggestions for a Google search. * **google-feud:** Attempt to determine the top suggestions for a Google search.
* **gunfight:** Engage in a western gunfight against another user. High noon.
* **hangman:** Prevent a man from being hanged by guessing a word as fast as you can. * **hangman:** Prevent a man from being hanged by guessing a word as fast as you can.
* **hunger-games:** Simulate a Hunger Games match with up to 24 tributes. * **hunger-games:** Simulate a Hunger Games match with up to 24 tributes.
* **lottery:** Attempt to win the lottery with 6 numbers. * **lottery:** Attempt to win the lottery with 6 numbers.
* **math-quiz:** See how fast you can answer a math problem in a given time limit. * **math-quiz:** See how fast you can answer a math problem in a given time limit.
* **quiz-duel:** Answer a series of quiz questions against an opponent.
* **quiz:** Answer a quiz question. * **quiz:** Answer a quiz question.
* **rock-paper-scissors:** Play Rock-Paper-Scissors. * **rock-paper-scissors:** Play Rock-Paper-Scissors.
* **roulette:** Play a game of roulette. * **roulette:** Play a game of roulette.
* **russian-roulette:** Who will pull the trigger and die first?
* **slots:** Play a game of slots. * **slots:** Play a game of slots.
* **sorting-hat:** Take a quiz to determine your Hogwarts house. * **sorting-hat:** Take a quiz to determine your Hogwarts house.
* **tic-tac-toe:** Play a game of tic-tac-toe with another user.
* **typing-test:** See how fast you can type a sentence in a given time limit. * **typing-test:** See how fast you can type a sentence in a given time limit.
* **whos-that-pokemon:** Guess who that Pokémon is. * **whos-that-pokemon:** Guess who that Pokémon is
### Multi-Player Games
* **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.
* **emoji-emoji-revolution:** Can you type arrow emoji faster than anyone else has ever typed them before?
* **gunfight:** Engage in a western gunfight against another user. High noon.
* **quiz-duel:** Answer a series of quiz questions against an opponent.
* **russian-roulette:** Who will pull the trigger and die first?
* **tic-tac-toe:** Play a game of tic-tac-toe with another user.
* **word-chain:** Try to come up with words that start with the last letter of your opponent's word. * **word-chain:** Try to come up with words that start with the last letter of your opponent's word.
### Image Manipulation: ### Image Manipulation:
+2 -1
View File
@@ -23,7 +23,8 @@ client.registry
['events', 'Events'], ['events', 'Events'],
['search', 'Search'], ['search', 'Search'],
['analyze', 'Analyzers'], ['analyze', 'Analyzers'],
['games', 'Games'], ['sp-games', 'Single-Player Games'],
['mp-games', 'Multi-Player Games'],
['image-edit', 'Image Manipulation'], ['image-edit', 'Image Manipulation'],
['avatar-edit', 'Avatar Manipulation'], ['avatar-edit', 'Avatar Manipulation'],
['text-edit', 'Text Manipulation'], ['text-edit', 'Text Manipulation'],
@@ -5,7 +5,7 @@ module.exports = class BalloonPopCommand extends Command {
constructor(client) { constructor(client) {
super(client, { super(client, {
name: 'balloon-pop', name: 'balloon-pop',
group: 'games', group: 'mp-games',
memberName: 'balloon-pop', memberName: 'balloon-pop',
description: 'Don\'t let yourself be the last one to pump the balloon before it pops!', description: 'Don\'t let yourself be the last one to pump the balloon before it pops!',
credit: [ credit: [
@@ -7,7 +7,7 @@ module.exports = class BattleCommand extends Command {
super(client, { super(client, {
name: 'battle', name: 'battle',
aliases: ['fight', 'death-battle'], aliases: ['fight', 'death-battle'],
group: 'games', group: 'mp-games',
memberName: 'battle', memberName: 'battle',
description: 'Engage in a turn-based battle against another user or the AI.', description: 'Engage in a turn-based battle against another user or the AI.',
args: [ args: [
@@ -8,7 +8,7 @@ module.exports = class EmojiEmojiRevolutionCommand extends Command {
super(client, { super(client, {
name: 'emoji-emoji-revolution', name: 'emoji-emoji-revolution',
aliases: ['eer'], aliases: ['eer'],
group: 'games', group: 'mp-games',
memberName: 'emoji-emoji-revolution', memberName: 'emoji-emoji-revolution',
description: 'Can you type arrow emoji faster than anyone else has ever typed them before?', description: 'Can you type arrow emoji faster than anyone else has ever typed them before?',
guildOnly: true, guildOnly: true,
@@ -7,7 +7,7 @@ module.exports = class GunfightCommand extends Command {
super(client, { super(client, {
name: 'gunfight', name: 'gunfight',
aliases: ['western-gunfight'], aliases: ['western-gunfight'],
group: 'games', group: 'mp-games',
memberName: 'gunfight', memberName: 'gunfight',
description: 'Engage in a western gunfight against another user. High noon.', description: 'Engage in a western gunfight against another user. High noon.',
guildOnly: true, guildOnly: true,
@@ -9,7 +9,7 @@ module.exports = class QuizDuelCommand extends Command {
super(client, { super(client, {
name: 'quiz-duel', name: 'quiz-duel',
aliases: ['trivia-duel'], aliases: ['trivia-duel'],
group: 'games', group: 'mp-games',
memberName: 'quiz-duel', memberName: 'quiz-duel',
description: 'Answer a series of quiz questions against an opponent.', description: 'Answer a series of quiz questions against an opponent.',
credit: [ credit: [
@@ -7,7 +7,7 @@ module.exports = class RussianRouletteCommand extends Command {
super(client, { super(client, {
name: 'russian-roulette', name: 'russian-roulette',
aliases: ['r-roulette', 'russia-gun'], aliases: ['r-roulette', 'russia-gun'],
group: 'games', group: 'mp-games',
memberName: 'russian-roulette', memberName: 'russian-roulette',
description: 'Who will pull the trigger and die first?', description: 'Who will pull the trigger and die first?',
args: [ args: [
@@ -6,7 +6,7 @@ module.exports = class TicTacToeCommand extends Command {
constructor(client) { constructor(client) {
super(client, { super(client, {
name: 'tic-tac-toe', name: 'tic-tac-toe',
group: 'games', group: 'mp-games',
memberName: 'tic-tac-toe', memberName: 'tic-tac-toe',
description: 'Play a game of tic-tac-toe with another user.', description: 'Play a game of tic-tac-toe with another user.',
guildOnly: true, guildOnly: true,
@@ -9,7 +9,7 @@ module.exports = class WordChainCommand extends Command {
constructor(client) { constructor(client) {
super(client, { super(client, {
name: 'word-chain', name: 'word-chain',
group: 'games', group: 'mp-games',
memberName: 'word-chain', memberName: 'word-chain',
description: 'Try to come up with words that start with the last letter of your opponent\'s word.', description: 'Try to come up with words that start with the last letter of your opponent\'s word.',
guildOnly: true, guildOnly: true,
@@ -9,7 +9,7 @@ module.exports = class BlackjackCommand extends Command {
super(client, { super(client, {
name: 'blackjack', name: 'blackjack',
aliases: ['twenty-one', '21', 'bj'], aliases: ['twenty-one', '21', 'bj'],
group: 'games', group: 'sp-games',
memberName: 'blackjack', memberName: 'blackjack',
description: 'Play a game of blackjack.', description: 'Play a game of blackjack.',
args: [ args: [
@@ -8,7 +8,7 @@ module.exports = class BoxChoosingCommand extends Command {
super(client, { super(client, {
name: 'box-choosing', name: 'box-choosing',
aliases: ['box-choose'], aliases: ['box-choose'],
group: 'games', group: 'sp-games',
memberName: 'box-choosing', memberName: 'box-choosing',
description: 'Do you believe that there are choices in life? Taken from Higurashi Chapter 4.', description: 'Do you believe that there are choices in life? Taken from Higurashi Chapter 4.',
credit: [ credit: [
@@ -9,7 +9,7 @@ module.exports = class CaptchaCommand extends Command {
super(client, { super(client, {
name: 'captcha', name: 'captcha',
aliases: ['captcha-quiz'], aliases: ['captcha-quiz'],
group: 'games', group: 'sp-games',
memberName: 'captcha', memberName: 'captcha',
description: 'Try to guess what the captcha says.', description: 'Try to guess what the captcha says.',
throttling: { throttling: {
@@ -5,7 +5,7 @@ module.exports = class ChanceCommand extends Command {
super(client, { super(client, {
name: 'chance', name: 'chance',
aliases: ['1-in', 'one-in'], aliases: ['1-in', 'one-in'],
group: 'games', group: 'sp-games',
memberName: 'chance', memberName: 'chance',
description: 'Attempt to win with a 1 in 1000 (or your choice) chance of winning.', description: 'Attempt to win with a 1 in 1000 (or your choice) chance of winning.',
args: [ args: [
@@ -8,7 +8,7 @@ module.exports = class DoorsCommand extends Command {
super(client, { super(client, {
name: 'doors', name: 'doors',
aliases: ['door', 'door-opening', 'open-door', 'monty-hall'], aliases: ['door', 'door-opening', 'open-door', 'monty-hall'],
group: 'games', group: 'sp-games',
memberName: 'doors', memberName: 'doors',
description: 'Open the right door, and you win the money! Make the wrong choice, and you get the fire!', description: 'Open the right door, and you win the money! Make the wrong choice, and you get the fire!',
args: [ args: [
@@ -7,7 +7,7 @@ module.exports = class FishyCommand extends Command {
super(client, { super(client, {
name: 'fishy', name: 'fishy',
aliases: ['fishing'], aliases: ['fishing'],
group: 'games', group: 'sp-games',
memberName: 'fishy', memberName: 'fishy',
description: 'Go fishing.' description: 'Go fishing.'
}); });
@@ -7,7 +7,7 @@ module.exports = class GoogleFeudCommand extends Command {
constructor(client) { constructor(client) {
super(client, { super(client, {
name: 'google-feud', name: 'google-feud',
group: 'games', group: 'sp-games',
memberName: 'google-feud', memberName: 'google-feud',
description: 'Attempt to determine the top suggestions for a Google search.', description: 'Attempt to determine the top suggestions for a Google search.',
credit: [ credit: [
@@ -6,7 +6,7 @@ module.exports = class HangmanCommand extends Command {
constructor(client) { constructor(client) {
super(client, { super(client, {
name: 'hangman', name: 'hangman',
group: 'games', group: 'sp-games',
memberName: 'hangman', memberName: 'hangman',
description: 'Prevent a man from being hanged by guessing a word as fast as you can.', description: 'Prevent a man from being hanged by guessing a word as fast as you can.',
credit: [ credit: [
@@ -8,7 +8,7 @@ module.exports = class HungerGamesCommand extends Command {
super(client, { super(client, {
name: 'hunger-games', name: 'hunger-games',
aliases: ['hunger-games-simulator', 'hunger-games-sim'], aliases: ['hunger-games-simulator', 'hunger-games-sim'],
group: 'games', group: 'sp-games',
memberName: 'hunger-games', memberName: 'hunger-games',
description: 'Simulate a Hunger Games match with up to 24 tributes.', description: 'Simulate a Hunger Games match with up to 24 tributes.',
credit: [ credit: [
@@ -7,7 +7,7 @@ module.exports = class LotteryCommand extends Command {
super(client, { super(client, {
name: 'lottery', name: 'lottery',
aliases: ['lotto'], aliases: ['lotto'],
group: 'games', group: 'sp-games',
memberName: 'lottery', memberName: 'lottery',
description: 'Attempt to win the lottery with 6 numbers.', description: 'Attempt to win the lottery with 6 numbers.',
args: [ args: [
@@ -15,7 +15,7 @@ module.exports = class MathQuizCommand extends Command {
constructor(client) { constructor(client) {
super(client, { super(client, {
name: 'math-quiz', name: 'math-quiz',
group: 'games', group: 'sp-games',
memberName: 'math-quiz', memberName: 'math-quiz',
description: 'See how fast you can answer a math problem in a given time limit.', description: 'See how fast you can answer a math problem in a given time limit.',
details: `**Difficulties:** ${difficulties.join(', ')}`, details: `**Difficulties:** ${difficulties.join(', ')}`,
@@ -11,7 +11,7 @@ module.exports = class QuizCommand extends Command {
super(client, { super(client, {
name: 'quiz', name: 'quiz',
aliases: ['trivia'], aliases: ['trivia'],
group: 'games', group: 'sp-games',
memberName: 'quiz', memberName: 'quiz',
description: 'Answer a quiz question.', description: 'Answer a quiz question.',
details: stripIndents` details: stripIndents`
@@ -6,7 +6,7 @@ module.exports = class RockPaperScissorsCommand extends Command {
super(client, { super(client, {
name: 'rock-paper-scissors', name: 'rock-paper-scissors',
aliases: ['rps'], aliases: ['rps'],
group: 'games', group: 'sp-games',
memberName: 'rock-paper-scissors', memberName: 'rock-paper-scissors',
description: 'Play Rock-Paper-Scissors.', description: 'Play Rock-Paper-Scissors.',
args: [ args: [
@@ -13,7 +13,7 @@ module.exports = class RouletteCommand extends Command {
constructor(client) { constructor(client) {
super(client, { super(client, {
name: 'roulette', name: 'roulette',
group: 'games', group: 'sp-games',
memberName: 'roulette', memberName: 'roulette',
description: 'Play a game of roulette.', description: 'Play a game of roulette.',
args: [ args: [
@@ -6,7 +6,7 @@ module.exports = class SlotsCommand extends Command {
constructor(client) { constructor(client) {
super(client, { super(client, {
name: 'slots', name: 'slots',
group: 'games', group: 'sp-games',
memberName: 'slots', memberName: 'slots',
description: 'Play a game of slots.' description: 'Play a game of slots.'
}); });
@@ -9,7 +9,7 @@ module.exports = class SortingHatCommand extends Command {
super(client, { super(client, {
name: 'sorting-hat', name: 'sorting-hat',
aliases: ['sorting-hat-quiz', 'hogwarts', 'hogwarts-house'], aliases: ['sorting-hat-quiz', 'hogwarts', 'hogwarts-house'],
group: 'games', group: 'sp-games',
memberName: 'sorting-hat', memberName: 'sorting-hat',
description: 'Take a quiz to determine your Hogwarts house.', description: 'Take a quiz to determine your Hogwarts house.',
credit: [ credit: [
@@ -15,7 +15,7 @@ module.exports = class TypingTestCommand extends Command {
constructor(client) { constructor(client) {
super(client, { super(client, {
name: 'typing-test', name: 'typing-test',
group: 'games', group: 'sp-games',
memberName: 'typing-test', memberName: 'typing-test',
description: 'See how fast you can type a sentence in a given time limit.', description: 'See how fast you can type a sentence in a given time limit.',
details: `**Difficulties:** ${difficulties.join(', ')}`, details: `**Difficulties:** ${difficulties.join(', ')}`,
@@ -8,7 +8,7 @@ module.exports = class WhosThatPokemonCommand extends Command {
super(client, { super(client, {
name: 'whos-that-pokemon', name: 'whos-that-pokemon',
aliases: ['who-pokemon', 'whos-that-pokémon', 'who-pokémon'], aliases: ['who-pokemon', 'whos-that-pokémon', 'who-pokémon'],
group: 'games', group: 'sp-games',
memberName: 'whos-that-pokemon', memberName: 'whos-that-pokemon',
description: 'Guess who that Pokémon is.', description: 'Guess who that Pokémon is.',
throttling: { throttling: {
+2 -2
View File
@@ -1,6 +1,6 @@
{ {
"name": "xiao", "name": "xiao",
"version": "109.0.2", "version": "109.0.3",
"description": "Your personal server companion.", "description": "Your personal server companion.",
"main": "Xiao.js", "main": "Xiao.js",
"scripts": { "scripts": {
@@ -52,7 +52,7 @@
"devDependencies": { "devDependencies": {
"eslint": "^5.16.0", "eslint": "^5.16.0",
"eslint-config-amber": "^2.0.0", "eslint-config-amber": "^2.0.0",
"eslint-plugin-json": "^1.4.0" "eslint-plugin-json": "^2.0.1"
}, },
"eslintConfig": { "eslintConfig": {
"extends": "amber", "extends": "amber",