mirror of
https://github.com/arthur-pbty/xiao.git
synced 2026-06-26 22:32:52 +02:00
Format numbers, style changes, fixes
This commit is contained in:
@@ -2,6 +2,7 @@ const Command = require('../../structures/Command');
|
||||
const { MessageEmbed } = require('discord.js');
|
||||
const request = require('node-superfetch');
|
||||
const { stripIndents } = require('common-tags');
|
||||
const { formatNumber } = require('../../util/Util');
|
||||
|
||||
module.exports = class AzurLaneShipCommand extends Command {
|
||||
constructor(client) {
|
||||
@@ -40,16 +41,16 @@ module.exports = class AzurLaneShipCommand extends Command {
|
||||
.addField('❯ Rarity', data.rarity, true)
|
||||
.addField('❯ Nationality', data.nationality, true)
|
||||
.addField('❯ Type', data.type, true)
|
||||
.addField('❯ Health', `${data.base.health} (${data.max.health} Max)`, true)
|
||||
.addField('❯ Health', `${formatNumber(data.base.health)} (${formatNumber(data.max.health)} Max)`, true)
|
||||
.addField('❯ Armor', data.base.armor, true)
|
||||
.addField('❯ Reload', `${data.base.reload} (${data.max.reload} Max)`, true)
|
||||
.addField('❯ Firepower', `${data.base.firepower} (${data.max.firepower} Max)`, true)
|
||||
.addField('❯ Torpedo', `${data.base.torpedo} (${data.max.torpedo} Max)`, true)
|
||||
.addField('❯ Evasion', `${data.base.speed} (${data.max.speed} Max)`, true)
|
||||
.addField('❯ Anti-Air', `${data.base.anti_air} (${data.max.anti_air} Max)`, true)
|
||||
.addField('❯ Anti-Sub', `${data.base.anti_sub} (${data.max.anti_sub} Max)`, true)
|
||||
.addField('❯ Aviation', `${data.base.air_power} (${data.max.air_power} Max)`, true)
|
||||
.addField('❯ Oil Cost', `${data.base.oil_usage} (${data.max.oil_usage} Max)`, true)
|
||||
.addField('❯ Reload', `${formatNumber(data.base.reload)} (${formatNumber(data.max.reload)} Max)`, true)
|
||||
.addField('❯ Firepower', `${formatNumber(data.base.firepower)} (${formatNumber(data.max.firepower)} Max)`, true)
|
||||
.addField('❯ Torpedo', `${formatNumber(data.base.torpedo)} (${formatNumber(data.max.torpedo)} Max)`, true)
|
||||
.addField('❯ Evasion', `${formatNumber(data.base.speed)} (${formatNumber(data.max.speed)} Max)`, true)
|
||||
.addField('❯ Anti-Air', `${formatNumber(data.base.anti_air)} (${formatNumber(data.max.anti_air)} Max)`, true)
|
||||
.addField('❯ Anti-Sub', `${formatNumber(data.base.anti_sub)} (${formatNumber(data.max.anti_sub)} Max)`, true)
|
||||
.addField('❯ Aviation', `${formatNumber(data.base.air_power)} (${formatNumber(data.max.air_power)} Max)`, true)
|
||||
.addField('❯ Oil Cost', `${formatNumber(data.base.oil_usage)} (${formatNumber(data.max.oil_usage)} Max)`, true)
|
||||
.addField('❯ Equipment', stripIndents`
|
||||
${data.equipment[0].equippable} (${data.equipment[0].efficiency})
|
||||
${data.equipment[1].equippable} (${data.equipment[1].efficiency})
|
||||
|
||||
@@ -2,7 +2,7 @@ const Command = require('../../structures/Command');
|
||||
const moment = require('moment');
|
||||
const { MessageEmbed } = require('discord.js');
|
||||
const request = require('node-superfetch');
|
||||
const { shorten, base64 } = require('../../util/Util');
|
||||
const { shorten, formatNumber, base64 } = require('../../util/Util');
|
||||
const { GITHUB_USERNAME, GITHUB_PASSWORD } = process.env;
|
||||
|
||||
module.exports = class GithubCommand extends Command {
|
||||
@@ -43,9 +43,9 @@ module.exports = class GithubCommand extends Command {
|
||||
.setURL(body.html_url)
|
||||
.setDescription(body.description ? shorten(body.description) : 'No description.')
|
||||
.setThumbnail(body.owner.avatar_url)
|
||||
.addField('❯ Stars', body.stargazers_count, true)
|
||||
.addField('❯ Forks', body.forks, true)
|
||||
.addField('❯ Issues', body.open_issues, true)
|
||||
.addField('❯ Stars', formatNumber(body.stargazers_count), true)
|
||||
.addField('❯ Forks', formatNumber(body.forks), true)
|
||||
.addField('❯ Issues', formatNumber(body.open_issues), true)
|
||||
.addField('❯ Language', body.language || '???', true)
|
||||
.addField('❯ Creation Date', moment.utc(body.created_at).format('MM/DD/YYYY h:mm A'), true)
|
||||
.addField('❯ Modification Date', moment.utc(body.updated_at).format('MM/DD/YYYY h:mm A'), true);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
const Command = require('../../structures/Command');
|
||||
const { MessageEmbed } = require('discord.js');
|
||||
const request = require('node-superfetch');
|
||||
const { shorten } = require('../../util/Util');
|
||||
const { shorten, formatNumber } = require('../../util/Util');
|
||||
const { GOOGLE_KEY } = process.env;
|
||||
|
||||
module.exports = class GoogleBookCommand extends Command {
|
||||
@@ -44,7 +44,7 @@ module.exports = class GoogleBookCommand extends Command {
|
||||
.setThumbnail(data.imageLinks ? data.imageLinks.thumbnail : null)
|
||||
.addField('❯ Authors', data.authors.length ? data.authors.join(', ') : '???')
|
||||
.addField('❯ Publish Date', data.publishedDate || '???', true)
|
||||
.addField('❯ Page Count', data.pageCount || '???', true)
|
||||
.addField('❯ Page Count', data.pageCount ? formatNumber(data.pageCount) : '???', true)
|
||||
.addField('❯ Genres', data.categories.length ? data.categories.join(', ') : '???');
|
||||
return msg.embed(embed);
|
||||
} catch (err) {
|
||||
|
||||
@@ -2,7 +2,7 @@ const Command = require('../../structures/Command');
|
||||
const moment = require('moment');
|
||||
const { MessageEmbed } = require('discord.js');
|
||||
const request = require('node-superfetch');
|
||||
const { shorten } = require('../../util/Util');
|
||||
const { shorten, formatNumber } = require('../../util/Util');
|
||||
|
||||
module.exports = class KickstarterCommand extends Command {
|
||||
constructor(client) {
|
||||
@@ -40,9 +40,9 @@ module.exports = class KickstarterCommand extends Command {
|
||||
.setAuthor('Kickstarter', 'https://i.imgur.com/EHDlH5t.png', 'https://www.kickstarter.com/')
|
||||
.setDescription(shorten(data.blurb))
|
||||
.setThumbnail(data.photo ? data.photo.full : null)
|
||||
.addField('❯ Goal', `$${data.goal}`, true)
|
||||
.addField('❯ Pledged', `$${data.pledged}`, true)
|
||||
.addField('❯ Backers', data.backers_count, true)
|
||||
.addField('❯ Goal', `$${formatNumber(data.goal)}`, true)
|
||||
.addField('❯ Pledged', `$${formatNumber(data.pledged)}`, true)
|
||||
.addField('❯ Backers', formatNumber(data.backers_count), true)
|
||||
.addField('❯ Creator', data.creator.name, true)
|
||||
.addField('❯ Creation Date', moment.utc(data.created_at * 1000).format('MM/DD/YYYY h:mm A'), true)
|
||||
.addField('❯ Deadline', moment.utc(data.deadline * 1000).format('MM/DD/YYYY h:mm A'), true);
|
||||
|
||||
@@ -2,7 +2,7 @@ const Command = require('../../structures/Command');
|
||||
const moment = require('moment');
|
||||
const { MessageEmbed } = require('discord.js');
|
||||
const request = require('node-superfetch');
|
||||
const { shorten, firstUpperCase } = require('../../util/Util');
|
||||
const { shorten, formatNumber, firstUpperCase } = require('../../util/Util');
|
||||
|
||||
module.exports = class KitsuAnimeCommand extends Command {
|
||||
constructor(client) {
|
||||
@@ -39,7 +39,7 @@ module.exports = class KitsuAnimeCommand extends Command {
|
||||
.setTitle(data.canonicalTitle)
|
||||
.setDescription(shorten(data.synopsis))
|
||||
.addField('❯ Type', `${firstUpperCase(data.showType)} - ${firstUpperCase(data.status)}`, true)
|
||||
.addField('❯ Episodes', data.episodeCount || '???', true)
|
||||
.addField('❯ Episodes', data.episodeCount ? formatNumber(data.episodeCount) : '???', true)
|
||||
.addField('❯ Start Date', data.startDate ? moment.utc(data.startDate).format('MM/DD/YYYY') : '???', true)
|
||||
.addField('❯ End Date', data.endDate ? moment.utc(data.endDate).format('MM/DD/YYYY') : '???', true);
|
||||
return msg.embed(embed);
|
||||
|
||||
@@ -2,7 +2,8 @@ const Command = require('../../structures/Command');
|
||||
const moment = require('moment');
|
||||
const { MessageEmbed } = require('discord.js');
|
||||
const request = require('node-superfetch');
|
||||
const { shorten, firstUpperCase } = require('../../util/Util');
|
||||
const { oneLine } = require('common-tags');
|
||||
const { shorten, formatNumber, firstUpperCase } = require('../../util/Util');
|
||||
|
||||
module.exports = class KitsuMangaCommand extends Command {
|
||||
constructor(client) {
|
||||
@@ -39,7 +40,11 @@ module.exports = class KitsuMangaCommand extends Command {
|
||||
.setTitle(data.canonicalTitle)
|
||||
.setDescription(shorten(data.synopsis))
|
||||
.addField('❯ Type', `${firstUpperCase(data.subtype)} - ${firstUpperCase(data.status)}`, true)
|
||||
.addField('❯ Volumes / Chapters', `${data.volumeCount || '???'} / ${data.chapterCount || '???'}`, true)
|
||||
.addField('❯ Volumes / Chapters', oneLine`
|
||||
${data.volumeCount ? formatNumber(data.volumeCount) : '???'}
|
||||
/
|
||||
${data.chapterCount ? formatNumber(data.chapterCount) : '???'}
|
||||
`, true)
|
||||
.addField('❯ Start Date', data.startDate ? moment.utc(data.startDate).format('MM/DD/YYYY') : '???', true)
|
||||
.addField('❯ End Date', data.endDate ? moment.utc(data.endDate).format('MM/DD/YYYY') : '???', true);
|
||||
return msg.embed(embed);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
const Command = require('../../structures/Command');
|
||||
const request = require('node-superfetch');
|
||||
const { MessageEmbed } = require('discord.js');
|
||||
const { formatNumber } = require('../../util/Util');
|
||||
|
||||
module.exports = class NeopetsItemCommand extends Command {
|
||||
constructor(client) {
|
||||
@@ -32,7 +33,7 @@ module.exports = class NeopetsItemCommand extends Command {
|
||||
.setDescription(data.details)
|
||||
.setURL(data.url)
|
||||
.setThumbnail(data.image)
|
||||
.addField('❯ Price', data.price ? `${data.price} ${data.currency}` : 'Not for Sale');
|
||||
.addField('❯ Price', data.price ? `${formatNumber(data.price)} ${data.currency}` : 'Not for Sale');
|
||||
return msg.embed(embed);
|
||||
} catch (err) {
|
||||
return msg.reply(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
const Command = require('../../structures/Command');
|
||||
const { MessageEmbed } = require('discord.js');
|
||||
const request = require('node-superfetch');
|
||||
const { formatNumber } = require('../../util/Util');
|
||||
const { OSU_KEY } = process.env;
|
||||
|
||||
module.exports = class OsuCommand extends Command {
|
||||
@@ -40,14 +41,14 @@ module.exports = class OsuCommand extends Command {
|
||||
.addField('❯ ID', data.user_id, true)
|
||||
.addField('❯ Level', data.level || '???', true)
|
||||
.addField('❯ Accuracy', data.accuracy ? `${Math.round(data.accuracy)}%` : '???', true)
|
||||
.addField('❯ Rank', data.pp_rank || '???', true)
|
||||
.addField('❯ Play Count', data.playcount || '???', true)
|
||||
.addField('❯ Rank', data.pp_rank ? formatNumber(data.pp_rank) : '???', true)
|
||||
.addField('❯ Play Count', data.playcount ? formatNumber(data.playcount) : '???', true)
|
||||
.addField('❯ Country', data.country || '???', true)
|
||||
.addField('❯ Ranked Score', data.ranked_score || '???', true)
|
||||
.addField('❯ Total Score', data.total_score || '???', true)
|
||||
.addField('❯ SS', data.count_rank_ss || '???', true)
|
||||
.addField('❯ S', data.count_rank_s || '???', true)
|
||||
.addField('❯ A', data.count_rank_a || '???', true);
|
||||
.addField('❯ Ranked Score', data.ranked_score ? formatNumber(data.ranked_score) : '???', true)
|
||||
.addField('❯ Total Score', data.total_score ? formatNumber(data.total_score) : '???', true)
|
||||
.addField('❯ SS', data.count_rank_ss ? formatNumber(data.count_rank_ss) : '???', true)
|
||||
.addField('❯ S', data.count_rank_s ? formatNumber(data.count_rank_s) : '???', true)
|
||||
.addField('❯ A', data.count_rank_a ? formatNumber(data.count_rank_a) : '???', true);
|
||||
return msg.embed(embed);
|
||||
} catch (err) {
|
||||
return msg.reply(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
|
||||
|
||||
@@ -2,6 +2,7 @@ const Command = require('../../structures/Command');
|
||||
const { MessageEmbed } = require('discord.js');
|
||||
const request = require('node-superfetch');
|
||||
const moment = require('moment');
|
||||
const { formatNumber } = require('../../util/Util');
|
||||
|
||||
module.exports = class RedditUserCommand extends Command {
|
||||
constructor(client) {
|
||||
@@ -36,7 +37,7 @@ module.exports = class RedditUserCommand extends Command {
|
||||
.setTitle(`/u/${data.name}`)
|
||||
.addField('❯ Username', data.name, true)
|
||||
.addField('❯ ID', data.id, true)
|
||||
.addField('❯ Karma', data.link_karma + data.comment_karma, true)
|
||||
.addField('❯ Karma', formatNumber(data.link_karma + data.comment_karma), true)
|
||||
.addField('❯ Creation Date', moment.utc(data.created_utc * 1000).format('MM/DD/YYYY h:mm A'), true)
|
||||
.addField('❯ Gold?', data.is_gold ? 'Yes' : 'No', true)
|
||||
.addField('❯ Verified?', data.verified ? 'Yes' : 'No', true);
|
||||
|
||||
@@ -2,7 +2,7 @@ const Command = require('../../structures/Command');
|
||||
const moment = require('moment');
|
||||
const { MessageEmbed } = require('discord.js');
|
||||
const request = require('node-superfetch');
|
||||
const { shorten } = require('../../util/Util');
|
||||
const { shorten, formatNumber } = require('../../util/Util');
|
||||
const { SOUNDCLOUD_KEY } = process.env;
|
||||
|
||||
module.exports = class SoundcloudCommand extends Command {
|
||||
@@ -44,7 +44,7 @@ module.exports = class SoundcloudCommand extends Command {
|
||||
.addField('❯ Artist', `[${data.user.username}](${data.user.permalink_url})`, true)
|
||||
.addField('❯ Release Date', moment.utc(data.created_at).format('MM/DD/YYYY'), true)
|
||||
.addField('❯ Genre', data.genre, true)
|
||||
.addField('❯ Likes', data.likes_count, true);
|
||||
.addField('❯ Likes', formatNumber(data.likes_count), true);
|
||||
return msg.embed(embed);
|
||||
} catch (err) {
|
||||
return msg.reply(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
|
||||
|
||||
@@ -2,6 +2,7 @@ const Command = require('../../structures/Command');
|
||||
const moment = require('moment');
|
||||
const { MessageEmbed } = require('discord.js');
|
||||
const request = require('node-superfetch');
|
||||
const { formatNumber } = require('../../util/Util');
|
||||
const { STACKOVERFLOW_KEY } = process.env;
|
||||
|
||||
module.exports = class StackOverflowCommand extends Command {
|
||||
@@ -46,8 +47,8 @@ module.exports = class StackOverflowCommand extends Command {
|
||||
.setTitle(data.title)
|
||||
.addField('❯ ID', data.question_id, true)
|
||||
.addField('❯ Asker', `[${data.owner.display_name}](${data.owner.link})`, true)
|
||||
.addField('❯ Views', data.view_count, true)
|
||||
.addField('❯ Score', data.score, true)
|
||||
.addField('❯ Views', formatNumber(data.view_count), true)
|
||||
.addField('❯ Score', formatNumber(data.score), true)
|
||||
.addField('❯ Creation Date', moment.utc(data.creation_date * 1000).format('MM/DD/YYYY h:mm A'), true)
|
||||
.addField('❯ Last Activity',
|
||||
moment.utc(data.last_activity_date * 1000).format('MM/DD/YYYY h:mm A'), true);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
const Command = require('../../structures/Command');
|
||||
const { MessageEmbed } = require('discord.js');
|
||||
const request = require('node-superfetch');
|
||||
const { formatNumber } = require('../../util/Util');
|
||||
|
||||
module.exports = class SteamCommand extends Command {
|
||||
constructor(client) {
|
||||
@@ -43,10 +44,10 @@ module.exports = class SteamCommand extends Command {
|
||||
.setThumbnail(data.header_image)
|
||||
.addField('❯ Price', price, true)
|
||||
.addField('❯ Metascore', data.metacritic ? data.metacritic.score : '???', true)
|
||||
.addField('❯ Recommendations', data.recommendations ? data.recommendations.total : '???', true)
|
||||
.addField('❯ Recommendations', data.recommendations ? formatNumber(data.recommendations.total) : '???', true)
|
||||
.addField('❯ Platforms', platforms.join(', ') || 'None', true)
|
||||
.addField('❯ Release Date', data.release_date ? data.release_date.date : '???', true)
|
||||
.addField('❯ DLC Count', data.dlc ? data.dlc.length : 0, true)
|
||||
.addField('❯ DLC Count', data.dlc ? formatNumber(data.dlc.length) : 0, true)
|
||||
.addField('❯ Developers', data.developers ? data.developers.join(', ') || '???' : '???')
|
||||
.addField('❯ Publishers', data.publishers ? data.publishers.join(', ') || '???' : '???');
|
||||
return msg.embed(embed);
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
const Command = require('../../structures/Command');
|
||||
const moment = require('moment');
|
||||
const { MessageEmbed } = require('discord.js');
|
||||
const request = require('node-superfetch');
|
||||
const { ALPHA_VANTAGE_KEY } = process.env;
|
||||
@@ -38,13 +37,13 @@ module.exports = class StocksCommand extends Command {
|
||||
const embed = new MessageEmbed()
|
||||
.setTitle(`Stocks for ${symbol.toUpperCase()}`)
|
||||
.setColor(0x9797FF)
|
||||
.setFooter('Last Updated')
|
||||
.setTimestamp(new Date(body['Meta Data']['3. Last Refreshed']))
|
||||
.addField('❯ Open', `$${data['1. open']}`, true)
|
||||
.addField('❯ Close', `$${data['4. close']}`, true)
|
||||
.addField('❯ Volume', data['5. volume'], true)
|
||||
.addField('❯ High', `$${data['2. high']}`, true)
|
||||
.addField('❯ Low', `$${data['3. low']}`, true)
|
||||
.addField('❯ Last Updated',
|
||||
moment.utc(body['Meta Data']['3. Last Refreshed']).format('MM/DD/YYYY h:mm A'), true);
|
||||
.addField('❯ Low', `$${data['3. low']}`, true);
|
||||
return msg.embed(embed);
|
||||
} catch (err) {
|
||||
return msg.reply(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
const Command = require('../../structures/Command');
|
||||
const { MessageEmbed } = require('discord.js');
|
||||
const request = require('node-superfetch');
|
||||
const { shorten } = require('../../util/Util');
|
||||
const { shorten, formatNumber } = require('../../util/Util');
|
||||
const { TMDB_KEY } = process.env;
|
||||
|
||||
module.exports = class TMDBTVShowCommand extends Command {
|
||||
@@ -45,8 +45,8 @@ module.exports = class TMDBTVShowCommand extends Command {
|
||||
.setThumbnail(body.poster_path ? `https://image.tmdb.org/t/p/w500${body.poster_path}` : null)
|
||||
.addField('❯ First Air Date', body.first_air_date || '???', true)
|
||||
.addField('❯ Last Air Date', body.last_air_date || '???', true)
|
||||
.addField('❯ Seasons', body.number_of_seasons || '???', true)
|
||||
.addField('❯ Episodes', body.number_of_episodes || '???', true)
|
||||
.addField('❯ Seasons', body.number_of_seasons ? formatNumber(body.number_of_seasons) : '???', true)
|
||||
.addField('❯ Episodes', body.number_of_episodes ? formatNumber(body.number_of_episodes) : '???', true)
|
||||
.addField('❯ Genres', body.genres.length ? body.genres.map(genre => genre.name).join(', ') : '???')
|
||||
.addField('❯ Production Companies',
|
||||
body.production_companies.length ? body.production_companies.map(c => c.name).join(', ') : '???');
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
const Command = require('../../structures/Command');
|
||||
const { MessageEmbed } = require('discord.js');
|
||||
const request = require('node-superfetch');
|
||||
const { formatNumber } = require('../../util/Util');
|
||||
const { TUMBLR_KEY } = process.env;
|
||||
|
||||
module.exports = class TumblrCommand extends Command {
|
||||
@@ -35,7 +36,7 @@ module.exports = class TumblrCommand extends Command {
|
||||
.setThumbnail(`https://api.tumblr.com/v2/blog/${blog}/avatar/512`)
|
||||
.setURL(data.url)
|
||||
.setTitle(data.title)
|
||||
.addField('❯ Posts', data.total_posts, true)
|
||||
.addField('❯ Posts', formatNumber(data.total_posts), true)
|
||||
.addField('❯ A.M.A.?', data.ask ? 'Yes' : 'No', true);
|
||||
return msg.embed(embed);
|
||||
} catch (err) {
|
||||
|
||||
@@ -2,7 +2,7 @@ const Command = require('../../structures/Command');
|
||||
const moment = require('moment');
|
||||
const { MessageEmbed } = require('discord.js');
|
||||
const request = require('node-superfetch');
|
||||
const { base64 } = require('../../util/Util');
|
||||
const { formatNumber, base64 } = require('../../util/Util');
|
||||
const { TWITTER_KEY, TWITTER_SECRET } = process.env;
|
||||
const retweetRegex = /^RT @([a-zA-Z0-9_]{1,15}):/;
|
||||
|
||||
@@ -49,9 +49,9 @@ module.exports = class TwitterCommand extends Command {
|
||||
.setURL(`https://twitter.com/${body.screen_name}`)
|
||||
.setTitle(`${body.name} (@${body.screen_name})`)
|
||||
.setDescription(body.description)
|
||||
.addField('❯ Tweets', body.statuses_count, true)
|
||||
.addField('❯ Followers', body.followers_count, true)
|
||||
.addField('❯ Following', body.friends_count, true)
|
||||
.addField('❯ Tweets', formatNumber(body.statuses_count), true)
|
||||
.addField('❯ Followers', formatNumber(body.followers_count), true)
|
||||
.addField('❯ Following', formatNumber(body.friends_count), true)
|
||||
.addField('❯ Protected?', body.protected ? 'Yes' : 'No', true)
|
||||
.addField('❯ Verified?', body.verified ? 'Yes' : 'No', true)
|
||||
.addField('❯ Creation Date', moment.utc(body.created_at).format('MM/DD/YYYY h:mm A'), true)
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
const Command = require('../../structures/Command');
|
||||
const { MessageEmbed } = require('discord.js');
|
||||
const request = require('node-superfetch');
|
||||
const { shorten } = require('../../util/Util');
|
||||
const types = ['random', 'top'];
|
||||
const { shorten, formatNumber } = require('../../util/Util');
|
||||
|
||||
module.exports = class UrbanDictionaryCommand extends Command {
|
||||
constructor(client) {
|
||||
@@ -12,39 +11,32 @@ module.exports = class UrbanDictionaryCommand extends Command {
|
||||
group: 'search',
|
||||
memberName: 'urban-dictionary',
|
||||
description: 'Defines a word, but with Urban Dictionary.',
|
||||
details: `**Types:** ${types.join(', ')}`,
|
||||
clientPermissions: ['EMBED_LINKS'],
|
||||
args: [
|
||||
{
|
||||
key: 'word',
|
||||
prompt: 'What word would you like to look up?',
|
||||
type: 'string'
|
||||
},
|
||||
{
|
||||
key: 'type',
|
||||
prompt: 'Do you want to get the top answer or a random one?',
|
||||
type: 'string',
|
||||
default: 'top',
|
||||
oneOf: types,
|
||||
parse: type => type.toLowerCase()
|
||||
}
|
||||
]
|
||||
});
|
||||
}
|
||||
|
||||
async run(msg, { word, type }) {
|
||||
async run(msg, { word }) {
|
||||
try {
|
||||
const { body } = await request
|
||||
.get('http://api.urbandictionary.com/v0/define')
|
||||
.query({ term: word });
|
||||
if (!body.list.length) return msg.say('Could not find any results.');
|
||||
const data = body.list[type === 'top' ? 0 : Math.floor(Math.random() * body.list.length)];
|
||||
const data = body.list[0];
|
||||
const embed = new MessageEmbed()
|
||||
.setColor(0x32A8F0)
|
||||
.setAuthor('Urban Dictionary', 'https://i.imgur.com/Fo0nRTe.png', 'https://www.urbandictionary.com/')
|
||||
.setURL(data.permalink)
|
||||
.setTitle(data.word)
|
||||
.setDescription(shorten(data.definition))
|
||||
.setFooter(`👍 ${formatNumber(data.thumbs_up)} 👎 ${formatNumber(data.thumbs_down)}`)
|
||||
.setTimestamp(new Date(data.written_on))
|
||||
.addField('❯ Example', data.example ? shorten(data.example, 1000) : 'None');
|
||||
return msg.embed(embed);
|
||||
} catch (err) {
|
||||
|
||||
@@ -2,7 +2,7 @@ const Command = require('../../structures/Command');
|
||||
const moment = require('moment');
|
||||
const { MessageEmbed } = require('discord.js');
|
||||
const request = require('node-superfetch');
|
||||
const { shorten } = require('../../util/Util');
|
||||
const { shorten, formatNumber } = require('../../util/Util');
|
||||
const { WATTPAD_KEY } = process.env;
|
||||
|
||||
module.exports = class WattpadCommand extends Command {
|
||||
@@ -44,10 +44,10 @@ module.exports = class WattpadCommand extends Command {
|
||||
.setThumbnail(data.cover)
|
||||
.addField('❯ Creation Date', moment.utc(data.createDate).format('MM/DD/YYYY h:mm A'), true)
|
||||
.addField('❯ Author', data.user.name, true)
|
||||
.addField('❯ Chapters', data.numParts, true)
|
||||
.addField('❯ Reads', data.readCount, true)
|
||||
.addField('❯ Votes', data.voteCount, true)
|
||||
.addField('❯ Comments', data.commentCount, true);
|
||||
.addField('❯ Chapters', formatNumber(data.numParts), true)
|
||||
.addField('❯ Reads', formatNumber(data.readCount), true)
|
||||
.addField('❯ Votes', formatNumber(data.voteCount), true)
|
||||
.addField('❯ Comments', formatNumber(data.commentCount), true);
|
||||
return msg.embed(embed);
|
||||
} catch (err) {
|
||||
return msg.reply(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
|
||||
|
||||
@@ -42,13 +42,7 @@ module.exports = class WeatherCommand extends Command {
|
||||
.addField('❯ Region', data.location.region, true)
|
||||
.addField('❯ Condition', data.item.condition.text, true)
|
||||
.addField('❯ Temperature', `${data.item.condition.temp}°F`, true)
|
||||
.addField('❯ Humidity', data.atmosphere.humidity, true)
|
||||
.addField('❯ Pressure', data.atmosphere.pressure, true)
|
||||
.addField('❯ Rising', data.atmosphere.rising, true)
|
||||
.addField('❯ Visibility', data.atmosphere.visibility, true)
|
||||
.addField('❯ Wind Chill', data.wind.chill, true)
|
||||
.addField('❯ Wind Direction', data.wind.direction, true)
|
||||
.addField('❯ Wind Speed', data.wind.speed, true);
|
||||
.addField('❯ Humidity', `${data.atmosphere.humidity}%`, true);
|
||||
return msg.embed(embed);
|
||||
} catch (err) {
|
||||
return msg.say(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
const Command = require('../../structures/Command');
|
||||
const { MessageEmbed } = require('discord.js');
|
||||
const request = require('node-superfetch');
|
||||
const { shorten, firstUpperCase } = require('../../util/Util');
|
||||
const { shorten, formatNumber, firstUpperCase } = require('../../util/Util');
|
||||
|
||||
module.exports = class YuGiOhCommand extends Command {
|
||||
constructor(client) {
|
||||
@@ -42,8 +42,8 @@ module.exports = class YuGiOhCommand extends Command {
|
||||
.addField('❯ Species', data.type, true)
|
||||
.addField('❯ Attribute', firstUpperCase(data.family), true)
|
||||
.addField('❯ Level', data.level, true)
|
||||
.addField('❯ ATK', data.atk, true)
|
||||
.addField('❯ DEF', data.def, true);
|
||||
.addField('❯ ATK', formatNumber(data.atk), true)
|
||||
.addField('❯ DEF', formatNumber(data.def), true);
|
||||
}
|
||||
return msg.embed(embed);
|
||||
} catch (err) {
|
||||
|
||||
Reference in New Issue
Block a user