mirror of
https://github.com/arthur-pbty/xiao.git
synced 2026-06-03 23:36:43 +02:00
Support More Pokemon
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
const Command = require('../../structures/Command');
|
||||
const { reactIfAble } = require('../../util/Util');
|
||||
const pokemonCount = 893;
|
||||
|
||||
module.exports = class WhosThatPokemonCryCommand extends Command {
|
||||
constructor(client) {
|
||||
@@ -70,9 +69,9 @@ module.exports = class WhosThatPokemonCryCommand extends Command {
|
||||
key: 'pokemon',
|
||||
prompt: 'What Pokémon do you want to use?',
|
||||
type: 'integer',
|
||||
max: pokemonCount,
|
||||
max: client.pokemon.pokemonCountWithCry,
|
||||
min: 0,
|
||||
default: () => Math.floor(Math.random() * (pokemonCount + 1))
|
||||
default: () => Math.floor(Math.random() * (client.pokemon.pokemonCountWithCry + 1))
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
@@ -5,7 +5,6 @@ const { reactIfAble } = require('../../util/Util');
|
||||
const { silhouette } = require('../../util/Canvas');
|
||||
const path = require('path');
|
||||
registerFont(path.join(__dirname, '..', '..', 'assets', 'fonts', 'Pokemon Solid.ttf'), { family: 'Pokemon' });
|
||||
const pokemonCount = 893;
|
||||
|
||||
module.exports = class WhosThatPokemonCommand extends Command {
|
||||
constructor(client) {
|
||||
@@ -73,9 +72,9 @@ module.exports = class WhosThatPokemonCommand extends Command {
|
||||
key: 'pokemon',
|
||||
prompt: 'What Pokémon do you want to use?',
|
||||
type: 'integer',
|
||||
max: pokemonCount,
|
||||
max: client.pokemon.pokemonCount,
|
||||
min: 0,
|
||||
default: () => Math.floor(Math.random() * (pokemonCount + 1))
|
||||
default: () => Math.floor(Math.random() * (client.pokemon.pokemonCount + 1))
|
||||
}
|
||||
]
|
||||
});
|
||||
@@ -100,10 +99,9 @@ module.exports = class WhosThatPokemonCommand extends Command {
|
||||
max: 1,
|
||||
time: 15000
|
||||
});
|
||||
if (connection) {
|
||||
if (connection && data.cry) {
|
||||
if (connection.dispatcher) connection.dispatcher.end();
|
||||
connection.play(data.cry);
|
||||
await reactIfAble(msg, this.client.user, '🔉');
|
||||
}
|
||||
this.client.games.delete(msg.channel.id);
|
||||
if (!msgs.size) return msg.reply(`Time! It's **${data.name}**!`, { files: [answerAttachment] });
|
||||
|
||||
@@ -88,13 +88,15 @@ module.exports = class PokedexCommand extends Command {
|
||||
if (found.id === data.id) return `**${found.name}**`;
|
||||
return found.name;
|
||||
}).join(' -> '));
|
||||
const connection = msg.guild ? this.client.voice.connections.get(msg.guild.id) : null;
|
||||
if (connection) {
|
||||
connection.play(data.cry);
|
||||
await reactIfAble(msg, this.client.user, '🔉');
|
||||
} else {
|
||||
const usage = this.client.registry.commands.get('join').usage();
|
||||
embed.setFooter(`Join a voice channel and use ${usage} to hear the Pokémon's cry.`);
|
||||
if (data.cry) {
|
||||
const connection = msg.guild ? this.client.voice.connections.get(msg.guild.id) : null;
|
||||
if (connection) {
|
||||
connection.play(data.cry);
|
||||
await reactIfAble(msg, this.client.user, '🔉');
|
||||
} else {
|
||||
const usage = this.client.registry.commands.get('join').usage();
|
||||
embed.setFooter(`Join a voice channel and use ${usage} to hear the Pokémon's cry.`);
|
||||
}
|
||||
}
|
||||
return msg.embed(embed);
|
||||
} catch (err) {
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "xiao",
|
||||
"version": "121.2.1",
|
||||
"version": "121.2.2",
|
||||
"description": "Your personal server companion.",
|
||||
"main": "Xiao.js",
|
||||
"scripts": {
|
||||
|
||||
@@ -19,7 +19,7 @@ module.exports = class Pokemon {
|
||||
: [{ name: slugName, language: 'en' }];
|
||||
this.genus = data.genera.length
|
||||
? `The ${data.genera.filter(entry => entry.language.name === 'en')[0].genus}`
|
||||
: 'Galar Native';
|
||||
: 'Undiscovered Pokémon';
|
||||
this.varieties = data.varieties.map(variety => {
|
||||
const name = firstUpperCase(variety.pokemon.name
|
||||
.replace(new RegExp(`${this.slug}-?`, 'i'), '')
|
||||
@@ -38,7 +38,9 @@ module.exports = class Pokemon {
|
||||
};
|
||||
this.typesCached = data.missingno || false;
|
||||
this.missingno = data.missingno || false;
|
||||
this.cry = path.join(__dirname, '..', '..', 'assets', 'sounds', 'pokedex', `${data.id}.wav`);
|
||||
this.cry = data.id > store.pokemonCountWithCry
|
||||
? null
|
||||
: path.join(__dirname, '..', '..', 'assets', 'sounds', 'pokedex', `${data.id}.wav`);
|
||||
}
|
||||
|
||||
get displayID() {
|
||||
|
||||
@@ -4,6 +4,13 @@ const Pokemon = require('./Pokemon');
|
||||
const missingno = require('../../assets/json/missingno');
|
||||
|
||||
module.exports = class PokemonStore extends Collection {
|
||||
constructor(options) {
|
||||
super(options);
|
||||
|
||||
this.pokemonCount = 897;
|
||||
this.pokemonCountWithCry = 893;
|
||||
}
|
||||
|
||||
async fetch(query) {
|
||||
query = this.makeSlug(query);
|
||||
if (!query) return null;
|
||||
|
||||
Reference in New Issue
Block a user