This commit is contained in:
Dragon Fire
2024-04-03 18:11:55 -04:00
parent 60a5d7d23d
commit d941950f57
2 changed files with 35 additions and 30 deletions
+1 -1
View File
@@ -52,6 +52,7 @@ module.exports = class MagicCommand extends Command {
async run(msg, { query }) {
const card = query ? await this.search(query) : await this.random();
if (!card) return msg.say('Could not find any results.');
const isMDFC = Boolean(card.card_faces);
const oracleText = isMDFC ? card.card_faces.map(c => c.oracle_text).join('\n\n//\n\n') : card.oracle_text;
const manaCost = isMDFC ? card.card_faces.map(c => c.mana_cost).join(' // ') : card.mana_cost;
@@ -75,7 +76,6 @@ module.exports = class MagicCommand extends Command {
const { body } = await request
.get('https://api.scryfall.com/cards/search')
.query({ q: `${query}${isFunny ? ' is:funny' : ''}` });
if (!body.data || !body.data.length || body.status === 404) return null;
return body.data[0];
} catch (err) {
if (err.status === 404) return null;
+34 -29
View File
@@ -37,35 +37,40 @@ module.exports = class YuGiOhCommand extends Command {
}
async run(msg, { card }) {
const { body } = await request
.get('https://db.ygoprodeck.com/api/v7/cardinfo.php')
.query({
fname: card,
la: 'english'
});
const data = body.data[0];
const embed = new MessageEmbed()
.setColor(0xBE5F1F)
.setTitle(data.name)
.setURL(`https://db.ygoprodeck.com/card/?search=${data.id}`)
.setDescription(data.type === 'Normal Monster' ? `_${shorten(data.desc)}_` : shorten(data.desc))
.setAuthor('Yu-Gi-Oh!', logos.yugioh, 'http://www.yugioh-card.com/')
.setThumbnail(data.card_images[0].image_url)
.setFooter(data.id.toString())
.addField(' Type', data.type, true)
.addField(data.type.includes('Monster') ? ' Race' : ' Spell Type', data.race, true);
if (data.type.includes('Monster')) {
embed
.addField(' Attribute', data.attribute, true)
.addField(' Level', data.level?.toString() || 'N/A', true)
.addField(' ATK', formatNumber(data.atk).toString(), true)
.addField(
data.type === 'Link Monster' ? ' Link Value' : ' DEF',
formatNumber(data.type === 'Link Monster' ? data.linkval : data.def).toString(),
true
);
try {
const { body } = await request
.get('https://db.ygoprodeck.com/api/v7/cardinfo.php')
.query({
fname: card,
la: 'english'
});
const data = body.data[0];
const embed = new MessageEmbed()
.setColor(0xBE5F1F)
.setTitle(data.name)
.setURL(`https://db.ygoprodeck.com/card/?search=${data.id}`)
.setDescription(data.type === 'Normal Monster' ? `_${shorten(data.desc)}_` : shorten(data.desc))
.setAuthor('Yu-Gi-Oh!', logos.yugioh, 'http://www.yugioh-card.com/')
.setThumbnail(data.card_images[0].image_url)
.setFooter(data.id.toString())
.addField(' Type', data.type, true)
.addField(data.type.includes('Monster') ? ' Race' : ' Spell Type', data.race, true);
if (data.type.includes('Monster')) {
embed
.addField(' Attribute', data.attribute, true)
.addField(' Level', data.level?.toString() || 'N/A', true)
.addField(' ATK', formatNumber(data.atk).toString(), true)
.addField(
data.type === 'Link Monster' ? ' Link Value' : ' DEF',
formatNumber(data.type === 'Link Monster' ? data.linkval : data.def).toString(),
true
);
}
embed.addField(' TCGPlayer Price', `$${data.card_prices[0].tcgplayer_price}`);
return msg.embed(embed);
} catch (err) {
if (err.status === 400) return msg.say('Could not find any results.');
throw err;
}
embed.addField(' TCGPlayer Price', `$${data.card_prices[0].tcgplayer_price}`);
return msg.embed(embed);
}
};