40 | async run(msg, { system, query }) { |
41 | try { |
42 | const id = await this.search(system, query); |
43 | if (!id) return msg.say('Could not find any results.'); |
44 | const data = await this.fetchGame(id); |
45 | const embed = new MessageEmbed() |
46 | .setColor(0xFF7D01) |
47 | .setAuthor( |
48 | `Nintendo eShop (${system})`, |
49 | 'https://i.imgur.com/lMh73lz.png', |
50 | 'https://www.nintendo.com/games/buy-digital' |
51 | ) |
52 | .setURL(data.microsite_ref ? data.microsite_ref.microsite.url : null) |
53 | .setThumbnail(data.front_box_art.image.image.url) |
54 | .setTitle(data.title) |
55 | .addField('❯ Price', data.eshop_price |
56 | ? data.eshop_price === '0.00' ? 'Free!' : `$${data.eshop_price}` |
57 | : '???', true) |
58 | .addField('❯ Category', data.game_category_ref |
59 | ? data.game_category_ref.length ? data.game_category_ref[0].title : data.game_category_ref.title |
60 | : '???', true) |
61 | .addField('❯ Release Date', |
62 | data.release_date ? moment.utc(data.release_date).format('MM/DD/YYYY') : '???', true) |
63 | .addField('❯ Player Count', data.number_of_players || '???', true) |
64 | .addField('❯ DLC?', data.dlc === 'true' ? 'Yes' : 'No', true) |
65 | .addField('❯ Demo?', data.demo === 'true' ? 'Yes' : 'No', true) |
66 | .addField('❯ Developer', data.developer_ref ? data.developer_ref.title : '???', true) |
67 | .addField('❯ Publisher', data.publisher_ref ? data.publisher_ref.title : '???', true); |
68 | return msg.embed(embed); |
69 | } catch (err) { |
70 | return msg.reply(`Oh no, an error occurred: \`${err.message}\`. Try again later!`); |
71 | } |
72 | } |