mirror of
https://github.com/arthur-pbty/xiao.git
synced 2026-06-19 21:40:51 +02:00
+32
-32
@@ -1,34 +1,34 @@
|
|||||||
[
|
[
|
||||||
"aud",
|
"AUD",
|
||||||
"usd",
|
"USD",
|
||||||
"bgn",
|
"BGN",
|
||||||
"brl",
|
"BRL",
|
||||||
"cad",
|
"CAD",
|
||||||
"chf",
|
"CHF",
|
||||||
"cny",
|
"CNY",
|
||||||
"czk",
|
"CZK",
|
||||||
"dkk",
|
"DKK",
|
||||||
"gbp",
|
"GBP",
|
||||||
"hkd",
|
"HKD",
|
||||||
"hrk",
|
"HRK",
|
||||||
"huf",
|
"HUF",
|
||||||
"idr",
|
"IDR",
|
||||||
"ils",
|
"ILS",
|
||||||
"inr",
|
"INR",
|
||||||
"jpy",
|
"JPY",
|
||||||
"krw",
|
"KRW",
|
||||||
"mxn",
|
"MXN",
|
||||||
"myr",
|
"MYR",
|
||||||
"nok",
|
"NOK",
|
||||||
"nzd",
|
"NZD",
|
||||||
"php",
|
"PHP",
|
||||||
"pln",
|
"PLN",
|
||||||
"ron",
|
"RON",
|
||||||
"rub",
|
"RUB",
|
||||||
"sek",
|
"SEK",
|
||||||
"sgd",
|
"SGD",
|
||||||
"thb",
|
"THB",
|
||||||
"try",
|
"TRY",
|
||||||
"zar",
|
"ZAR",
|
||||||
"eur"
|
"EUR"
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -22,8 +22,12 @@ module.exports = class HatCommand extends Command {
|
|||||||
{
|
{
|
||||||
key: 'type',
|
key: 'type',
|
||||||
prompt: `What type of hat would you like to use? Either ${list(hats, 'or')}.`,
|
prompt: `What type of hat would you like to use? Either ${list(hats, 'or')}.`,
|
||||||
type: 'choice',
|
type: 'string',
|
||||||
choices: hats
|
validate: type => {
|
||||||
|
if (hats.includes(type.toLowerCase())) return true;
|
||||||
|
return `Invalid type, please enter either ${list(hats, 'or')}.`;
|
||||||
|
},
|
||||||
|
parse: type => type.toLowerCase()
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'user',
|
key: 'user',
|
||||||
|
|||||||
@@ -17,8 +17,12 @@ module.exports = class HoroscopeCommand extends Command {
|
|||||||
{
|
{
|
||||||
key: 'sign',
|
key: 'sign',
|
||||||
prompt: `Which sign would you like to get the horoscope for? Either ${list(signs, 'or')}.`,
|
prompt: `Which sign would you like to get the horoscope for? Either ${list(signs, 'or')}.`,
|
||||||
type: 'choice',
|
type: 'string',
|
||||||
choices: signs
|
validate: sign => {
|
||||||
|
if (signs.includes(sign.toLowerCase())) return true;
|
||||||
|
return `Invalid sign, please enter either ${list(signs, 'or')}.`;
|
||||||
|
},
|
||||||
|
parse: sign => sign.toLowerCase()
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -24,8 +24,12 @@ module.exports = class MathQuizCommand extends Command {
|
|||||||
{
|
{
|
||||||
key: 'difficulty',
|
key: 'difficulty',
|
||||||
prompt: `What should the difficulty of the game be? Either ${list(difficulties, 'or')}.`,
|
prompt: `What should the difficulty of the game be? Either ${list(difficulties, 'or')}.`,
|
||||||
type: 'choice',
|
type: 'string',
|
||||||
choices: difficulties
|
validate: difficulty => {
|
||||||
|
if (difficulties.includes(difficulty.toLowerCase())) return true;
|
||||||
|
return `Invalid difficulty, please enter either ${list(difficulties, 'or')}.`;
|
||||||
|
},
|
||||||
|
parse: difficulty => difficulty.toLowerCase()
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|||||||
+12
-4
@@ -22,16 +22,24 @@ module.exports = class QuizCommand extends Command {
|
|||||||
{
|
{
|
||||||
key: 'type',
|
key: 'type',
|
||||||
prompt: `Which type of question would you like to have? Either ${list(types, 'or')}.`,
|
prompt: `Which type of question would you like to have? Either ${list(types, 'or')}.`,
|
||||||
type: 'choice',
|
type: 'string',
|
||||||
default: 'multiple',
|
default: 'multiple',
|
||||||
choices: types
|
validate: type => {
|
||||||
|
if (types.includes(type.toLowerCase())) return true;
|
||||||
|
return `Invalid type, please enter either ${list(types, 'or')}.`;
|
||||||
|
},
|
||||||
|
parse: type => type.toLowerCase()
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'difficulty',
|
key: 'difficulty',
|
||||||
prompt: `What should the difficulty of the game be? Either ${list(difficulties, 'or')}.`,
|
prompt: `What should the difficulty of the game be? Either ${list(difficulties, 'or')}.`,
|
||||||
type: 'choice',
|
type: 'string',
|
||||||
default: '',
|
default: '',
|
||||||
choices: difficulties
|
validate: difficulty => {
|
||||||
|
if (difficulties.includes(difficulty.toLowerCase())) return true;
|
||||||
|
return `Invalid difficulty, please enter either ${list(difficulties, 'or')}.`;
|
||||||
|
},
|
||||||
|
parse: difficulty => difficulty.toLowerCase()
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ module.exports = class RockPaperScissorsCommand extends Command {
|
|||||||
{
|
{
|
||||||
key: 'choice',
|
key: 'choice',
|
||||||
prompt: 'Rock, Paper, or Scissors?',
|
prompt: 'Rock, Paper, or Scissors?',
|
||||||
type: 'choice',
|
type: 'string',
|
||||||
choices
|
parse: choice => choice.toLowerCase()
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -24,8 +24,12 @@ module.exports = class TypingTestCommand extends Command {
|
|||||||
{
|
{
|
||||||
key: 'difficulty',
|
key: 'difficulty',
|
||||||
prompt: `What should the difficulty of the game be? Either ${list(difficulties, 'or')}.`,
|
prompt: `What should the difficulty of the game be? Either ${list(difficulties, 'or')}.`,
|
||||||
type: 'choice',
|
type: 'string',
|
||||||
choices: difficulties
|
validate: difficulty => {
|
||||||
|
if (difficulties.includes(difficulty.toLowerCase())) return true;
|
||||||
|
return `Invalid difficulty, please enter either ${list(difficulties, 'or')}.`;
|
||||||
|
},
|
||||||
|
parse: difficulty => difficulty.toLowerCase()
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ module.exports = class ChannelInfoCommand extends Command {
|
|||||||
const embed = new MessageEmbed()
|
const embed = new MessageEmbed()
|
||||||
.setColor(0x00AE86)
|
.setColor(0x00AE86)
|
||||||
.addField('❯ Name',
|
.addField('❯ Name',
|
||||||
channel.type !== 'dm' ? channel.name : `@${channel.recipient.username}`, true)
|
channel.name || 'None', true)
|
||||||
.addField('❯ ID',
|
.addField('❯ ID',
|
||||||
channel.id, true)
|
channel.id, true)
|
||||||
.addField('❯ NSFW',
|
.addField('❯ NSFW',
|
||||||
|
|||||||
@@ -15,9 +15,13 @@ module.exports = class EmojiListCommand extends Command {
|
|||||||
{
|
{
|
||||||
key: 'type',
|
key: 'type',
|
||||||
prompt: `What type of emoji would you like to view? Either ${list(types, 'or')}.`,
|
prompt: `What type of emoji would you like to view? Either ${list(types, 'or')}.`,
|
||||||
type: 'choice',
|
type: 'string',
|
||||||
default: 'regular',
|
default: 'regular',
|
||||||
choices: types
|
validate: type => {
|
||||||
|
if (types.includes(type.toLowerCase())) return true;
|
||||||
|
return `Invalid type, please enter either ${list(types, 'or')}.`;
|
||||||
|
},
|
||||||
|
parse: type => type.toLowerCase()
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -16,14 +16,22 @@ module.exports = class CurrencyCommand extends Command {
|
|||||||
{
|
{
|
||||||
key: 'base',
|
key: 'base',
|
||||||
prompt: `What currency code do you want to use as the base? Either ${list(codes, 'or')}.`,
|
prompt: `What currency code do you want to use as the base? Either ${list(codes, 'or')}.`,
|
||||||
type: 'choice',
|
type: 'string',
|
||||||
choices: codes
|
validate: base => {
|
||||||
|
if (codes.includes(base.toUpperCase())) return true;
|
||||||
|
return `Invalid base, please enter either ${list(codes, 'or')}.`;
|
||||||
|
},
|
||||||
|
parse: base => base.toUpperCase()
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'target',
|
key: 'target',
|
||||||
prompt: `What currency code do you want to convert to? Either ${list(codes, 'or')}.`,
|
prompt: `What currency code do you want to convert to? Either ${list(codes, 'or')}.`,
|
||||||
type: 'choice',
|
type: 'string',
|
||||||
choices: codes
|
validate: target => {
|
||||||
|
if (codes.includes(target.toUpperCase())) return true;
|
||||||
|
return `Invalid target, please enter either ${list(codes, 'or')}.`;
|
||||||
|
},
|
||||||
|
parse: target => target.toUpperCase()
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'amount',
|
key: 'amount',
|
||||||
|
|||||||
@@ -15,9 +15,13 @@ module.exports = class NameCommand extends Command {
|
|||||||
{
|
{
|
||||||
key: 'gender',
|
key: 'gender',
|
||||||
prompt: `Which gender do you want to generate a name for? Either ${list(genders, 'or')}.`,
|
prompt: `Which gender do you want to generate a name for? Either ${list(genders, 'or')}.`,
|
||||||
type: 'choice',
|
type: 'string',
|
||||||
default: 'both',
|
default: 'both',
|
||||||
choices: genders
|
validate: gender => {
|
||||||
|
if (genders.includes(gender.toLowerCase())) return true;
|
||||||
|
return `Invalid gender, please enter either ${list(genders, 'or')}.`;
|
||||||
|
},
|
||||||
|
parse: gender => gender.toLowerCase()
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -16,8 +16,12 @@ module.exports = class DeviantartCommand extends Command {
|
|||||||
{
|
{
|
||||||
key: 'section',
|
key: 'section',
|
||||||
prompt: `What section would you like to search? Either ${list(sections, 'or')}.`,
|
prompt: `What section would you like to search? Either ${list(sections, 'or')}.`,
|
||||||
type: 'choice',
|
type: 'string',
|
||||||
choices: sections
|
validate: section => {
|
||||||
|
if (sections.includes(section.toLowerCase())) return true;
|
||||||
|
return `Invalid section, please enter either ${list(sections, 'or')}.`;
|
||||||
|
},
|
||||||
|
parse: section => section.toLowerCase()
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'query',
|
key: 'query',
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
const { Command } = require('discord.js-commando');
|
const { Command } = require('discord.js-commando');
|
||||||
const { MessageEmbed } = require('discord.js');
|
const { MessageEmbed } = require('discord.js');
|
||||||
const snekfetch = require('snekfetch');
|
const snekfetch = require('snekfetch');
|
||||||
const { shorten } = require('../../util/Util');
|
const { shorten, list } = require('../../util/Util');
|
||||||
const types = ['random', 'top'];
|
const types = ['random', 'top'];
|
||||||
|
|
||||||
module.exports = class UrbanDictionaryCommand extends Command {
|
module.exports = class UrbanDictionaryCommand extends Command {
|
||||||
@@ -23,9 +23,13 @@ module.exports = class UrbanDictionaryCommand extends Command {
|
|||||||
{
|
{
|
||||||
key: 'type',
|
key: 'type',
|
||||||
prompt: 'Do you want to get the top answer or a random one?',
|
prompt: 'Do you want to get the top answer or a random one?',
|
||||||
type: 'choice',
|
type: 'string',
|
||||||
default: 'top',
|
default: 'top',
|
||||||
choices: types
|
validate: type => {
|
||||||
|
if (types.includes(type.toLowerCase())) return true;
|
||||||
|
return `Invalid type, please enter either ${list(types, 'or')}.`;
|
||||||
|
},
|
||||||
|
parse: type => type.toLowerCase()
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -15,8 +15,12 @@ module.exports = class Base64Command extends Command {
|
|||||||
{
|
{
|
||||||
key: 'mode',
|
key: 'mode',
|
||||||
prompt: `Would you like to ${list(modes, 'or')}?`,
|
prompt: `Would you like to ${list(modes, 'or')}?`,
|
||||||
type: 'choice',
|
type: 'string',
|
||||||
choices: modes
|
validate: mode => {
|
||||||
|
if (modes.includes(mode.toLowerCase())) return true;
|
||||||
|
return `Invalid mode, please enter either ${list(modes, 'or')}.`;
|
||||||
|
},
|
||||||
|
parse: mode => mode.toLowerCase()
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'text',
|
key: 'text',
|
||||||
|
|||||||
@@ -14,8 +14,12 @@ module.exports = class BinaryCommand extends Command {
|
|||||||
{
|
{
|
||||||
key: 'mode',
|
key: 'mode',
|
||||||
prompt: `Would you like to ${list(modes, 'or')}?`,
|
prompt: `Would you like to ${list(modes, 'or')}?`,
|
||||||
type: 'choice',
|
type: 'string',
|
||||||
choices: modes
|
validate: mode => {
|
||||||
|
if (modes.includes(mode.toLowerCase())) return true;
|
||||||
|
return `Invalid mode, please enter either ${list(modes, 'or')}.`;
|
||||||
|
},
|
||||||
|
parse: mode => mode.toLowerCase()
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'text',
|
key: 'text',
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "xiao",
|
"name": "xiao",
|
||||||
"version": "69.0.1",
|
"version": "69.0.0",
|
||||||
"description": "Your personal server companion.",
|
"description": "Your personal server companion.",
|
||||||
"main": "Xiao.js",
|
"main": "Xiao.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -1,19 +0,0 @@
|
|||||||
const { ArgumentType } = require('discord.js-commando');
|
|
||||||
const { list } = require('../util/Util');
|
|
||||||
|
|
||||||
class ChoiceArgumentType extends ArgumentType {
|
|
||||||
constructor(client) {
|
|
||||||
super(client, 'choice');
|
|
||||||
}
|
|
||||||
|
|
||||||
validate(value, msg, arg) {
|
|
||||||
if (arg.choices.includes(value.toLowerCase())) return true;
|
|
||||||
return `Invalid ${arg.label}, please enter either ${list(arg.choices, 'or')}.`;
|
|
||||||
}
|
|
||||||
|
|
||||||
parse(value) {
|
|
||||||
return value.toLowerCase();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = ChoiceArgumentType;
|
|
||||||
Reference in New Issue
Block a user