diff --git a/clevusers.json b/clevusers.json index 22f5a365..039fd266 100644 --- a/clevusers.json +++ b/clevusers.json @@ -10,4 +10,4 @@ "235218353579491328": "235218353579491328", "230395430024904704": "230395430024904704" } -} \ No newline at end of file +} diff --git a/commands/avataredit/3000years.js b/commands/avataredit/3000years.js index 65278162..0a781ae7 100644 --- a/commands/avataredit/3000years.js +++ b/commands/avataredit/3000years.js @@ -2,12 +2,12 @@ const commando = require('discord.js-commando'); const Jimp = require("jimp"); module.exports = class YearsCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: '3000years', - aliases: [ - 'az' - ], + aliases: [ + 'az' + ], group: 'avataredit', memberName: '3000years', description: "It's been 3000 years... (;3000years @User)", @@ -16,16 +16,18 @@ module.exports = class YearsCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'ATTACH_FILES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'ATTACH_FILES'])) return; } console.log("[Command] " + message.content); if (message.mentions.users.size !== 1) { message.channel.send(':x: Error! Please mention one user!'); - } else { - if(message.mentions.users.first().avatarURL === null) { + } + else { + if (message.mentions.users.first().avatarURL === null) { message.channel.send(":x: Error! This user has no avatar!"); - } else { + } + else { let userAvatar = message.mentions.users.first().avatarURL; userAvatar = userAvatar.replace(".jpg", ".png"); userAvatar = userAvatar.replace(".gif", ".png"); @@ -43,4 +45,4 @@ module.exports = class YearsCommand extends commando.Command { } } } -}; \ No newline at end of file +}; diff --git a/commands/avataredit/beautiful.js b/commands/avataredit/beautiful.js index b6220ad2..6aa08c1f 100644 --- a/commands/avataredit/beautiful.js +++ b/commands/avataredit/beautiful.js @@ -2,12 +2,12 @@ const commando = require('discord.js-commando'); const Jimp = require("jimp"); module.exports = class BeautifulCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'beautiful', - aliases: [ - 'grunklestan' - ], + aliases: [ + 'grunklestan' + ], group: 'avataredit', memberName: 'beautiful', description: 'Oh, this? This is beautiful. (;beautiful @User)', @@ -16,16 +16,18 @@ module.exports = class BeautifulCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'ATTACH_FILES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'ATTACH_FILES'])) return; } console.log("[Command] " + message.content); if (message.mentions.users.size !== 1) { message.channel.send(':x: Error! Please mention one user!'); - } else { - if(message.mentions.users.first().avatarURL === null) { + } + else { + if (message.mentions.users.first().avatarURL === null) { message.channel.send(":x: Error! This user has no avatar!"); - } else { + } + else { let userAvatar = message.mentions.users.first().avatarURL; userAvatar = userAvatar.replace(".jpg", ".png"); userAvatar = userAvatar.replace(".gif", ".png"); @@ -45,4 +47,4 @@ module.exports = class BeautifulCommand extends commando.Command { } } } -}; \ No newline at end of file +}; diff --git a/commands/avataredit/bobross.js b/commands/avataredit/bobross.js index 3ee8add6..4cbfb077 100644 --- a/commands/avataredit/bobross.js +++ b/commands/avataredit/bobross.js @@ -2,13 +2,13 @@ const commando = require('discord.js-commando'); const Jimp = require("jimp"); module.exports = class BobRossCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'bobross', - aliases: [ - 'bob', - 'ross' - ], + aliases: [ + 'bob', + 'ross' + ], group: 'avataredit', memberName: 'bobross', description: "Make Bob Ross draw your avatar. (;bobross @User)", @@ -17,16 +17,18 @@ module.exports = class BobRossCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'ATTACH_FILES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'ATTACH_FILES'])) return; } console.log("[Command] " + message.content); if (message.mentions.users.size !== 1) { message.channel.send(':x: Error! Please mention one user!'); - } else { - if(message.mentions.users.first().avatarURL === null) { + } + else { + if (message.mentions.users.first().avatarURL === null) { message.channel.send(":x: Error! This user has no avatar!"); - } else { + } + else { let userAvatar = message.mentions.users.first().avatarURL; userAvatar = userAvatar.replace(".jpg", ".png"); userAvatar = userAvatar.replace(".gif", ".png"); @@ -47,4 +49,4 @@ module.exports = class BobRossCommand extends commando.Command { } } } -}; \ No newline at end of file +}; diff --git a/commands/avataredit/rip.js b/commands/avataredit/rip.js index c21b717d..1b81db47 100644 --- a/commands/avataredit/rip.js +++ b/commands/avataredit/rip.js @@ -2,13 +2,13 @@ const commando = require('discord.js-commando'); const Jimp = require("jimp"); module.exports = class RIPCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'rip', - aliases: [ - 'grave', - 'gravestone' - ], + aliases: [ + 'grave', + 'gravestone' + ], group: 'avataredit', memberName: 'rip', description: 'Puts a profile picture over a gravestone. (;rip @User)', @@ -17,16 +17,18 @@ module.exports = class RIPCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'ATTACH_FILES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'ATTACH_FILES'])) return; } console.log("[Command] " + message.content); if (message.mentions.users.size !== 1) { message.channel.send(':x: Error! Please mention one user!'); - } else { - if(message.mentions.users.first().avatarURL === null) { + } + else { + if (message.mentions.users.first().avatarURL === null) { message.channel.send(":x: Error! This user has no avatar!"); - } else { + } + else { let userAvatar = message.mentions.users.first().avatarURL; userAvatar = userAvatar.replace(".jpg", ".png"); userAvatar = userAvatar.replace(".gif", ".png"); @@ -44,4 +46,4 @@ module.exports = class RIPCommand extends commando.Command { } } } -}; \ No newline at end of file +}; diff --git a/commands/avataredit/steamcard.js b/commands/avataredit/steamcard.js index 01d4a64f..328a51d8 100644 --- a/commands/avataredit/steamcard.js +++ b/commands/avataredit/steamcard.js @@ -2,12 +2,12 @@ const commando = require('discord.js-commando'); const Jimp = require("jimp"); module.exports = class SteamCardCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'steamcard', - aliases: [ - 'card' - ], + aliases: [ + 'card' + ], group: 'avataredit', memberName: 'steamcard', description: "Put an avatar on a Steam Card. (;steamcard @User)", @@ -16,17 +16,19 @@ module.exports = class SteamCardCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'ATTACH_FILES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'ATTACH_FILES'])) return; } console.log("[Command] " + message.content); - if(message.channel.type !== 'dm') { + if (message.channel.type !== 'dm') { if (message.mentions.users.size !== 1) { message.channel.send(':x: Error! Please mention one user!'); - } else { - if(message.mentions.users.first().avatarURL === null) { + } + else { + if (message.mentions.users.first().avatarURL === null) { message.channel.send(":x: Error! This user has no avatar!"); - } else { + } + else { let userDisplayName = message.guild.member(message.mentions.users.first()).displayName; let userAvatar = message.mentions.users.first().avatarURL; userAvatar = userAvatar.replace(".jpg", ".png"); @@ -36,7 +38,7 @@ module.exports = class SteamCardCommand extends commando.Command { images.push(Jimp.read("./images/SteamCard.png")); images.push(Jimp.read("./images/SteamCardBlank.png")); Promise.all(images).then(([avatar, steamcard, nothing]) => { - Jimp.loadFont(Jimp.FONT_SANS_32_WHITE).then(function (font) { + Jimp.loadFont(Jimp.FONT_SANS_32_WHITE).then(function(font) { avatar.resize(450, 450); nothing.composite(avatar, 25, 25); nothing.composite(steamcard, 0, 0); @@ -49,8 +51,9 @@ module.exports = class SteamCardCommand extends commando.Command { }); } } - } else { + } + else { message.channel.send(':x: Error! This command does not work in DM!'); } } -}; \ No newline at end of file +}; diff --git a/commands/botinfo/banlist.json b/commands/botinfo/banlist.json index 06e9f474..1007bbbe 100644 --- a/commands/botinfo/banlist.json +++ b/commands/botinfo/banlist.json @@ -2,4 +2,4 @@ "banned": { "155112606661607425": "155112606661607425" } -} \ No newline at end of file +} diff --git a/commands/botinfo/contact.js b/commands/botinfo/contact.js index 784a69fe..082558ef 100644 --- a/commands/botinfo/contact.js +++ b/commands/botinfo/contact.js @@ -3,14 +3,14 @@ const banlist = require('./banlist.json'); const config = require('../../config.json'); module.exports = class ContactCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'contact', - aliases: [ - 'suggest', - 'report', - 'bug' - ], + aliases: [ + 'suggest', + 'report', + 'bug' + ], group: 'botinfo', memberName: 'contact', description: 'Report bugs or request new features. (;contact Fix this command!)', @@ -19,21 +19,23 @@ module.exports = class ContactCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let banID = message.author.id; let messageToReport = message.content.split(" ").slice(1).join(" "); if (message.author.id === banlist.banned[banID]) { message.channel.send("Sorry, you've been banned from using this command."); - } else { - if(messageToReport === '') { + } + else { + if (messageToReport === '') { message.channel.send(':x: Error! Please do not report nothing!'); - } else { + } + else { this.client.users.get(config.owner).send("**" + message.author.username + '#' + message.author.discriminator + " (" + message.author.id + ")" + ":**\n" + messageToReport); message.channel.send('Message Sent! Thanks for your support!'); } } } -}; \ No newline at end of file +}; diff --git a/commands/botinfo/info.js b/commands/botinfo/info.js index d7798449..64e25895 100644 --- a/commands/botinfo/info.js +++ b/commands/botinfo/info.js @@ -5,13 +5,13 @@ const moment = require('moment'); require('moment-duration-format'); module.exports = class InfoCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'info', - aliases: [ - 'data', - 'information' - ], + aliases: [ + 'data', + 'information' + ], group: 'botinfo', memberName: 'info', description: 'Gives some bot info. (;info)', @@ -20,56 +20,56 @@ module.exports = class InfoCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; } console.log("[Command] " + message.content); this.client.shard.fetchClientValues('guilds.size').then(guilds => { this.client.shard.fetchClientValues('voiceConnections.size').then(vCConnections => { const embed = new Discord.RichEmbed() - .setTitle('Welcome to XiaoBot!') - .setAuthor(this.client.user.username, this.client.user.avatarURL) - .setColor(0x00AE86) - .setDescription('XiaoBot is your personal companion for your Discord Server!') - .setFooter('©2017 dragonfire535 | Created ' + moment.duration(this.client.user.createdTimestamp - Date.now()).format('y[ years], M[ months], w[ weeks, and ]d[ days]') + ' ago!') - .setThumbnail(this.client.user.avatarURL) - .setURL('http://dragonfire535.weebly.com/xiaobot.html') - .addField('Commands', - "There are a variety of commands XiaoBot can use! Use ';help' to view a list of all commands!") - .addField('Servers', - this.client.guilds.size + " / " + guilds.reduce((prev, val) => prev + val, 0), true) - .addField('Shards', - this.client.options.shardCount + " (This is Shard: " + this.client.shard.id + ")", true) - .addField('Commands', - config.commandCount, true) - .addField('Owner', - "dragonfire535#8081", true) - .addField('Source Code', - "[View Here](https://github.com/dragonfire535/xiaobot)", true) - .addField('Memory Usage', - `${Math.round(process.memoryUsage().heapUsed / 1024 / 1024)}MB`, true) - .addField('Uptime', - moment.duration(this.client.uptime).format('d[d]h[h]m[m]s[s]'), true) - .addField('Node Version', - process.version, true) - .addField('Voice Connections', - this.client.voiceConnections.size + " / " + vCConnections.reduce((prev, val) => prev + val, 0), true) - .addField('Library', - "[discord.js](https://discord.js.org/#/) / [commando](https://github.com/Gawdl3y/discord.js-commando)", true) - .addField('Modules', - "[cleverbot-node](https://github.com/fojas/cleverbot-node), [pirate-speak](https://github.com/mikewesthad/pirate-speak), [google-translate-api](https://github.com/matheuss/google-translate-api), [urban](https://github.com/mvrilo/urban), [zalgoize](https://github.com/clux/zalgolize), [hepburn](https://github.com/lovell/hepburn), [yahoo-weather](https://github.com/mamal72/node-yahoo-weather), [imdb-api](https://github.com/worr/node-imdb-api), [string-to-binary](https://www.npmjs.com/package/string-to-binary), [roman-numeral-converter-mmxvi](https://github.com/Cein-Markey/roman-numeral-conversion-library), [cowsay](https://github.com/piuccio/cowsay), [morse](https://github.com/ecto/morse)") - .addField('Utility Modules', - "[superagent](https://github.com/visionmedia/superagent), [mathjs](http://mathjs.org/), [moment](http://momentjs.com), [moment-duration-format](https://github.com/jsmreese/moment-duration-format), [opusscript](https://github.com/abalabahaha/opusscript), [jimp](https://github.com/oliver-moran/jimp)") - .addField('APIs', - "[Cleverbot API](https://www.cleverbot.com/api/), [Wattpad API](https://developer.wattpad.com/docs/api), [Wordnik API](http://developer.wordnik.com/docs.html), [osu! API](https://osu.ppy.sh/p/api), [memegen.link](https://memegen.link/), [Yugioh Prices API](http://docs.yugiohprices.apiary.io/#), [YouTube Data API](https://developers.google.com/youtube/v3/), [Yoda Speak API](https://market.mashape.com/ismaelc/yoda-speak), [Discord Bots API](https://bots.discord.pw/api)") - .addField('Other Credit', - "[Heroku](https://www.heroku.com/), [Cloud9](https://c9.io/), [heroku-buildpack-ffmpeg-latest](https://elements.heroku.com/buildpacks/jonathanong/heroku-buildpack-ffmpeg-latest)") - .addField('My Server', - "[Click Here to Join!](https://discord.gg/fqQF8mc)") - .addField('Invite Link:', - "[Click Here to Add Me to Your Server!](https://discordapp.com/oauth2/authorize?client_id=278305350804045834&scope=bot&permissions=1345846343)"); + .setTitle('Welcome to XiaoBot!') + .setAuthor(this.client.user.username, this.client.user.avatarURL) + .setColor(0x00AE86) + .setDescription('XiaoBot is your personal companion for your Discord Server!') + .setFooter('©2017 dragonfire535 | Created ' + moment.duration(this.client.user.createdTimestamp - Date.now()).format('y[ years], M[ months], w[ weeks, and ]d[ days]') + ' ago!') + .setThumbnail(this.client.user.avatarURL) + .setURL('http://dragonfire535.weebly.com/xiaobot.html') + .addField('Commands', + "There are a variety of commands XiaoBot can use! Use ';help' to view a list of all commands!") + .addField('Servers', + this.client.guilds.size + " / " + guilds.reduce((prev, val) => prev + val, 0), true) + .addField('Shards', + this.client.options.shardCount + " (This is Shard: " + this.client.shard.id + ")", true) + .addField('Commands', + config.commandCount, true) + .addField('Owner', + "dragonfire535#8081", true) + .addField('Source Code', + "[View Here](https://github.com/dragonfire535/xiaobot)", true) + .addField('Memory Usage', + `${Math.round(process.memoryUsage().heapUsed / 1024 / 1024)}MB`, true) + .addField('Uptime', + moment.duration(this.client.uptime).format('d[d]h[h]m[m]s[s]'), true) + .addField('Node Version', + process.version, true) + .addField('Voice Connections', + this.client.voiceConnections.size + " / " + vCConnections.reduce((prev, val) => prev + val, 0), true) + .addField('Library', + "[discord.js](https://discord.js.org/#/) / [commando](https://github.com/Gawdl3y/discord.js-commando)", true) + .addField('Modules', + "[cleverbot-node](https://github.com/fojas/cleverbot-node), [pirate-speak](https://github.com/mikewesthad/pirate-speak), [google-translate-api](https://github.com/matheuss/google-translate-api), [urban](https://github.com/mvrilo/urban), [zalgoize](https://github.com/clux/zalgolize), [hepburn](https://github.com/lovell/hepburn), [yahoo-weather](https://github.com/mamal72/node-yahoo-weather), [imdb-api](https://github.com/worr/node-imdb-api), [string-to-binary](https://www.npmjs.com/package/string-to-binary), [roman-numeral-converter-mmxvi](https://github.com/Cein-Markey/roman-numeral-conversion-library), [cowsay](https://github.com/piuccio/cowsay), [morse](https://github.com/ecto/morse)") + .addField('Utility Modules', + "[superagent](https://github.com/visionmedia/superagent), [mathjs](http://mathjs.org/), [moment](http://momentjs.com), [moment-duration-format](https://github.com/jsmreese/moment-duration-format), [opusscript](https://github.com/abalabahaha/opusscript), [jimp](https://github.com/oliver-moran/jimp)") + .addField('APIs', + "[Cleverbot API](https://www.cleverbot.com/api/), [Wattpad API](https://developer.wattpad.com/docs/api), [Wordnik API](http://developer.wordnik.com/docs.html), [osu! API](https://osu.ppy.sh/p/api), [memegen.link](https://memegen.link/), [Yugioh Prices API](http://docs.yugiohprices.apiary.io/#), [YouTube Data API](https://developers.google.com/youtube/v3/), [Yoda Speak API](https://market.mashape.com/ismaelc/yoda-speak), [Discord Bots API](https://bots.discord.pw/api)") + .addField('Other Credit', + "[Heroku](https://www.heroku.com/), [Cloud9](https://c9.io/), [heroku-buildpack-ffmpeg-latest](https://elements.heroku.com/buildpacks/jonathanong/heroku-buildpack-ffmpeg-latest)") + .addField('My Server', + "[Click Here to Join!](https://discord.gg/fqQF8mc)") + .addField('Invite Link:', + "[Click Here to Add Me to Your Server!](https://discordapp.com/oauth2/authorize?client_id=278305350804045834&scope=bot&permissions=1345846343)"); message.channel.sendEmbed(embed).catch(console.error); }); }); } -}; \ No newline at end of file +}; diff --git a/commands/botinfo/invite.js b/commands/botinfo/invite.js index a100adfd..963a343f 100644 --- a/commands/botinfo/invite.js +++ b/commands/botinfo/invite.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class InviteCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'invite', group: 'botinfo', @@ -12,10 +12,10 @@ module.exports = class InviteCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); message.channel.send("Add me to your server with this link:\nhttps://discordapp.com/oauth2/authorize?client_id=278305350804045834&scope=bot&permissions=1345846343\nOr, come to my server with this link:\nhttps://discord.gg/fqQF8mc"); } -}; \ No newline at end of file +}; diff --git a/commands/botinfo/uptime.js b/commands/botinfo/uptime.js index 3ccc5fde..0813062e 100644 --- a/commands/botinfo/uptime.js +++ b/commands/botinfo/uptime.js @@ -3,7 +3,7 @@ const moment = require('moment'); require('moment-duration-format'); module.exports = class UptimeCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'uptime', group: 'botinfo', @@ -14,10 +14,10 @@ module.exports = class UptimeCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); message.channel.send("I've been active on this shard for: **" + moment.duration(this.client.uptime).format('d[ days], h[ hours], m[ minutes, and ]s[ seconds]') + "** in a total of " + this.client.guilds.size + " Servers."); } -}; \ No newline at end of file +}; diff --git a/commands/guildinfo/emoji.js b/commands/guildinfo/emoji.js index b9d657c6..0f77466c 100644 --- a/commands/guildinfo/emoji.js +++ b/commands/guildinfo/emoji.js @@ -1,14 +1,14 @@ const commando = require('discord.js-commando'); module.exports = class EmojiCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'emoji', aliases: [ - 'emoticons', - 'emojilist', - 'emoticonlist' - ], + 'emoticons', + 'emojilist', + 'emoticonlist' + ], group: 'guildinfo', memberName: 'emoji', description: "Gives a list of the current server's emoji. (;emoji)", @@ -17,14 +17,15 @@ module.exports = class EmojiCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); if (message.channel.type !== 'dm') { message.channel.send(message.guild.emojis.map(e => e).join(" ")); - } else { + } + else { message.channel.send(":x: Error! This command does not work in DM!"); } } -}; \ No newline at end of file +}; diff --git a/commands/guildinfo/guildinfo.js b/commands/guildinfo/guildinfo.js index ec997017..6ecffc67 100644 --- a/commands/guildinfo/guildinfo.js +++ b/commands/guildinfo/guildinfo.js @@ -2,14 +2,14 @@ const commando = require('discord.js-commando'); const Discord = require('discord.js'); module.exports = class GuildInfoCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'server', aliases: [ - 'guild', - 'serverinfo', - 'guildinfo' - ], + 'guild', + 'serverinfo', + 'guildinfo' + ], group: 'guildinfo', memberName: 'server', description: 'Gives some info on the current server. (;server)', @@ -18,31 +18,32 @@ module.exports = class GuildInfoCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; } console.log("[Command] " + message.content); if (message.channel.type !== 'dm') { const embed = new Discord.RichEmbed() - .setColor(0x00AE86) - .setThumbnail(message.guild.iconURL) - .addField('**Name:**', - message.guild.name, true) - .addField('**ID:**', - message.guild.id, true) - .addField('**Created On:**', - message.guild.createdAt, true) - .addField('**Default Channel:**', - message.guild.defaultChannel, true) - .addField('**Region:**', - message.guild.region, true) - .addField('**Owner:**', - message.guild.owner.user.username + '#' + message.guild.owner.user.discriminator, true) - .addField("**Users:**", - message.guild.memberCount, true); + .setColor(0x00AE86) + .setThumbnail(message.guild.iconURL) + .addField('**Name:**', + message.guild.name, true) + .addField('**ID:**', + message.guild.id, true) + .addField('**Created On:**', + message.guild.createdAt, true) + .addField('**Default Channel:**', + message.guild.defaultChannel, true) + .addField('**Region:**', + message.guild.region, true) + .addField('**Owner:**', + message.guild.owner.user.username + '#' + message.guild.owner.user.discriminator, true) + .addField("**Users:**", + message.guild.memberCount, true); message.channel.sendEmbed(embed).catch(console.error); - } else { + } + else { message.channel.send(":x: Error! This command does not work in DM!"); } } -}; \ No newline at end of file +}; diff --git a/commands/imageedit/meme.js b/commands/imageedit/meme.js index 9b0b0322..650b331b 100644 --- a/commands/imageedit/meme.js +++ b/commands/imageedit/meme.js @@ -2,12 +2,12 @@ const commando = require('discord.js-commando'); const memecodes = require('./memecodes.json'); module.exports = class MemeCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'meme', aliases: [ - 'memegen' - ], + 'memegen' + ], group: 'imageedit', memberName: 'meme', description: "Sends a Meme with text of your choice, and a background of your choice. Split first and second lines with a | (;meme facepalm I can't even | comprehend this)", @@ -16,35 +16,41 @@ module.exports = class MemeCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'ATTACH_FILES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'ATTACH_FILES'])) return; } console.log("[Command] " + message.content); let [type] = message.content.toLowerCase().split(" ").slice(1); - if(type === "list") { + if (type === "list") { message.channel.send("**Type Codes:** tenguy, afraid, older, aag, tried, biw, blb, kermit, bd, ch, cbg, wonka, cb, keanu, dsm, live, ants, doge, alwaysonbeat, ermg, facepalm, fwp, fa, fbf, fry, hipster, icanhas, crazypills, mw, noidea, regret, boat, hagrid, sohappy, captain, inigo, iw, ackbar, happening, joker, ive, ll, morpheus, mb, badchoice, mmm, jetpack, red, mordor, oprah, oag, remembers, philosoraptor, jw, patrick, rollsafe, sad-obama, sad-clinton, sadfrog, sad-bush, sad-biden, sad-boehner, saltbae, sarcasticbear, dwight, sb, ss, sf, dodgson, money, sohot, nice, awesome-awkward, awesome, awkward-awesome, awkward, fetch, success, scc, ski, officespace, interesting, toohigh, bs, center, both, winter, xy, buzz, yodawg, uno, yallgot, bad, elf, chosen"); - } else if(message.content.includes("|")) { - if(message.content.split(" ").slice(1).join(" ").match(/^[a-zA-Z0-9|.,!?'-\s]+$/)) { + } + else if (message.content.includes("|")) { + if (message.content.split(" ").slice(1).join(" ").match(/^[a-zA-Z0-9|.,!?'-\s]+$/)) { let memeQuery = message.content.split(" ").slice(2).join("-").split('-|-'); let toprow = memeQuery[0].split("?").join("~q"); let bottomrow = memeQuery[1].split("?").join("~q"); let link = "https://memegen.link/" + type + "/" + toprow + "/" + bottomrow + ".jpg"; - if(bottomrow.length > 100) { + if (bottomrow.length > 100) { message.channel.send(":x: Error! Bottom text is over 100 characters!"); - } else if(toprow.length > 100) { + } + else if (toprow.length > 100) { message.channel.send(":x: Error! Top text is over 100 characters!"); - } else { - if(memecodes.memecodes[type]) { + } + else { + if (memecodes.memecodes[type]) { message.channel.sendFile(link).catch(error => message.channel.send(":x: An Error Occurred! Please try again later!")); - } else { + } + else { message.channel.send(":x: Error! Meme type not found! Use `;meme list` to view of list of meme codes!"); } } - } else { + } + else { message.channel.send(":x: Error! Only letters, numbers, periods, commas, apostrophes, exclamation points, and question marks are allowed!"); } - } else { + } + else { message.channel.send(":x: Split your two choices with a ' | '!"); } } -}; \ No newline at end of file +}; diff --git a/commands/imageedit/memecodes.json b/commands/imageedit/memecodes.json index 7e86abc0..f3ea029c 100644 --- a/commands/imageedit/memecodes.json +++ b/commands/imageedit/memecodes.json @@ -96,4 +96,4 @@ "elf": "elf", "chosen": "chosen" } -} \ No newline at end of file +} diff --git a/commands/moderation/ban.js b/commands/moderation/ban.js index 50431c73..c9ee4df0 100644 --- a/commands/moderation/ban.js +++ b/commands/moderation/ban.js @@ -2,7 +2,7 @@ const commando = require('discord.js-commando'); const Discord = require('discord.js'); module.exports = class BanCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'ban', aliases: [ @@ -16,8 +16,8 @@ module.exports = class BanCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS', 'BAN_MEMBERS'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS', 'BAN_MEMBERS'])) return; } console.log("[Command] " + message.content); if (message.channel.type !== 'dm') { @@ -25,31 +25,36 @@ module.exports = class BanCommand extends commando.Command { let reason = message.content.split(" ").slice(2).join(" "); if (message.mentions.users.size !== 1) { message.channel.send(":x: Error! Please mention one user!"); - } else { - if(message.member.hasPermission('BAN_MEMBERS')) { - if(message.guild.member(userToBan).bannable) { + } + else { + if (message.member.hasPermission('BAN_MEMBERS')) { + if (message.guild.member(userToBan).bannable) { message.channel.send(":ok_hand:"); message.guild.member(userToBan).ban(); - if(message.guild.channels.exists("name", "mod_logs")) { + if (message.guild.channels.exists("name", "mod_logs")) { const embed = new Discord.RichEmbed() - .setAuthor(message.author.username + '#' + message.author.discriminator, message.author.avatarURL) - .setColor(0xFF0000) - .setFooter('XiaoBot Moderation', this.client.user.avatarURL) - .setTimestamp() - .setDescription('**Member:** ' + userToBan.username + '#' + userToBan.discriminator + ' (' + userToBan.id + ')\n**Action:** Ban\n**Reason:** ' + reason); + .setAuthor(message.author.username + '#' + message.author.discriminator, message.author.avatarURL) + .setColor(0xFF0000) + .setFooter('XiaoBot Moderation', this.client.user.avatarURL) + .setTimestamp() + .setDescription('**Member:** ' + userToBan.username + '#' + userToBan.discriminator + ' (' + userToBan.id + ')\n**Action:** Ban\n**Reason:** ' + reason); message.guild.channels.find('name', 'mod_logs').sendEmbed(embed).catch(console.error); - } else { + } + else { message.channel.send(":notepad_spiral: **Note: No log will be sent, as there is not a channel named 'mod_logs'. Please create it to use the logging feature.**"); } - } else { + } + else { message.channel.send(":x: Error! This member cannot be banned! Perhaps they have a higher role than me?"); } - } else { + } + else { message.channel.send(":x: Error! You don't have the Ban Members Permission!"); } } - } else { + } + else { message.channel.send(":x: Error! This command does not work in DM!"); } } -}; \ No newline at end of file +}; diff --git a/commands/moderation/kick.js b/commands/moderation/kick.js index f41d7350..0ae19201 100644 --- a/commands/moderation/kick.js +++ b/commands/moderation/kick.js @@ -2,7 +2,7 @@ const commando = require('discord.js-commando'); const Discord = require('discord.js'); module.exports = class KickCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'kick', group: 'moderation', @@ -13,8 +13,8 @@ module.exports = class KickCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS', 'KICK_MEMBERS'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS', 'KICK_MEMBERS'])) return; } console.log("[Command] " + message.content); if (message.channel.type !== 'dm') { @@ -22,31 +22,36 @@ module.exports = class KickCommand extends commando.Command { let reason = message.content.split(" ").slice(2).join(" "); if (message.mentions.users.size !== 1) { message.channel.send(":x: Error! Please mention one user!"); - } else { - if(message.member.hasPermission('KICK_MEMBERS')) { - if(message.guild.member(userToKick).kickable) { + } + else { + if (message.member.hasPermission('KICK_MEMBERS')) { + if (message.guild.member(userToKick).kickable) { message.channel.send(":ok_hand:"); message.guild.member(userToKick).kick(); - if(message.guild.channels.exists("name", "mod_logs")) { + if (message.guild.channels.exists("name", "mod_logs")) { const embed = new Discord.RichEmbed() - .setAuthor(message.author.username + '#' + message.author.discriminator, message.author.avatarURL) - .setColor(0xFFA500) - .setFooter('XiaoBot Moderation', this.client.user.avatarURL) - .setTimestamp() - .setDescription('**Member:** ' + userToKick.username + '#' + userToKick.discriminator + ' (' + userToKick.id + ')\n**Action:** Kick\n**Reason:** ' + reason); + .setAuthor(message.author.username + '#' + message.author.discriminator, message.author.avatarURL) + .setColor(0xFFA500) + .setFooter('XiaoBot Moderation', this.client.user.avatarURL) + .setTimestamp() + .setDescription('**Member:** ' + userToKick.username + '#' + userToKick.discriminator + ' (' + userToKick.id + ')\n**Action:** Kick\n**Reason:** ' + reason); message.guild.channels.find('name', 'mod_logs').sendEmbed(embed).catch(console.error); - } else { + } + else { message.channel.send(":notepad_spiral: **Note: No log will be sent, as there is not a channel named 'mod_logs'. Please create it to use the logging feature.**"); } - } else { + } + else { message.channel.send(":x: Error! This member cannot be kicked! Perhaps they have a higher role than me?"); } - } else { + } + else { message.channel.send(":x: Error! You don't have the Kick Members Permission!"); } } - } else { + } + else { message.channel.send(":x: Error! This command does not work in DM!"); } } -}; \ No newline at end of file +}; diff --git a/commands/moderation/warn.js b/commands/moderation/warn.js index a94b9987..6484a0c9 100644 --- a/commands/moderation/warn.js +++ b/commands/moderation/warn.js @@ -2,7 +2,7 @@ const commando = require('discord.js-commando'); const Discord = require('discord.js'); module.exports = class WarnCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'warn', group: 'moderation', @@ -13,8 +13,8 @@ module.exports = class WarnCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; } console.log("[Command] " + message.content); if (message.channel.type !== 'dm') { @@ -22,26 +22,30 @@ module.exports = class WarnCommand extends commando.Command { let reason = message.content.split(" ").slice(2).join(" "); if (message.mentions.users.size !== 1) { message.channel.send(":x: Error! Please mention one user!"); - } else { - if(message.member.hasPermission('MANAGE_MESSAGES')) { + } + else { + if (message.member.hasPermission('MANAGE_MESSAGES')) { message.channel.send(":ok_hand:"); - if(message.guild.channels.exists("name", "mod_logs")) { + if (message.guild.channels.exists("name", "mod_logs")) { const embed = new Discord.RichEmbed() - .setAuthor(message.author.username + '#' + message.author.discriminator, message.author.avatarURL) - .setColor(0xFFFF00) - .setFooter('XiaoBot Moderation', this.client.user.avatarURL) - .setTimestamp() - .setDescription('**Member:** ' + userToWarn.username + '#' + userToWarn.discriminator + ' (' + userToWarn.id + ')\n**Action:** Warn\n**Reason:** ' + reason); + .setAuthor(message.author.username + '#' + message.author.discriminator, message.author.avatarURL) + .setColor(0xFFFF00) + .setFooter('XiaoBot Moderation', this.client.user.avatarURL) + .setTimestamp() + .setDescription('**Member:** ' + userToWarn.username + '#' + userToWarn.discriminator + ' (' + userToWarn.id + ')\n**Action:** Warn\n**Reason:** ' + reason); message.guild.channels.find('name', 'mod_logs').sendEmbed(embed).catch(console.error); - } else { + } + else { message.channel.send("**Note: No log will be sent, as there is not a channel named 'mod_logs'. Please create it to use the logging feature.**"); } - } else { + } + else { message.channel.send(":x: Error! You don't have the Manage Messages Permission!"); } } - } else { + } + else { message.channel.send(":x: Error! This command does not work in DM!"); } } -}; \ No newline at end of file +}; diff --git a/commands/numedit/math.js b/commands/numedit/math.js index 3bdc6c0e..b5a20059 100644 --- a/commands/numedit/math.js +++ b/commands/numedit/math.js @@ -2,7 +2,7 @@ const commando = require('discord.js-commando'); const math = require('mathjs'); module.exports = class MathCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'math', aliases: [ @@ -19,16 +19,17 @@ module.exports = class MathCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let expression = message.content.split(" ").slice(1).join(" "); try { let solved = math.eval(expression); message.channel.send(solved).catch(error => message.channel.send(":x: Error! Invalid statement!")); - } catch(err) { + } + catch (err) { message.channel.send(":x: Error! Invalid statement!"); } } -}; \ No newline at end of file +}; diff --git a/commands/numedit/roman.js b/commands/numedit/roman.js index 5ffb46fe..37f78583 100644 --- a/commands/numedit/roman.js +++ b/commands/numedit/roman.js @@ -2,9 +2,9 @@ const commando = require('discord.js-commando'); const romanNumeralConverter = require('roman-numeral-converter-mmxvi'); module.exports = class RomanCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { - name: 'roman', + name: 'roman', group: 'numedit', memberName: 'roman', description: 'Converts numbers to Roman Numerals. (;roman 2)', @@ -13,16 +13,17 @@ module.exports = class RomanCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let numberToRoman = message.content.split(" ").slice(1).join(" "); let romanInterger = Number(numberToRoman); - if(romanInterger > 1000000) { + if (romanInterger > 1000000) { message.channel.send(':x: Error! Number is too high!'); - } else { + } + else { message.channel.send(romanNumeralConverter.getRomanFromInteger(romanInterger)).catch(error => message.channel.send(':x: Error! Something went wrong! Perhaps you entered nothing?')); } } -}; \ No newline at end of file +}; diff --git a/commands/random/canyounot.js b/commands/random/canyounot.js index b39d3d6f..eed47f5e 100644 --- a/commands/random/canyounot.js +++ b/commands/random/canyounot.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class CanYouNot extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'canyounot', group: 'random', @@ -12,10 +12,10 @@ module.exports = class CanYouNot extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); message.channel.send('Can YOU not?'); } -}; \ No newline at end of file +}; diff --git a/commands/random/giveflower.js b/commands/random/giveflower.js index 923943d9..219c245c 100644 --- a/commands/random/giveflower.js +++ b/commands/random/giveflower.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class GiveFlowerCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'giveflower', aliases: [ @@ -16,10 +16,10 @@ module.exports = class GiveFlowerCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); message.channel.send('Ooh, what a pretty flower. What, I may have it? Thanks! I like flowers, yes? ♪'); } -}; \ No newline at end of file +}; diff --git a/commands/random/lenny.js b/commands/random/lenny.js index 92932e5b..fb7e7235 100644 --- a/commands/random/lenny.js +++ b/commands/random/lenny.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class LennyCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'lenny', group: 'random', @@ -12,10 +12,10 @@ module.exports = class LennyCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); message.channel.send('( ͡° ͜ʖ ͡°)'); } -}; \ No newline at end of file +}; diff --git a/commands/random/lottery.js b/commands/random/lottery.js index ed19382a..8708928d 100644 --- a/commands/random/lottery.js +++ b/commands/random/lottery.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class LotteryCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'lottery', group: 'random', @@ -12,15 +12,16 @@ module.exports = class LotteryCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let lotteryNumber = ['Winner'][Math.floor(Math.random() * 100)]; - if(lotteryNumber === "Winner") { + if (lotteryNumber === "Winner") { message.channel.send("Wow " + message.author.username + "! You actually won! Great job!"); - } else { + } + else { message.channel.send("Nope, sorry, " + message.author.username + ", you lost."); } } -}; \ No newline at end of file +}; diff --git a/commands/random/mathgame.js b/commands/random/mathgame.js index f847d044..ed6e6d7d 100644 --- a/commands/random/mathgame.js +++ b/commands/random/mathgame.js @@ -3,7 +3,7 @@ const Discord = require('discord.js'); const math = require('mathjs'); module.exports = class MathGameCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'mathgame', group: 'random', @@ -14,8 +14,8 @@ module.exports = class MathGameCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; } console.log("[Command] " + message.content); let [level] = message.content.toLowerCase().split(" ").slice(1); @@ -24,28 +24,29 @@ module.exports = class MathGameCommand extends commando.Command { let randomValue; switch (level) { case "easy": - randomValue = 10; - break; + randomValue = 10; + break; case "medium": - randomValue = 50; - break; + randomValue = 50; + break; case "hard": - randomValue = 100; - break; - case "extreme": - randomValue = 1000; - break; + randomValue = 100; + break; + case "extreme": + randomValue = 1000; + break; } let randomValue1 = Math.floor(Math.random() * randomValue) + 1; let randomValue2 = Math.floor(Math.random() * randomValue) + 1; let randomExpression = randomValue1 + randomType + randomValue2; let solved = math.eval(randomExpression); - if(randomValue === undefined) { + if (randomValue === undefined) { message.channel.send(':x: Error! No difficulty set! (Choose Easy, Medium, Hard, or Extreme)'); - } else { + } + else { const embed = new Discord.RichEmbed() - .setTitle('You have **ten** seconds to answer:') - .setDescription(randomExpression); + .setTitle('You have **ten** seconds to answer:') + .setDescription(randomExpression); message.channel.sendEmbed(embed).then(() => { message.channel.awaitMessages(response => response.content === solved.toString() && response.author.id === message.author.id, { max: 1, @@ -59,4 +60,4 @@ module.exports = class MathGameCommand extends commando.Command { }); } } -}; \ No newline at end of file +}; diff --git a/commands/random/nitro.js b/commands/random/nitro.js index 1e060d80..a7ced7e4 100644 --- a/commands/random/nitro.js +++ b/commands/random/nitro.js @@ -2,7 +2,7 @@ const commando = require('discord.js-commando'); const Discord = require('discord.js'); module.exports = class NitroCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'nitro', group: 'random', @@ -13,16 +13,16 @@ module.exports = class NitroCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; } console.log("[Command] " + message.content); const embed = new Discord.RichEmbed() - .setAuthor("Discord Nitro") - .setThumbnail("https://pbs.twimg.com/profile_images/814184180649197568/y2eZcVMq.jpg") - .setColor(0x748BD9) - .setURL("https://discordapp.com/nitro") - .setDescription("This Message can only be viewed by members with Discord Nitro.\n\n\n[More Information](https://discordapp.com/nitro)"); + .setAuthor("Discord Nitro") + .setThumbnail("https://pbs.twimg.com/profile_images/814184180649197568/y2eZcVMq.jpg") + .setColor(0x748BD9) + .setURL("https://discordapp.com/nitro") + .setDescription("This Message can only be viewed by members with Discord Nitro.\n\n\n[More Information](https://discordapp.com/nitro)"); message.channel.sendEmbed(embed).catch(console.error); } -}; \ No newline at end of file +}; diff --git a/commands/random/slowclap.js b/commands/random/slowclap.js index d10442bd..a79896e8 100644 --- a/commands/random/slowclap.js +++ b/commands/random/slowclap.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class SlowClapCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'slowclap', group: 'random', @@ -12,10 +12,10 @@ module.exports = class SlowClapCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); message.channel.send('*slow clap*'); } -}; \ No newline at end of file +}; diff --git a/commands/random/soundboard.js b/commands/random/soundboard.js index 4818c063..d3f37816 100644 --- a/commands/random/soundboard.js +++ b/commands/random/soundboard.js @@ -2,7 +2,7 @@ const commando = require('discord.js-commando'); const sounds = require('./sounds.json'); module.exports = class SoundBoardCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'soundboard', aliases: [ @@ -17,48 +17,55 @@ module.exports = class SoundBoardCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['CONNECT', 'SPEAK', 'ADD_REACTIONS'])) { + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['CONNECT', 'SPEAK', 'ADD_REACTIONS'])) { message.channel.send(':x: Error! In order to do this command, you must give me the permissions to "Connect" and "Speak", as well as the permission to Add Reactions!'); - } else { + } + else { let voiceChannel = message.member.voiceChannel; if (!voiceChannel) { - return message.channel.send(`:x: Error! Please be in a voice channel first!`); + return message.channel.send(`:x: Error! Please be in a voice channel first!`); } - let soundToPlay = message.content.toLowerCase().split(" ").slice(1).join(" "); - if(soundToPlay === "") { - message.channel.send(':x: Error! No sound set. Please use ;soundboard list to see a list of sounds you can play.'); - } else if(soundToPlay === 'list') { - message.channel.send("**Available Sounds:** Cat, Pikachu, Vader, Doh, It's a Trap, Mario Death, Pokemon Center, Dun Dun Dun, Spongebob, Ugly Barnacle, Woo Hoo, Space, GLaDOS Bird, Airhorn, Zelda Chest, Eat my Shorts, No This is Patrick, Wumbo"); - } else if(soundToPlay === sounds.avaliable[soundToPlay]) { + let soundToPlay = message.content.toLowerCase().split(" ").slice(1).join(" "); + if (soundToPlay === "") { + message.channel.send(':x: Error! No sound set. Please use ;soundboard list to see a list of sounds you can play.'); + } + else if (soundToPlay === 'list') { + message.channel.send("**Available Sounds:** Cat, Pikachu, Vader, Doh, It's a Trap, Mario Death, Pokemon Center, Dun Dun Dun, Spongebob, Ugly Barnacle, Woo Hoo, Space, GLaDOS Bird, Airhorn, Zelda Chest, Eat my Shorts, No This is Patrick, Wumbo"); + } + else if (soundToPlay === sounds.avaliable[soundToPlay]) { let alreadyConnected = this.client.voiceConnections.get(voiceChannel.guild.id); - if(alreadyConnected) { - if(alreadyConnected.channel.id === voiceChannel.id) { - message.channel.send(':x: Error! I am already playing a sound!'); - } else { + if (alreadyConnected) { + if (alreadyConnected.channel.id === voiceChannel.id) { + message.channel.send(':x: Error! I am already playing a sound!'); + } + else { message.channel.send(':x: Error! I am already playing a sound!'); } - } else { - voiceChannel.join().then(connection => { - let stream = sounds.paths[soundToPlay]; - let dispatcher = connection.playStream(stream); - message.react('🔊'); - dispatcher.on('end', () => { - voiceChannel.leave(); - message.react('✅'); - }); - }); } - } else { - message.channel.send(':x: Error! Sound not found! Use `;soundboard list` to see a list of sounds you can play.'); - } + else { + voiceChannel.join().then(connection => { + let stream = sounds.paths[soundToPlay]; + let dispatcher = connection.playStream(stream); + message.react('🔊'); + dispatcher.on('end', () => { + voiceChannel.leave(); + message.react('✅'); + }); + }); + } + } + else { + message.channel.send(':x: Error! Sound not found! Use `;soundboard list` to see a list of sounds you can play.'); + } } - } else { + } + else { message.channel.send(':x: This is a DM!'); } } -}; \ No newline at end of file +}; diff --git a/commands/random/sounds.json b/commands/random/sounds.json index 1fc51d0b..97a4eaf7 100644 --- a/commands/random/sounds.json +++ b/commands/random/sounds.json @@ -39,4 +39,4 @@ "no this is patrick": "./sounds/no-this-is-patrick.mp3", "wumbo": "./sounds/wumbo.mp3" } -} \ No newline at end of file +} diff --git a/commands/random/spam.js b/commands/random/spam.js index 0148cdb8..304277d9 100644 --- a/commands/random/spam.js +++ b/commands/random/spam.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class SpamCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'spam', group: 'random', @@ -12,10 +12,10 @@ module.exports = class SpamCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'ATTACH_FILES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'ATTACH_FILES'])) return; } console.log("[Command] " + message.content); message.channel.sendFile("./images/Spam.jpg"); } -}; \ No newline at end of file +}; diff --git a/commands/random/typinggame.js b/commands/random/typinggame.js index b8153570..2afe7005 100644 --- a/commands/random/typinggame.js +++ b/commands/random/typinggame.js @@ -2,7 +2,7 @@ const commando = require('discord.js-commando'); const Discord = require('discord.js'); module.exports = class TypingGameCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'typinggame', group: 'random', @@ -13,8 +13,8 @@ module.exports = class TypingGameCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; } console.log("[Command] " + message.content); let [level] = message.content.toLowerCase().split(" ").slice(1); @@ -23,39 +23,40 @@ module.exports = class TypingGameCommand extends commando.Command { let time; switch (level) { case "easy": - time = 25000; - break; + time = 25000; + break; case "medium": - time = 20000; - break; + time = 20000; + break; case "hard": - time = 15000; - break; - case "extreme": - time = 10000; - break; + time = 15000; + break; + case "extreme": + time = 10000; + break; } let levelWord; switch (level) { case "easy": - levelWord = "twenty-five"; - break; + levelWord = "twenty-five"; + break; case "medium": - levelWord = "twenty"; - break; + levelWord = "twenty"; + break; case "hard": - levelWord = "fifteen"; - break; - case "extreme": - levelWord = "ten"; - break; + levelWord = "fifteen"; + break; + case "extreme": + levelWord = "ten"; + break; } - if(time === undefined) { + if (time === undefined) { message.channel.send(':x: Error! No difficulty set! (Choose Easy, Medium, Hard, or Extreme)'); - } else { + } + else { const embed = new Discord.RichEmbed() - .setTitle('You have **' + levelWord + '** seconds to type:') - .setDescription(randomSentence); + .setTitle('You have **' + levelWord + '** seconds to type:') + .setDescription(randomSentence); message.channel.sendEmbed(embed).then(() => { message.channel.awaitMessages(response => response.content === randomSentence && response.author.id === message.author.id, { max: 1, @@ -69,4 +70,4 @@ module.exports = class TypingGameCommand extends commando.Command { }); } } -}; \ No newline at end of file +}; diff --git a/commands/response/8ball.js b/commands/response/8ball.js index ad85ea51..e08f9efe 100644 --- a/commands/response/8ball.js +++ b/commands/response/8ball.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class MagicBall extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: '8ball', group: 'response', @@ -12,16 +12,16 @@ module.exports = class MagicBall extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let question = message.content.split(" ").slice(1).join(" "); let answers = ['It seems the answer is yes, yes?', 'It seems the answer is no.', 'It is a little doubtful, yes?', 'It seems it is very likely to be true.']; answers = answers[Math.floor(Math.random() * answers.length)]; - if(question === "") { + if (question === "") { question = "Not Specified." } message.channel.send("Question: " + question + "\n:8ball: " + answers + " :8ball:"); } -}; \ No newline at end of file +}; diff --git a/commands/response/cat.js b/commands/response/cat.js index 3e245466..4fdf18b6 100644 --- a/commands/response/cat.js +++ b/commands/response/cat.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class RandomCat extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'cat', group: 'response', @@ -12,12 +12,12 @@ module.exports = class RandomCat extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'ATTACH_FILES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'ATTACH_FILES'])) return; } console.log("[Command] " + message.content); let cat = ["1.jpg", "2.jpg", "3.jpg", "4.jpg", "5.jpg", "6.jpg", "7.jpg", "8.jpg", "9.jpg", "10.jpg", "11.jpeg", "12.jpg", "13.jpeg", "14.png", "15.jpg", "16.jpg", "17.jpg", "18.jpg", "19.jpg", "20.jpg"]; cat = cat[Math.floor(Math.random() * cat.length)]; message.channel.sendFile("./images/Cat" + cat); } -}; \ No newline at end of file +}; diff --git a/commands/response/choose.js b/commands/response/choose.js index 8f4664e3..05757d38 100644 --- a/commands/response/choose.js +++ b/commands/response/choose.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class ChooseCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'choose', aliases: [ @@ -15,19 +15,20 @@ module.exports = class ChooseCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); - if(message.content.includes(" | ")) { + if (message.content.includes(" | ")) { let choices = message.content.split(" ").slice(1).join(" ").split(' | '); let choice1 = choices[0]; let choice2 = choices[1]; let randomChoice = [choice1, choice2]; randomChoice = randomChoice[Math.floor(Math.random() * randomChoice.length)]; message.channel.send("I choose " + randomChoice + "!"); - } else { + } + else { message.channel.send(":x: Split your two choices with a ' | '!"); } } -}; \ No newline at end of file +}; diff --git a/commands/response/coin.js b/commands/response/coin.js index c6ce44c5..26e52dc9 100644 --- a/commands/response/coin.js +++ b/commands/response/coin.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class CoinFlipCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'coin', aliases: [ @@ -16,12 +16,12 @@ module.exports = class CoinFlipCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let coin = ['Heads', 'Tails']; coin = coin[Math.floor(Math.random() * coin.length)]; message.channel.send("It landed on " + coin); } -}; \ No newline at end of file +}; diff --git a/commands/response/compliment.js b/commands/response/compliment.js index 211d1817..c3837b66 100644 --- a/commands/response/compliment.js +++ b/commands/response/compliment.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class ComplimentCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'compliment', group: 'response', @@ -12,17 +12,18 @@ module.exports = class ComplimentCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let thingToCompliment = message.content.split(" ").slice(1).join(" "); let compliments = ["Your smile is contagious.", "You look great today.", "You're a smart cookie.", "I bet you make babies smile.", "You have impeccable manners.", "I like your style.", "You have the best laugh.", "I appreciate you.", "You are the most perfect you there is.", "You are enough.", "You're strong.", "Your perspective is refreshing.", "You're an awesome friend.", "You light up the room.", "You shine brighter than a shooting star.", "You deserve a hug right now.", "You should be proud of yourself.", "You're more helpful than you realize.", "You have a great sense of humor.", "You've got all the right moves!", "Is that your picture next to 'charming' in the dictionary?", "Your kindness is a balm to all who encounter it.", "You're all that and a super-size bag of chips.", "On a scale from 1 to 10, you're an 11.", "You are brave.", "You're even more beautiful on the inside than you are on the outside.", "You have the courage of your convictions.", "Your eyes are breathtaking.", "If cartoon bluebirds were real, a bunch of them would be sitting on your shoulders singing right now.", "You are making a difference.", "You're like sunshine on a rainy day.", "You bring out the best in other people.", "Your ability to recall random factoids at just the right time is impressive.", "You're a great listener.", "How is it that you always look great, even in sweatpants?", "Everything would be better if more people were like you!", "I bet you sweat glitter.", "You were cool way before hipsters were cool.", "That color is perfect on you.", "Hanging out with you is always a blast.", "You always know -- and say -- exactly what I need to hear when I need to hear it.", "You smell really good.", "You may dance like no one's watching, but everyone's watching because you're an amazing dancer!", "Being around you makes everything better!", "When you say, 'I meant to do that,' I totally believe you.", "When you're not afraid to be yourself is when you're most incredible.", "Colors seem brighter when you're around.", "You're more fun than a ball pit filled with candy. (And seriously, what could be more fun than that?)", "That thing you don't like about yourself is what makes you so interesting.", "You're wonderful.", "You have cute elbows. For reals!", "Jokes are funnier when you tell them.", "You're better than a triple-scoop ice cream cone. With sprinkles.", "Your bellybutton is kind of adorable.", "Your hair looks stunning.", "You're one of a kind!", "You're inspiring.", "If you were a box of crayons, you'd be the giant name-brand one with the built-in sharpener.", "You should be thanked more often. So thank you!!", "Our community is better because you're in it.", "Someone is getting through something hard right now because you've got their back.", "You have the best ideas.", "You always know how to find that silver lining.", "Everyone gets knocked down sometimes, but you always get back up and keep going.", "You're a candle in the darkness.", "You're a great example to others.", "Being around you is like being on a happy little vacation.", "You always know just what to say.", "You're always learning new things and trying to better yourself, which is awesome.", "If someone based an Internet meme on you, it would have impeccable grammar.", "You could survive a Zombie apocalypse.", "You're more fun than bubble wrap.", "When you make a mistake, you fix it.", "Who raised you? They deserve a medal for a job well done.", "You're great at figuring stuff out.", "Your voice is magnificent.", "The people you love are lucky to have you in their lives.", "You're like a breath of fresh air.", "You're gorgeous -- and that's the least interesting thing about you, too.", "You're so thoughtful.", "Your creative potential seems limitless.", "Your name suits you to a T.", "You're irresistible when you blush.", "Actions speak louder than words, and yours tell an incredible story.", "Somehow you make time stop and fly at the same time.", "When you make up your mind about something, nothing stands in your way.", "You seem to really know who you are.", "Any team would be lucky to have you on it.", "In high school I bet you were voted 'most likely to keep being awesome.'", "I bet you do the crossword puzzle in ink.", "Babies and small animals probably love you.", "If you were a scented candle they'd call it Perfectly Imperfect (and it would smell like summer).", "There's ordinary, and then there's you.", "You're someone's reason to smile.", "You're even better than a unicorn, because you're real.", "How do you keep being so funny and making everyone laugh?", "You have a good head on your shoulders.", "Has anyone ever told you that you have great posture?", "The way you treasure your loved ones is incredible.", "You're really something special.", "You're a gift to those around you.", "You don't deserve it."]; compliments = compliments[Math.floor(Math.random() * compliments.length)]; - if(thingToCompliment === '') { + if (thingToCompliment === '') { message.reply(compliments); - } else { + } + else { message.channel.send(thingToCompliment + ", " + compliments); } } -}; \ No newline at end of file +}; diff --git a/commands/response/factcore.js b/commands/response/factcore.js index 9ff5593d..0e03bc0c 100644 --- a/commands/response/factcore.js +++ b/commands/response/factcore.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class FactCore extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'factcore', group: 'response', @@ -12,12 +12,12 @@ module.exports = class FactCore extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let facts = ["The billionth digit of Pi is 9.", "Humans can survive underwater. But not for very long.", "A nanosecond lasts one billionth of a second.", "Honey does not spoil.", "The atomic weight of Germanium is seven two point four six.", "An ostrich's eye is bigger than its brain.", "Rats cannot throw up.", "Iguanas can stay underwater for twenty-eight point seven minutes.", "The moon orbits the Earth every 27.32 days.", "A gallon of water weighs 8.34 pounds.", "According to Norse legend, thunder god Thor's chariot was pulled across the sky by two goats.", "Tungsten has the highest melting point of any metal, at 3,410 degrees Celsius.", "Gently cleaning the tongue twice a day is the most effective way to fight bad breath.", "The Tariff Act of 1789, established to protect domestic manufacture, was the second salute ever enacted by the United States government.", "The value of Pi is the ratio of any circle's circumference to its diameter in Euclidean space.", "The Mexican-American War ended in 1848 with the signing of the Treaty of Guadalupe Hidalgo.", "In 1879, Sandford Fleming first proposed the adoption of worldwide standardized time zones at the Royal Canadian Institute.", "Marie Curie invented the theory of radioactivity, the treatment of radioactivity, and the dying of radioactivity.", "At the end of The Seagull by Anton Chekhov, Konstantin kills himself.", "Hot water freezes quicker than cold water.", "The situation you are in is very dangerous.", "Polymerase I polypeptide A is a human gene.", "The sun is 333,330 times larger than Earth.", "Dental floss has superb tensile strength.", "Raseph, the Semitic god of war and plague, had a gazelle growing out of his forehead.", "Human tapeworms can grow up to twenty-two point nine meters.", "If you have trouble with simple counting, use the following mnemonic device: one comes before two comes before 60 comes after 12 comes before six trillion comes after 504. This should make your earlier counting difficulties seem like no big deal.", "The first person to prove that cow's milk is drinkable was very, very thirsty.", "Roman toothpaste was made with human urine. Urine as an ingredient in toothpaste continued to be used up until the 18th century.", "Volcano-ologists are experts in the study of volcanoes.", "In Victorian England, a commoner was not allowed to look directly at the Queen, due to a belief at the time that the poor had the ability to steal thoughts. Science now believes that less than 4 percent of poor people are able to do this.", "Cellular phones will not give you cancer. Only hepatitis.", "In Greek myth, Prometheus stole fire from the Gods and gave it to humankind. The jewelry he kept for himself.", "The Schrodinger's cat paradox outlines a situation in which a cat in a box must be considered, for all intents and purposes, simultaneously alive and dead. Schrodinger created this paradox as a justification for killing cats.", "In 1862, Abraham Lincoln signed the Emancipation Proclamation, freeing the slaves. Like everything he did, Lincoln freed the slaves while sleepwalking, and later had no memory of the event.", "The plural of surgeon general is surgeons general. The past tense of surgeons general is surgeonsed general.", "Contrary to popular belief, the Eskimo does not have one hundred different words for snow. They do, however, have two hundred and thirty-four words for fudge.", "Halley's Comet can be viewed orbiting Earth every seventy-six years. For the other seventy-five, it retreats to the heart of the sun, where it hibernates undisturbed.", "The first commercial airline flight took to the air in 1914. Everyone involved screamed the entire way.", "Edmund Hillary, the first person to climb Mount Everest, did so accidentally while chasing a bird.", "We will both die because of your negligence.", "This is a bad plan. You will fail.", "He will most likely kill you, violently.", "He will most likely kill you.", "You will be dead soon.", "You are going to die in this room.", "The Fact Sphere is a good person, whose insights are relevant.", "The Fact Sphere is a good sphere, with many friends.", "Dreams are the subconscious mind's way of reminding people to go to school naked and have their teeth fall out.", "The square root of rope is string.", "89 percent of magic tricks are not actually magic. Technically, they are sorcery.", "At some point in their lives 1 in 6 children will be abducted by the Dutch.", "According to most advanced algorithms, the world's best name is Craig.", "To make a photocopier, simply photocopy a mirror.", "Whales are twice as intelligent, and three times as delicious, as humans.", "Pants were invented by sailors in the sixteenth century to avoid Poseiden's wrath. It was believed that the sight of naked sailors angered the sea god.", "In Greek myth, the craftsman Daedalus invented human flight so a group of Minotaurs would stop teasing him about it.", "The average life expectancy of a rhinoceros in captivity is 15 years.", "China produces the world's second largest crop of soybeans.", "In 1948, at the request of a dying boy, baseball legend Babe Ruth ate seventy-five hot dogs, then died of hot dog poisoning.", "William Shakespeare did not exist. His plays were masterminded in 1589 by Francis Bacon, who used a Ouija board to enslave play-writing ghosts.", "It is incorrectly noted that Thomas Edison invented push-ups in 1878. Nikolai Tesla had in fact patented the activity three years earlier, under the name Tesla-cize.", "The automobile brake was not invented until 1895. Before this, someone had to remain in the car at all times, driving in circles until passengers returned from their errands.", "The most poisonous fish in the world is the orange ruffy. Everything but its eyes are made of deadly poison. The ruffy's eyes are composed of a less harmful, deadly poison.", "The occupation of court jester was invented accidentally, when a vassal's epilepsy was mistaken for capering.", "Before the Wright Brothers invented the airplane, anyone wanting to fly anywhere was required to eat 200 pounds of helium.", "Before the invention of scrambled eggs in 1912, the typical breakfast was either whole eggs still in the shell or scrambled rocks.", "During the Great Depression, the Tennessee Valley Authority outlawed pet rabbits, forcing many to hot glue-gun long ears onto their pet mice.", "The situation is hopeless.", "Diamonds are made when coal is put under intense pressure. Diamonds put under intense pressure become foam pellets, commonly used today as packing material.", "Corruption is at 25 percent.", "Corruption is at 50 percent.", "Fact: Space does not exist.", "The Fact Sphere is not defective. Its facts are wholly accurate and very interesting.", "The Fact Sphere is always right.", "You will never go into space.", "The Space Sphere will never go to space.", "While the submarine is vastly superior to the boat in every way, over 97 percent of people still use boats for aquatic transportation.", "The likelihood of you dying within the next five minutes is eighty-seven point six one percent.", "The likelihood of you dying violently within the next five minutes is eighty-seven point six one percent.", "You are about to get me killed.", "The Fact Sphere is the most intelligent sphere.", "The Fact Sphere is the most handsome sphere.", "The Fact Sphere is incredibly handsome.", "Sphere that insist of going into space are inferior to spheres who don't.", "Whoever wins this battle is clearly superior, and will earn the allegiance of the Fact Sphere.", "You could stand to lose a few pounds.", "Avocados have the highest fiber and calories of any fruit.", "Avocados have the highest fiber and calories of any fruit. They are found in Australians.", "Every square inch of the human body has 32 million bacteria on it.", "The average adult body contains half a pound of salt.", "The Adventure Sphere is a blowhard and a coward.", "Twelve. Twelve. Twelve. Twelve. Twelve. Twelve. Twelve. Twelve. Twelve. Twelve.", "Pens. Pens. Pens. Pens. Pens. Pens. Pens.", "Apples. Oranges. Pears. Plums. Kumquats. Tangerines. Lemons. Limes. Avocado. Tomoato. Banana. Papaya. Guava.", "Error. Error. Error. File not found.", "Error. Error. Error. Fact not found.", "Fact not found.", "Warning, sphere corruption at twenty-- rats cannot throw up."]; facts = facts[Math.floor(Math.random() * facts.length)]; message.channel.send(facts); } -}; \ No newline at end of file +}; diff --git a/commands/response/fishy.js b/commands/response/fishy.js index cd5f9d77..146e46e0 100644 --- a/commands/response/fishy.js +++ b/commands/response/fishy.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class FishyCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'fishy', aliases: [ @@ -16,12 +16,12 @@ module.exports = class FishyCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let fish = [':fish:', ':tropical_fish:', ':blowfish:']; fish = fish[Math.floor(Math.random() * fish.length)]; message.channel.send("You caught a: " + fish); } -}; \ No newline at end of file +}; diff --git a/commands/response/fortune.js b/commands/response/fortune.js index 56a0b503..76ae3c32 100644 --- a/commands/response/fortune.js +++ b/commands/response/fortune.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class FortuneCookieCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'fortune', aliases: [ @@ -15,12 +15,12 @@ module.exports = class FortuneCookieCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let fortunes = ["Do not seek so much to find the answer as much as to understand the question better.", "You will soon be honored by someone you respect.", "Happiness comes from a good life.", "You are contemplating some action which will bring credit upon you.", "Be prepared for extra energy.", "You are admired for your adventurous ways.", "The love of your life is sitting across from you.", "Beauty is simply beauty. Originality is magical.", "Never quit!", "Today is an ideal time to water your personal garden.", "Questions provide the key to unlocking our unlimited potential.", "Expect great things and great things will come.", "The Greatest War Sometimes Isn't On The Battlefield But Against Oneself.", "Become who you are.", "In case of fire, keep calm, pay bill and run.", "Anyone who dares to be, can never be weak.", "You broke my cookie!", "Dream lofty dreams, and as you dream, so shall you become.", "You've got what it takes, but it will take everything you've got!", "Trust your intuition.", "The wise are aware of their treasure, while fools follow their vanity.", "You will always have good luck in your personal affairs.", "You don't need talent to gain experience.", "All the preparation you've done will finally be paying off!", "Determination is the wake-up call to the human will.", "The most useless energy is trying to change what and who God so carefully created.", "You cannot become rich except by enriching others.", "Your happiness is intertwined with your outlook on life.", "Sing and rejoice, fortune is smiling on you.", "Well-arranged time is the surest sign of a well-arranged mind."]; fortunes = fortunes[Math.floor(Math.random() * fortunes.length)]; message.channel.send(fortunes); } -}; \ No newline at end of file +}; diff --git a/commands/response/motivate.js b/commands/response/motivate.js index 590a4f55..0367636f 100644 --- a/commands/response/motivate.js +++ b/commands/response/motivate.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class MotivateCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'motivate', aliases: [ @@ -16,15 +16,16 @@ module.exports = class MotivateCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let userToMotivate = message.content.split(" ").slice(1).join(" "); - if(userToMotivate === '') { + if (userToMotivate === '') { message.reply('https://www.youtube.com/watch?v=ZXsQAXx_ao0'); - } else { + } + else { message.channel.send(userToMotivate + ", https://www.youtube.com/watch?v=ZXsQAXx_ao0"); } } -}; \ No newline at end of file +}; diff --git a/commands/response/name.js b/commands/response/name.js index b993dbb9..0f83db44 100644 --- a/commands/response/name.js +++ b/commands/response/name.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class RandomNameGen extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'name', aliases: [ @@ -16,8 +16,8 @@ module.exports = class RandomNameGen extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let randomFirstMale = ["Bob", "Daniel", "Logan", "Chris", "Nathan", "George", "Mart", "Charlie", "Felix", "Ralph", "William", "Max", "Jerry", "Marty", "Joshua", "Cody", "Richard", "Alex", "Alexander", "Jordan", "Zachary", "Bill", "Alfred", "Bruce", "Caiden", "Calvin", "Eric", "Robert", "Mark", "Miles", "Nash", "Ronald", "Ivan", "Edgar", "Royal", "Augustine", "Dominic", "Noel", "Rocky", "Grover", "Paul", "Jeremy", "Stevie", "Brock", "Jc", "Tony", "Enoch", "Zachery", "Harvey", "Gilbert", "Chang", "Emery", "Carroll", "Odell", "Jean", "Archie", "Russ", "Barry", "Lowell", "Jacob", "Riku", "Frederic", "Levi", "Faustino", "Leland", "Domenic", "Irwin", "Moises", "Louie", "Larry", "Victor"]; @@ -28,12 +28,14 @@ module.exports = class RandomNameGen extends commando.Command { randomLast = randomLast[Math.floor(Math.random() * randomLast.length)]; let randomFirstBoth = [randomFirstMale, randomFirstFemale] randomFirstBoth = randomFirstBoth[Math.floor(Math.random() * randomFirstBoth.length)]; - if(message.content.toLowerCase().split(" ").slice(1).includes("male")) { + if (message.content.toLowerCase().split(" ").slice(1).includes("male")) { message.channel.send(randomFirstMale + " " + randomLast); - } else if(message.content.toLowerCase().split(" ").slice(1).includes("female")) { + } + else if (message.content.toLowerCase().split(" ").slice(1).includes("female")) { message.channel.send(randomFirstFemale + " " + randomLast); - } else { + } + else { message.channel.send(randomFirstBoth + " " + randomLast); } } -}; \ No newline at end of file +}; diff --git a/commands/response/offspring.js b/commands/response/offspring.js index 40d10b16..aa10b9ff 100644 --- a/commands/response/offspring.js +++ b/commands/response/offspring.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class OffspringCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'offspring', aliases: [ @@ -17,12 +17,12 @@ module.exports = class OffspringCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let gender = ['boy', 'girl']; gender = gender[Math.floor(Math.random() * gender.length)]; message.channel.send("It's a " + gender + "!"); } -}; \ No newline at end of file +}; diff --git a/commands/response/potato.js b/commands/response/potato.js index b44cf7d0..95cd0633 100644 --- a/commands/response/potato.js +++ b/commands/response/potato.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class PotatoCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'potato', group: 'response', @@ -12,12 +12,12 @@ module.exports = class PotatoCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'ATTACH_FILES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'ATTACH_FILES'])) return; } console.log("[Command] " + message.content); let potato = ["1.jpg", "2.jpg", "3.jpg", "4.jpg", "5.gif", "6.png", "7.jpg", "8.jpg", "9.jpg"]; potato = potato[Math.floor(Math.random() * potato.length)]; message.channel.sendFile("./images/Potato" + potato); } -}; \ No newline at end of file +}; diff --git a/commands/response/pun.js b/commands/response/pun.js index e2ae1a1b..85c8885d 100644 --- a/commands/response/pun.js +++ b/commands/response/pun.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class RandomPun extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'pun', group: 'response', @@ -12,12 +12,12 @@ module.exports = class RandomPun extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'ATTACH_FILES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'ATTACH_FILES'])) return; } console.log("[Command] " + message.content); let pun = ["Pun1.jpg", "Pun2.jpg", "Pun3.jpg", "Pun4.jpg", "Pun5.jpg", "Pun6.jpg", "Pun7.jpg", "Pun8.png", "Pun9.jpg", "Pun10.jpg", "Pun11.jpg", "Pun12.jpg", "Pun13.jpg", "Pun14.jpg", "Pun15.jpg", "Pun16.jpg", "Pun17.jpg", "Pun18.jpg", "Pun19.jpg", "Pun20.jpg", "Pun21.jpg", "Pun22.jpg", "Pun23.jpg", "Pun24.jpg", "Pun25.jpg", "Pun26.jpg", "Pun27.jpg", "Pun28.jpg", "Pun29.jpg", "Pun30.jpeg", "Pun31.jpg", "Pun32.jpg", "Pun33.jpg", "Pun34.png", "Pun35.jpg", "Pun36.jpg", "Pun37.jpg", "Pun38.jpg", "Pun39.jpg", "Pun40.jpg", "Pun41.jpg", "Pun42.jpg", "Pun43.jpg", "Pun44.jpg", "Pun45.gif", "Pun46.jpg", "Pun47.jpg", "Pun48.jpg", "Pun49.jpg", "Pun50.jpg", "Pun51.jpg", "Pun52.jpg", "Pun53.jpg"]; pun = pun[Math.floor(Math.random() * pun.length)]; message.channel.sendFile("./images/" + pun); } -}; \ No newline at end of file +}; diff --git a/commands/response/quantumcoin.js b/commands/response/quantumcoin.js index 069334b3..d9b915d9 100644 --- a/commands/response/quantumcoin.js +++ b/commands/response/quantumcoin.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class QuantumCoin extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'quantumcoin', aliases: [ @@ -16,12 +16,12 @@ module.exports = class QuantumCoin extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let qcoin = ['on nothing', 'on NaN', 'on 0', 'in the air', 'on null']; qcoin = qcoin[Math.floor(Math.random() * qcoin.length)]; message.channel.send("It landed " + qcoin); } -}; \ No newline at end of file +}; diff --git a/commands/response/ratewaifu.js b/commands/response/ratewaifu.js index 61ec5eb8..787b083a 100644 --- a/commands/response/ratewaifu.js +++ b/commands/response/ratewaifu.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class RateWaifuCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'ratewaifu', aliases: [ @@ -15,12 +15,12 @@ module.exports = class RateWaifuCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let waifuToRate = message.content.split(" ").slice(1).join(" "); let percentage = Math.floor(Math.random() * 10) + 1; message.channel.send("I'd give " + waifuToRate + " a " + percentage + "/10!"); } -}; \ No newline at end of file +}; diff --git a/commands/response/roast.js b/commands/response/roast.js index 8620c767..ff4a50ed 100644 --- a/commands/response/roast.js +++ b/commands/response/roast.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class RoastMeCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'roast', aliases: [ @@ -15,17 +15,18 @@ module.exports = class RoastMeCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let userToRoast = message.content.split(" ").slice(1).join(" "); let roasts = ["*puts you in the oven*", "You're so stupid.", "Sorry, I can't hear you over how annoying you are.", "I've got better things to do.", "You're as dumb as Cleverbot.", "Your IQ is lower than the Mariana Trench.", "You're so annoying even the flies stay away from your stench.", "Go away, please.", "I'd give you a nasty look but you've already got one.", "It looks like your face caught fire and someone tried to put it out with a hammer.", "Your family tree must be a cactus because everyone on it is a prick.", "Someday you will go far, and I hope you stay there.", "The zoo called. They're wondering how you got out of your cage.", "I was hoping for a battle of wits, but you appear to be unarmed.", "You are proof that evolution can go in reverse.", "Brains aren't everything, in your case, they're nothing.", "Sorry I didn't get that, I don't speak idiot.", "Why is it acceptable for you to be an idiot, but not for me to point it out?", "We all sprang from apes, but you did not spring far enough.", "You're an unknown command.", "If you could go anywhere I chose, I'd choose dead.", "Even monkeys can go to space, so clearly you lack some potential.", "It's brains over brawn, yet you have neither.", "You look like a monkey, and you smell like one too.", "Even among idiots you're lacking.", "You fail even when you're doing absolutely nothing.", "If there was a vote for 'least likely to succeed' you'd win first prize.", "I'm surrounded by idiots... Or, wait, that's just you.", "I wanna go home. Well, really I just want to get away from the awful aroma you've got going there.", "Every time you touch me I have to go home and wash all my clothes nine times just to get a normal smell back.", "If I had a nickel for every brain you don't have, I'd have one dollar.", "I'd help you succeed but you're incapable."]; roasts = roasts[Math.floor(Math.random() * roasts.length)]; - if(userToRoast === '') { + if (userToRoast === '') { message.reply(roasts); - } else { + } + else { message.channel.send(userToRoast + ", " + roasts); } } -}; \ No newline at end of file +}; diff --git a/commands/response/rockpaperscissors.js b/commands/response/rockpaperscissors.js index ea4de0e8..bb5589b3 100644 --- a/commands/response/rockpaperscissors.js +++ b/commands/response/rockpaperscissors.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class RockPaperScissors extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'rps', aliases: [ @@ -15,47 +15,51 @@ module.exports = class RockPaperScissors extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let [rps] = message.content.toLowerCase().split(" ").slice(1); let response = ['Paper', 'Rock', 'Scissors']; response = response[Math.floor(Math.random() * response.length)]; - if(rps === undefined) { + if (rps === undefined) { message.channel.send(":x: Error! Your message contains nothing!"); - } else if(rps.includes("rock")) { - if(response === "Rock") { + } + else if (rps.includes("rock")) { + if (response === "Rock") { message.channel.send("Rock! Aw, it's a tie!"); } - if(response === "Paper") { + if (response === "Paper") { message.channel.send("Paper! Yes! I win!"); } - if(response === "Scissors") { + if (response === "Scissors") { message.channel.send("Scissors! Aw... I lose..."); } - } else if(rps.includes("paper")) { - if(response === "Rock") { + } + else if (rps.includes("paper")) { + if (response === "Rock") { message.channel.send("Rock! Aw... I lose..."); } - if(response === "Paper") { + if (response === "Paper") { message.channel.send("Paper! Aw, it's a tie!"); } - if(response === "Scissors") { + if (response === "Scissors") { message.channel.send("Scissors! Yes! I win!"); } - } else if(rps.includes("scissors")) { - if(response === "Rock") { + } + else if (rps.includes("scissors")) { + if (response === "Rock") { message.channel.send("Rock! Yes! I win!"); } - if(response === "Paper") { + if (response === "Paper") { message.channel.send("Paper! Aw... I lose..."); } - if(response === "Scissors") { + if (response === "Scissors") { message.channel.send("Scissors! Aw, it's a tie!"); } - } else { + } + else { message.channel.send(":x: Error! Your choice is not Rock, Paper, or Scissors!"); } } -}; \ No newline at end of file +}; diff --git a/commands/response/roll.js b/commands/response/roll.js index 09ab537d..cf428283 100644 --- a/commands/response/roll.js +++ b/commands/response/roll.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class RollChooseCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'roll', aliases: [ @@ -16,19 +16,21 @@ module.exports = class RollChooseCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let [value] = message.content.split(" ").slice(1); - if(value === undefined) { + if (value === undefined) { let roll = Math.floor(Math.random() * 6) + 1; message.channel.send("You rolled a " + roll); - } else if(value.match(/^[0-9]+$/)) { + } + else if (value.match(/^[0-9]+$/)) { let roll = Math.floor(Math.random() * value) + 1; message.channel.send("You rolled a " + roll); - } else { + } + else { message.channel.send(":x: Error! Your message either contains a number but the number is invalid, or the number is in the wrong place.\n:notepad_spiral: (Note: When using numbers such as 1,000, do not use a comma)"); } } -}; \ No newline at end of file +}; diff --git a/commands/response/roulette.js b/commands/response/roulette.js index a92f7532..58ed226e 100644 --- a/commands/response/roulette.js +++ b/commands/response/roulette.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class RouletteCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'roulette', aliases: [ @@ -18,14 +18,15 @@ module.exports = class RouletteCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); - if(message.channel.type !== 'dm') { + if (message.channel.type !== 'dm') { message.channel.send("I choose " + message.guild.members.random().displayName + "!"); - } else { + } + else { message.channel.send(':x: Error! This command does not work in DM!'); } } -}; \ No newline at end of file +}; diff --git a/commands/response/ship.js b/commands/response/ship.js index e8d8aabb..98b4e91d 100644 --- a/commands/response/ship.js +++ b/commands/response/ship.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class ShipCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'ship', aliases: [ @@ -15,12 +15,12 @@ module.exports = class ShipCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let thingToShip = message.content.split(" ").slice(1).join(" "); let percentage = Math.floor(Math.random() * 100) + 1; message.channel.send("I'd give " + thingToShip + " a " + percentage + "%!"); } -}; \ No newline at end of file +}; diff --git a/commands/response/slots.js b/commands/response/slots.js index dde71d52..7c74b08b 100644 --- a/commands/response/slots.js +++ b/commands/response/slots.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class SlotsCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'slots', group: 'response', @@ -12,8 +12,8 @@ module.exports = class SlotsCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let slotThing = [':grapes:', ':tangerine:', ':pear:', ':cherries:']; @@ -21,10 +21,11 @@ module.exports = class SlotsCommand extends commando.Command { let slotTwo = slotThing[Math.floor(Math.random() * slotThing.length)]; let slotThree = slotThing[Math.floor(Math.random() * slotThing.length)]; let slotFour = slotThing[Math.floor(Math.random() * slotThing.length)]; - if(slotOne === slotTwo && slotOne === slotThree && slotOne === slotFour) { - message.channel.send(slotOne + '|' + slotTwo + '|' + slotThree + '|' + slotFour + "\nWow! You won! Great job... er... luck!"); - } else { - message.channel.send(slotOne + '|' + slotTwo + '|' + slotThree + '|' + slotFour + "\nAww... You lost... Guess it's just bad luck, huh?"); + if (slotOne === slotTwo && slotOne === slotThree && slotOne === slotFour) { + message.channel.send(slotOne + '|' + slotTwo + '|' + slotThree + '|' + slotFour + "\nWow! You won! Great job... er... luck!"); + } + else { + message.channel.send(slotOne + '|' + slotTwo + '|' + slotThree + '|' + slotFour + "\nAww... You lost... Guess it's just bad luck, huh?"); } } -}; \ No newline at end of file +}; diff --git a/commands/response/vocaloid.js b/commands/response/vocaloid.js index b2792d07..6bf1ae37 100644 --- a/commands/response/vocaloid.js +++ b/commands/response/vocaloid.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class VocaloidSongRndm extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'vocaloid', aliases: [ @@ -15,12 +15,12 @@ module.exports = class VocaloidSongRndm extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let songs = ["https://www.youtube.com/watch?v=ebAKoRcYFTA", "https://www.youtube.com/watch?v=Mqps4anhz0Q", "https://www.youtube.com/watch?v=AUEiHQOCQ2M", "https://www.youtube.com/watch?v=oyteTOBxRm8", "https://www.youtube.com/watch?v=uwwU55zBYlQ", "https://www.youtube.com/watch?v=sSYoz0JmnZo", "https://www.youtube.com/watch?v=NpU4dsXW6EI", "https://www.youtube.com/watch?v=MzyXD8bNbvk", "https://www.youtube.com/watch?v=hyV4qGAPKac", "https://www.youtube.com/watch?v=pywNi6gD1FA", "https://www.youtube.com/watch?v=17FEtaiWdVg", "https://www.youtube.com/watch?v=fmrA-gxJxgQ", "https://www.youtube.com/watch?v=yOBWgSPrYVA", "https://www.youtube.com/watch?v=nCaqf9WhqOY", "https://www.youtube.com/watch?v=cQKGUgOfD8U", "https://www.youtube.com/watch?v=sK92X82T3Sk", "https://www.youtube.com/watch?v=AH5_sKwDw1E", "https://www.youtube.com/watch?v=dw-KJNqcK-Q", "https://www.youtube.com/watch?v=X47JmmqbMvc", "https://www.youtube.com/watch?v=ojQPpYVQt7U", "https://www.amazon.com/Gogatsu-Yamai-feat-Kagamine-Len/dp/B00P1BG27S", "https://www.youtube.com/watch?v=N1-Z8uslIsI", "https://www.youtube.com/watch?v=EAgk-t2zzqw", "https://www.youtube.com/watch?v=uLBC2kWYFo8", "https://www.youtube.com/watch?v=OXHYIlkZLUU", "https://www.youtube.com/watch?v=ObIa9wXbyMQ", "https://www.youtube.com/watch?v=dGNoCICGmo0", "https://www.youtube.com/watch?v=LcoyEZkTKfY", "https://www.youtube.com/watch?v=mKHaW0qd5Mw", "https://www.youtube.com/watch?v=GG627DYk_E4", "https://www.youtube.com/watch?v=jTm6Q5Pj_Jo", "https://www.youtube.com/watch?v=TVeIDmk3rBo", "https://www.youtube.com/watch?v=1K3in6w9tt4", "https://www.youtube.com/watch?v=07r67gGbtLQ", "https://www.youtube.com/watch?v=243vPl8HdVk", "https://www.youtube.com/watch?v=zweVJrnE1uY", "https://www.youtube.com/watch?v=RKtoreimcQ8", "https://www.youtube.com/watch?v=Je6dCVfHvkU", "https://www.youtube.com/watch?v=UxFv12y_evM", "https://www.youtube.com/watch?v=2HegQtmJeto", "https://www.youtube.com/watch?v=8-Epnpruww0"]; songs = songs[Math.floor(Math.random() * songs.length)]; message.channel.send(songs); } -}; \ No newline at end of file +}; diff --git a/commands/response/xiaopai.js b/commands/response/xiaopai.js index 026ef034..4f87bc6c 100644 --- a/commands/response/xiaopai.js +++ b/commands/response/xiaopai.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class RandomXiaoPai extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'xiaopai', aliases: [ @@ -15,12 +15,12 @@ module.exports = class RandomXiaoPai extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'ATTACH_FILES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'ATTACH_FILES'])) return; } console.log("[Command] " + message.content); let XiaoPai = ["1.png", "2.jpg", "3.jpg", "4.jpg", "5.jpg", "6.jpg", "7.jpg", "8.png", "9.png", "10.png", "11.png", "12.png", "13.jpg", "14.jpg", "15.png", "16.jpg", "17.png", "18.gif", "19.png", "20.jpg", "21.jpg"]; XiaoPai = XiaoPai[Math.floor(Math.random() * XiaoPai.length)]; message.channel.sendFile("./images/Xiao" + XiaoPai); } -}; \ No newline at end of file +}; diff --git a/commands/roleplay/cuddle.js b/commands/roleplay/cuddle.js index 88767924..bbe6450f 100644 --- a/commands/roleplay/cuddle.js +++ b/commands/roleplay/cuddle.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class CuddleCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'cuddle', group: 'roleplay', @@ -12,11 +12,11 @@ module.exports = class CuddleCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let thingToRoleplay = message.content.split(" ").slice(1).join(" "); message.channel.send(message.author + ' *cuddles* ' + thingToRoleplay); } -}; \ No newline at end of file +}; diff --git a/commands/roleplay/divorce.js b/commands/roleplay/divorce.js index ebc439ee..c2f16d93 100644 --- a/commands/roleplay/divorce.js +++ b/commands/roleplay/divorce.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class DivorceCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'divorce', group: 'roleplay', @@ -12,11 +12,11 @@ module.exports = class DivorceCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let thingToRoleplay = message.content.split(" ").slice(1).join(" "); message.channel.send(message.author + ' *divorces* ' + thingToRoleplay); } -}; \ No newline at end of file +}; diff --git a/commands/roleplay/eat.js b/commands/roleplay/eat.js index ffbb5dd2..12589991 100644 --- a/commands/roleplay/eat.js +++ b/commands/roleplay/eat.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class EatCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'eat', group: 'roleplay', @@ -12,11 +12,11 @@ module.exports = class EatCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let thingToRoleplay = message.content.split(" ").slice(1).join(" "); message.channel.send(message.author + ' *eats* ' + thingToRoleplay); } -}; \ No newline at end of file +}; diff --git a/commands/roleplay/falconpunch.js b/commands/roleplay/falconpunch.js index cd813581..0d9c1638 100644 --- a/commands/roleplay/falconpunch.js +++ b/commands/roleplay/falconpunch.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class FalconPunchCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'falconpunch', group: 'roleplay', @@ -12,11 +12,11 @@ module.exports = class FalconPunchCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let thingToRoleplay = message.content.split(" ").slice(1).join(" "); message.channel.send(message.author + ' *falcon punches* ' + thingToRoleplay); } -}; \ No newline at end of file +}; diff --git a/commands/roleplay/fistbump.js b/commands/roleplay/fistbump.js index 9e2ee814..e0ce6522 100644 --- a/commands/roleplay/fistbump.js +++ b/commands/roleplay/fistbump.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class FistBumpCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'fistbump', group: 'roleplay', @@ -12,11 +12,11 @@ module.exports = class FistBumpCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let thingToRoleplay = message.content.split(" ").slice(1).join(" "); message.channel.send(message.author + ' *fistbumps* ' + thingToRoleplay + ' *badalalala*'); } -}; \ No newline at end of file +}; diff --git a/commands/roleplay/highfive.js b/commands/roleplay/highfive.js index 5a6e7f10..84b56fbf 100644 --- a/commands/roleplay/highfive.js +++ b/commands/roleplay/highfive.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class HighFivesCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'highfive', group: 'roleplay', @@ -12,11 +12,11 @@ module.exports = class HighFivesCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let thingToRoleplay = message.content.split(" ").slice(1).join(" "); message.channel.send(message.author + ' *high fives* ' + thingToRoleplay); } -}; \ No newline at end of file +}; diff --git a/commands/roleplay/hitwithshovel.js b/commands/roleplay/hitwithshovel.js index 3cdf88bc..fbf19e6e 100644 --- a/commands/roleplay/hitwithshovel.js +++ b/commands/roleplay/hitwithshovel.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class HitwithShovelCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'hitwithshovel', group: 'roleplay', @@ -12,11 +12,11 @@ module.exports = class HitwithShovelCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let thingToRoleplay = message.content.split(" ").slice(1).join(" "); message.channel.send(message.author + ' *hits* ' + thingToRoleplay + ' *with a shovel* '); } -}; \ No newline at end of file +}; diff --git a/commands/roleplay/hug.js b/commands/roleplay/hug.js index 74b53b2b..b8887eda 100644 --- a/commands/roleplay/hug.js +++ b/commands/roleplay/hug.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class HugCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'hug', group: 'roleplay', @@ -12,11 +12,11 @@ module.exports = class HugCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let thingToRoleplay = message.content.split(" ").slice(1).join(" "); message.channel.send(message.author + ' *hugs* ' + thingToRoleplay); } -}; \ No newline at end of file +}; diff --git a/commands/roleplay/inhales.js b/commands/roleplay/inhales.js index 7294d9e4..e7d6768a 100644 --- a/commands/roleplay/inhales.js +++ b/commands/roleplay/inhales.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class InhaleCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'inhale', group: 'roleplay', @@ -12,11 +12,11 @@ module.exports = class InhaleCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let thingToRoleplay = message.content.split(" ").slice(1).join(" "); message.channel.send(message.author + ' *inhales* ' + thingToRoleplay + ' *but gained no ability...* '); } -}; \ No newline at end of file +}; diff --git a/commands/roleplay/kill.js b/commands/roleplay/kill.js index c2c09071..2de69622 100644 --- a/commands/roleplay/kill.js +++ b/commands/roleplay/kill.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class KillCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'kill', group: 'roleplay', @@ -12,11 +12,11 @@ module.exports = class KillCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let thingToRoleplay = message.content.split(" ").slice(1).join(" "); message.channel.send(message.author + ' *kills* ' + thingToRoleplay); } -}; \ No newline at end of file +}; diff --git a/commands/roleplay/kiss.js b/commands/roleplay/kiss.js index 21f2cb1d..702ec935 100644 --- a/commands/roleplay/kiss.js +++ b/commands/roleplay/kiss.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class KissCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'kiss', group: 'roleplay', @@ -12,11 +12,11 @@ module.exports = class KissCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let thingToRoleplay = message.content.split(" ").slice(1).join(" "); message.channel.send(message.author + ' *kisses* ' + thingToRoleplay); } -}; \ No newline at end of file +}; diff --git a/commands/roleplay/marries.js b/commands/roleplay/marries.js index ba524bc2..ef3ba7bb 100644 --- a/commands/roleplay/marries.js +++ b/commands/roleplay/marries.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class MarryCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'marry', group: 'roleplay', @@ -12,11 +12,11 @@ module.exports = class MarryCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let thingToRoleplay = message.content.split(" ").slice(1).join(" "); message.channel.send(message.author + ' *marries* ' + thingToRoleplay); } -}; \ No newline at end of file +}; diff --git a/commands/roleplay/pat.js b/commands/roleplay/pat.js index 428ba182..aa42e806 100644 --- a/commands/roleplay/pat.js +++ b/commands/roleplay/pat.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class PatCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'pat', group: 'roleplay', @@ -12,11 +12,11 @@ module.exports = class PatCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let thingToRoleplay = message.content.split(" ").slice(1).join(" "); message.channel.send(message.author + ' *pats* ' + thingToRoleplay); } -}; \ No newline at end of file +}; diff --git a/commands/roleplay/poke.js b/commands/roleplay/poke.js index 4d4b9d4b..1289f638 100644 --- a/commands/roleplay/poke.js +++ b/commands/roleplay/poke.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class PokeCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'poke', group: 'roleplay', @@ -12,11 +12,11 @@ module.exports = class PokeCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let thingToRoleplay = message.content.split(" ").slice(1).join(" "); message.channel.send(message.author + ' *pokes* ' + thingToRoleplay); } -}; \ No newline at end of file +}; diff --git a/commands/roleplay/punch.js b/commands/roleplay/punch.js index a3c1f79c..66e4ea52 100644 --- a/commands/roleplay/punch.js +++ b/commands/roleplay/punch.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class PunchCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'punch', group: 'roleplay', @@ -12,11 +12,11 @@ module.exports = class PunchCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let thingToRoleplay = message.content.split(" ").slice(1).join(" "); message.channel.send(message.author + ' *punches* ' + thingToRoleplay); } -}; \ No newline at end of file +}; diff --git a/commands/roleplay/slap.js b/commands/roleplay/slap.js index 5a7929bb..d8c5aa95 100644 --- a/commands/roleplay/slap.js +++ b/commands/roleplay/slap.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class SlapCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'slap', group: 'roleplay', @@ -12,11 +12,11 @@ module.exports = class SlapCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let thingToRoleplay = message.content.split(" ").slice(1).join(" "); message.channel.send(message.author + ' *slaps* ' + thingToRoleplay); } -}; \ No newline at end of file +}; diff --git a/commands/search/botinfo.js b/commands/search/botinfo.js index 577e6e87..af3cb91d 100644 --- a/commands/search/botinfo.js +++ b/commands/search/botinfo.js @@ -4,7 +4,7 @@ const request = require('superagent'); const config = require('../../config.json'); module.exports = class BotSearchCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'botinfo', aliases: [ @@ -19,34 +19,37 @@ module.exports = class BotSearchCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; } console.log("[Command] " + message.content); - if(message.mentions.users.size === 1) { + if (message.mentions.users.size === 1) { let botToFind = message.mentions.users.first().id; request - .get('https://bots.discord.pw/api/bots/' + botToFind) - .set({ 'Authorization': config.botskey }) - .then(function (response) { - const embed = new Discord.RichEmbed() - .setColor(0x9797FF) - .setAuthor('Discord Bots', 'https://cdn.discordapp.com/icons/110373943822540800/47336ad0631ac7aac0a48a2ba6246c65.jpg') - .setTitle(response.body.name) - .setURL('https://bots.discord.pw/') - .setDescription(response.body.description) - .addField('**Library:**', - response.body.library, true) - .addField('**Prefix:**', - response.body.prefix, true) - .addField('**Invite:**', - '[Here](' + response.body.invite_url + ')', true); - message.channel.sendEmbed(embed).catch(console.error); - }).catch(function (err) { - message.channel.send(":x: Error! Bot not Found!"); - }); - } else { + .get('https://bots.discord.pw/api/bots/' + botToFind) + .set({ + 'Authorization': config.botskey + }) + .then(function(response) { + const embed = new Discord.RichEmbed() + .setColor(0x9797FF) + .setAuthor('Discord Bots', 'https://cdn.discordapp.com/icons/110373943822540800/47336ad0631ac7aac0a48a2ba6246c65.jpg') + .setTitle(response.body.name) + .setURL('https://bots.discord.pw/') + .setDescription(response.body.description) + .addField('**Library:**', + response.body.library, true) + .addField('**Prefix:**', + response.body.prefix, true) + .addField('**Invite:**', + '[Here](' + response.body.invite_url + ')', true); + message.channel.sendEmbed(embed).catch(console.error); + }).catch(function(err) { + message.channel.send(":x: Error! Bot not Found!"); + }); + } + else { message.channel.send(':x: Please mention one bot!'); } } -}; \ No newline at end of file +}; diff --git a/commands/search/define.js b/commands/search/define.js index 17ec105c..158cb11e 100644 --- a/commands/search/define.js +++ b/commands/search/define.js @@ -4,7 +4,7 @@ const request = require('superagent'); const config = require('../../config.json'); module.exports = class DefineCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'define', aliases: [ @@ -21,22 +21,28 @@ module.exports = class DefineCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; } console.log("[Command] " + message.content); let defineThis = encodeURI(message.content.split(" ").slice(1).join(" ")); request - .get('http://api.wordnik.com:80/v4/word.json/' + defineThis + '/definitions') - .query({ limit: 1, includeRelated: false, useCanonical: false, includeTags: false, api_key: config.wordnikkey }) - .then(function (response) { - const embed = new Discord.RichEmbed() - .setColor(0x9797FF) - .setTitle(response.body[0].word) - .setDescription(response.body[0].text); - message.channel.sendEmbed(embed).catch(console.error); - }).catch(function (err) { - message.channel.send(":x: Error! Word not Found!"); - }); + .get('http://api.wordnik.com:80/v4/word.json/' + defineThis + '/definitions') + .query({ + limit: 1, + includeRelated: false, + useCanonical: false, + includeTags: false, + api_key: config.wordnikkey + }) + .then(function(response) { + const embed = new Discord.RichEmbed() + .setColor(0x9797FF) + .setTitle(response.body[0].word) + .setDescription(response.body[0].text); + message.channel.sendEmbed(embed).catch(console.error); + }).catch(function(err) { + message.channel.send(":x: Error! Word not Found!"); + }); } -}; \ No newline at end of file +}; diff --git a/commands/search/discrim.js b/commands/search/discrim.js index 62518739..eff28e26 100644 --- a/commands/search/discrim.js +++ b/commands/search/discrim.js @@ -2,7 +2,7 @@ const commando = require('discord.js-commando'); const Discord = require('discord.js'); module.exports = class DiscrimCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'discrim', aliases: [ @@ -17,19 +17,20 @@ module.exports = class DiscrimCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; } console.log("[Command] " + message.content); let userToSearch = message.content.split(" ").slice(1).join(" "); - if(userToSearch.match(/^[0-9]+$/) && userToSearch.split("").length === 4) { + if (userToSearch.match(/^[0-9]+$/) && userToSearch.split("").length === 4) { let users = this.client.users.filter(u => u.discriminator === userToSearch).map(u => u.username).sort(); const embed = new Discord.RichEmbed() - .setTitle(users.length + ' Users with the discriminator: ' + userToSearch) - .setDescription(users.join(', ')); - message.channel.sendEmbed(embed).catch(console.error); - } else { + .setTitle(users.length + ' Users with the discriminator: ' + userToSearch) + .setDescription(users.join(', ')); + message.channel.sendEmbed(embed).catch(console.error); + } + else { message.channel.send(':x: Error! This discriminator is invalid!'); } } -}; \ No newline at end of file +}; diff --git a/commands/search/forecast.js b/commands/search/forecast.js index 6fd6f40d..5e9754b2 100644 --- a/commands/search/forecast.js +++ b/commands/search/forecast.js @@ -3,7 +3,7 @@ const Discord = require('discord.js'); const weather = require('yahoo-weather'); module.exports = class ForecastCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'forecast', aliases: [ @@ -17,34 +17,34 @@ module.exports = class ForecastCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; } console.log("[Command] " + message.content); let locationToSearch = message.content.split(" ").slice(1).join(" "); weather(locationToSearch, 'f').then(info => { const embed = new Discord.RichEmbed() - .setColor(0x0000FF) - .setAuthor(info.title, 'http://media.idownloadblog.com/wp-content/uploads/2013/12/yahoo-weather-213x220.png') - .setURL(info.link) - .setTimestamp() - .addField('**' + info.item.forecast[0].day + " - " + info.item.forecast[0].date + ':**', - '**High:** ' + info.item.forecast[0].high + ', **Low:** ' + info.item.forecast[0].low + ', **Condition:** ' + info.item.forecast[0].text) - .addField('**' + info.item.forecast[1].day + " - " + info.item.forecast[1].date + ':**', - '**High:** ' + info.item.forecast[1].high + ', **Low:** ' + info.item.forecast[1].low + ', **Condition:** ' + info.item.forecast[1].text) - .addField('**' + info.item.forecast[2].day + " - " + info.item.forecast[2].date + ':**', - '**High:** ' + info.item.forecast[2].high + ', **Low:** ' + info.item.forecast[2].low + ', **Condition:** ' + info.item.forecast[2].text) - .addField('**' + info.item.forecast[3].day + " - " + info.item.forecast[3].date + ':**', - '**High:** ' + info.item.forecast[3].high + ', **Low:** ' + info.item.forecast[3].low + ', **Condition:** ' + info.item.forecast[3].text) - .addField('**' + info.item.forecast[4].day + " - " + info.item.forecast[4].date + ':**', - '**High:** ' + info.item.forecast[4].high + ', **Low:** ' + info.item.forecast[4].low + ', **Condition:** ' + info.item.forecast[4].text) - .addField('**' + info.item.forecast[5].day + " - " + info.item.forecast[5].date + ':**', - '**High:** ' + info.item.forecast[5].high + ', **Low:** ' + info.item.forecast[5].low + ', **Condition:** ' + info.item.forecast[5].text) - .addField('**' + info.item.forecast[6].day + " - " + info.item.forecast[6].date + ':**', - '**High:** ' + info.item.forecast[6].high + ', **Low:** ' + info.item.forecast[6].low + ', **Condition:** ' + info.item.forecast[6].text); + .setColor(0x0000FF) + .setAuthor(info.title, 'http://media.idownloadblog.com/wp-content/uploads/2013/12/yahoo-weather-213x220.png') + .setURL(info.link) + .setTimestamp() + .addField('**' + info.item.forecast[0].day + " - " + info.item.forecast[0].date + ':**', + '**High:** ' + info.item.forecast[0].high + ', **Low:** ' + info.item.forecast[0].low + ', **Condition:** ' + info.item.forecast[0].text) + .addField('**' + info.item.forecast[1].day + " - " + info.item.forecast[1].date + ':**', + '**High:** ' + info.item.forecast[1].high + ', **Low:** ' + info.item.forecast[1].low + ', **Condition:** ' + info.item.forecast[1].text) + .addField('**' + info.item.forecast[2].day + " - " + info.item.forecast[2].date + ':**', + '**High:** ' + info.item.forecast[2].high + ', **Low:** ' + info.item.forecast[2].low + ', **Condition:** ' + info.item.forecast[2].text) + .addField('**' + info.item.forecast[3].day + " - " + info.item.forecast[3].date + ':**', + '**High:** ' + info.item.forecast[3].high + ', **Low:** ' + info.item.forecast[3].low + ', **Condition:** ' + info.item.forecast[3].text) + .addField('**' + info.item.forecast[4].day + " - " + info.item.forecast[4].date + ':**', + '**High:** ' + info.item.forecast[4].high + ', **Low:** ' + info.item.forecast[4].low + ', **Condition:** ' + info.item.forecast[4].text) + .addField('**' + info.item.forecast[5].day + " - " + info.item.forecast[5].date + ':**', + '**High:** ' + info.item.forecast[5].high + ', **Low:** ' + info.item.forecast[5].low + ', **Condition:** ' + info.item.forecast[5].text) + .addField('**' + info.item.forecast[6].day + " - " + info.item.forecast[6].date + ':**', + '**High:** ' + info.item.forecast[6].high + ', **Low:** ' + info.item.forecast[6].low + ', **Condition:** ' + info.item.forecast[6].text); message.channel.sendEmbed(embed).catch(console.error); }).catch(err => { message.channel.send(":x: Error! Make sure you typed the location correctly!"); }); } -}; \ No newline at end of file +}; diff --git a/commands/search/google.js b/commands/search/google.js index ad79d76b..0bb20ad2 100644 --- a/commands/search/google.js +++ b/commands/search/google.js @@ -4,7 +4,7 @@ const cheerio = require('cheerio'); const querystring = require('querystring'); module.exports = class DefineCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'google', aliases: [ @@ -18,23 +18,24 @@ module.exports = class DefineCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let thingToSearch = encodeURI(message.content.split(" ").slice(1).join(" ")); - message.channel.send('Searching...'); - const SEARCH_URL = `https://www.google.com/search?q=${thingToSearch}`; - request - .get(SEARCH_URL) - .then(function (response) { - const $ = cheerio.load(response.text); - let href = $('.r').first().find('a').first().attr('href'); - if (!href) return Promise.reject(new Error('NO RESULTS')); - href = querystring.parse(href.replace('/url?', '')); - message.channel.send(href.q); - }).catch(function (err) { - message.channel.send(':x: Error! No Results Found!'); + message.channel.send('Searching...').then(msg => { + const SEARCH_URL = `https://www.google.com/search?q=${thingToSearch}`; + request + .get(SEARCH_URL) + .then(function(response) { + const $ = cheerio.load(response.text); + let href = $('.r').first().find('a').first().attr('href'); + if (!href) return Promise.reject(new Error('NO RESULTS')); + href = querystring.parse(href.replace('/url?', '')); + msg.edit(href.q); + }).catch(function(err) { + message.channel.send(':x: Error! No Results Found!'); + }); }); } -}; \ No newline at end of file +}; diff --git a/commands/search/imdb.js b/commands/search/imdb.js index d5c62d45..ded4bec4 100644 --- a/commands/search/imdb.js +++ b/commands/search/imdb.js @@ -3,7 +3,7 @@ const Discord = require('discord.js'); const imdb = require('imdb-api'); module.exports = class IMDBCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'imdb', aliases: [ @@ -19,39 +19,42 @@ module.exports = class IMDBCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; } console.log("[Command] " + message.content); let queryMovie = message.content.split(" ").slice(1).join(" "); let movie; - imdb.getReq({ name: queryMovie }, (err, response) => { + imdb.getReq({ + name: queryMovie + }, (err, response) => { movie = response; - if(movie === undefined) { + if (movie === undefined) { message.channel.send(":x: Error! Movie not found!"); - } else { + } + else { const embed = new Discord.RichEmbed() - .setColor(0xDBA628) - .setAuthor('IMDB', 'http://static.wixstatic.com/media/c65cbf_31901b544fe24f1890134553bf40c8be.png') - .setURL(movie.imdburl) - .setTitle(movie.title + ' (' + movie.rating + ' Score)') - .setDescription(movie.plot.substr(0, 1500) + " [Read the Rest Here!](" + movie.imdburl + ")") - .addField('**Genres:**', - movie.genres) - .addField('**Year:**', - movie.year, true) - .addField('**Rated:**', - movie.rated, true) - .addField('**Runtime:**', - movie.runtime, true) - .addField('**Directors:**', - movie.director) - .addField('**Writers:**', - movie.writer) - .addField('**Actors:**', - movie.actors); - message.channel.sendEmbed(embed).catch(console.error); + .setColor(0xDBA628) + .setAuthor('IMDB', 'http://static.wixstatic.com/media/c65cbf_31901b544fe24f1890134553bf40c8be.png') + .setURL(movie.imdburl) + .setTitle(movie.title + ' (' + movie.rating + ' Score)') + .setDescription(movie.plot.substr(0, 1500) + " [Read the Rest Here!](" + movie.imdburl + ")") + .addField('**Genres:**', + movie.genres) + .addField('**Year:**', + movie.year, true) + .addField('**Rated:**', + movie.rated, true) + .addField('**Runtime:**', + movie.runtime, true) + .addField('**Directors:**', + movie.director) + .addField('**Writers:**', + movie.writer) + .addField('**Actors:**', + movie.actors); + message.channel.sendEmbed(embed).catch(console.error); } }); } -}; \ No newline at end of file +}; diff --git a/commands/search/neopet.js b/commands/search/neopet.js index 8f772c16..e5bc411a 100644 --- a/commands/search/neopet.js +++ b/commands/search/neopet.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class NeopetCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'neopet', group: 'search', @@ -12,15 +12,16 @@ module.exports = class NeopetCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'ATTACH_FILES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'ATTACH_FILES'])) return; } console.log("[Command] " + message.content); let petID = encodeURI(message.content.split(" ").slice(1).join(" ")); - if(petID === "getid") { - message.channel.send("To get your pet's ID, simply go to http://www.sunnyneo.com/petimagefinder.php and enter your pet's name. It's image should show up. Then, find the link below the pet's image, and copy it to your message!").then(message.channel.sendFile('./images/PetID.png').then(message.channel.send("It's recommended you keep this ID with you so you can easily share your pet's picture without having to repeat these steps."))); - } else { - message.channel.send("Result for: " + petID).then(message.channel.sendFile('http://pets.neopets.com/cp/' + petID + '/1/5.png').catch(error => message.channel.send(":x: Error! Pet ID Not Found! Use `;neopet getID` for help on getting your pet ID."))); + if (petID === "getid") { + message.channel.send("To get your pet's ID, simply go to http://www.sunnyneo.com/petimagefinder.php and enter your pet's name. It's image should show up. Then, find the link below the pet's image, and copy it to your message!").then(message.channel.sendFile('./images/PetID.png').then(message.channel.send("It's recommended you keep this ID with you so you can easily share your pet's picture without having to repeat these steps."))); + } + else { + message.channel.send("Result for: " + petID).then(message.channel.sendFile('http://pets.neopets.com/cp/' + petID + '/1/5.png').catch(error => message.channel.send(":x: Error! Pet ID Not Found! Use `;neopet getID` for help on getting your pet ID."))); } } -}; \ No newline at end of file +}; diff --git a/commands/search/osu.js b/commands/search/osu.js index 11fed8d0..40a024be 100644 --- a/commands/search/osu.js +++ b/commands/search/osu.js @@ -4,7 +4,7 @@ const config = require('../../config.json'); const request = require('superagent'); module.exports = class OsuCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'osu', aliases: [ @@ -20,50 +20,55 @@ module.exports = class OsuCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; } console.log("[Command] " + message.content); let usernameToSearch = message.content.split(" ").slice(1).join(" "); request - .get('https://osu.ppy.sh/api/get_user') - .query({ k: config.osukey, u: usernameToSearch, type: 'string' }) - .then(function (response) { - if(response.body[0] === undefined) { - message.channel.send(":x: Error! User not found!"); - } else { - const embed = new Discord.RichEmbed() - .setColor(0xFF66AA) - .setAuthor('osu!', 'http://vignette3.wikia.nocookie.net/osugame/images/c/c9/Logo.png/revision/latest?cb=20151219073209') - .setURL('https://osu.ppy.sh/') - .addField('**Username:**', - response.body[0].username, true) - .addField('**ID:**', - response.body[0].user_id, true) - .addField('**Level:**', - response.body[0].level, true) - .addField('**Accuracy**', - response.body[0].accuracy, true) - .addField('**Rank:**', - response.body[0].pp_rank, true) - .addField('**Play Count:**', - response.body[0].playcount, true) - .addField('**Country:**', - response.body[0].country, true) - .addField('**Ranked Score:**', - response.body[0].ranked_score, true) - .addField('**Total Score:**', - response.body[0].total_score, true) - .addField('**SS:**', - response.body[0].count_rank_ss, true) - .addField('**S:**', - response.body[0].count_rank_s, true) - .addField('**A:**', - response.body[0].count_rank_a, true); - message.channel.sendEmbed(embed).catch(console.error); - } - }).catch(function (err) { - message.channel.send(":x: Error! User not Found!"); - }); + .get('https://osu.ppy.sh/api/get_user') + .query({ + k: config.osukey, + u: usernameToSearch, + type: 'string' + }) + .then(function(response) { + if (response.body[0] === undefined) { + message.channel.send(":x: Error! User not found!"); + } + else { + const embed = new Discord.RichEmbed() + .setColor(0xFF66AA) + .setAuthor('osu!', 'http://vignette3.wikia.nocookie.net/osugame/images/c/c9/Logo.png/revision/latest?cb=20151219073209') + .setURL('https://osu.ppy.sh/') + .addField('**Username:**', + response.body[0].username, true) + .addField('**ID:**', + response.body[0].user_id, true) + .addField('**Level:**', + response.body[0].level, true) + .addField('**Accuracy**', + response.body[0].accuracy, true) + .addField('**Rank:**', + response.body[0].pp_rank, true) + .addField('**Play Count:**', + response.body[0].playcount, true) + .addField('**Country:**', + response.body[0].country, true) + .addField('**Ranked Score:**', + response.body[0].ranked_score, true) + .addField('**Total Score:**', + response.body[0].total_score, true) + .addField('**SS:**', + response.body[0].count_rank_ss, true) + .addField('**S:**', + response.body[0].count_rank_s, true) + .addField('**A:**', + response.body[0].count_rank_a, true); + message.channel.sendEmbed(embed).catch(console.error); + } + }).catch(function(err) { + message.channel.send(":x: Error! User not Found!"); + }); } -}; \ No newline at end of file +}; diff --git a/commands/search/pkdex.json b/commands/search/pkdex.json index 52291144..67397dfd 100644 --- a/commands/search/pkdex.json +++ b/commands/search/pkdex.json @@ -1,1272 +1,1272 @@ { "index": { - "bulbasaur": "001", - "ivysaur": "002", - "venusaur": "003", - "charmander": "004", - "charmeleon": "005", - "charizard": "006", - "squirtle": "007", - "wartortle": "008", - "blastoise": "009", - "caterpie": "010", - "metapod": "011", - "butterfree": "012", - "weedle": "013", - "kakuna": "014", - "beedrill": "015", - "pidgey": "016", - "pidgeotto": "017", - "pidgeot": "018", - "rattata": "019", - "raticate": "020", - "spearow": "021", - "fearow": "022", - "ekans": "023", - "arbok": "024", - "pikachu": "025", - "raichu": "026", - "sandshrew": "027", - "sandslash": "028", - "nidoranf": "029", - "nidorina": "030", - "nidoqueen": "031", - "nidoranm": "032", - "nidorino": "033", - "nidoking": "034", - "clefairy": "035", - "clefable": "036", - "vulpix": "037", - "ninetales": "038", - "jigglypuff": "039", - "wigglytuff": "040", - "zubat": "041", - "golbat": "042", - "oddish": "043", - "gloom": "044 Gloom", - "vileplume": "045", - "paras": "046", - "parasect": "047", - "venonat": "048", - "venomoth": "049", - "diglett": "050", - "dugtrio": "051", - "meowth": "052", - "persian": "053", - "psyduck": "054", - "golduck": "055", - "mankey": "056", - "primeape": "057", - "growlithe": "058", - "arcanine": "059", - "poliwag": "060", - "poliwhirl": "061", - "poliwrath": "062", - "abra": "063", - "kadabra": "064", - "alakazam": "065", - "machop": "066", - "machoke": "067", - "machamp": "068", - "bellsprout": "069", - "weepinbell": "070", - "victreebel": "071", - "tentacool": "072", - "tentacruel": "073", - "geodude": "074", - "graveler": "075", - "golem": "076", - "ponyta": "077", - "rapidash": "078", - "slowpoke": "079", - "slowbro": "080", - "magnemite": "081", - "magneton": "082", - "farfetch'd": "083", - "doduo": "084", - "dodrio": "085", - "seel": "086", - "dewgong": "087", - "grimer": "088", - "muk": "089", - "shellder": "090", - "cloyster": "091", - "gastly": "092", - "haunter": "093", - "gengar": "094", - "onix": "095", - "drowzee": "096", - "hypno": "097", - "krabby": "098", - "kingler": "099", - "voltorb": "100", - "electrode": "101", - "exeggcute": "102", - "exeggutor": "103", - "cubone": "104", - "marowak": "105", - "hitmonlee": "106", - "hitmonchan": "107", - "lickitung": "108", - "koffing": "109", - "weezing": "110", - "rhyhorn": "111", - "rhydon": "112", - "chansey": "113", - "tangela": "114", - "kangaskhan": "115", - "horsea": "116", - "seadra": "117", - "goldeen": "118", - "seaking": "119", - "staryu": "120", - "starmie": "121", - "mr. mime": "122", - "scyther": "123", - "jynx": "124", - "electabuzz": "125", - "magmar": "126", - "pinsir": "127", - "tauros": "128", - "magikarp": "129", - "gyarados": "130", - "lapras": "131", - "ditto": "132", - "eevee": "133", - "vaporeon": "134", - "jolteon": "135", - "flareon": "136", - "porygon": "137", - "omanyte": "138", - "omastar": "139", - "kabuto": "140", - "kabutops": "141", - "aerodactyl": "142", - "snorlax": "143", - "articuno": "144", - "zapdos": "145", - "moltres": "146", - "dratini": "147", - "dragonair": "148", - "dragonite": "149", - "mewtwo": "150", - "mew": "151", - "chikorita": "152", - "bayleef": "153", - "meganium": "154", - "cyndaquil": "155", - "quilava": "156", - "typhlosion": "157", - "totodile": "158", - "croconaw": "159", - "feraligatr": "160", - "sentret": "161", - "furret": "162", - "hoothoot": "163", - "noctowl": "164", - "ledyba": "165", - "ledian": "166", - "spinarak": "167", - "ariados": "168", - "crobat": "169", - "chinchou": "170", - "lanturn": "171", - "pichu": "172", - "cleffa": "173", - "igglybuff": "174", - "togepi": "175", - "togetic": "176", - "natu": "177", - "xatu": "178", - "mareep": "179", - "flaaffy": "180", - "ampharos": "181", - "bellossom": "182", - "marill": "183", - "azumarill": "184", - "sudowoodo": "185", - "politoed": "186", - "hoppip": "187", - "skiploom": "188", - "jumpluff": "189", - "aipom": "190", - "sunkern": "191", - "sunflora": "192", - "yanma": "193", - "wooper": "194", - "quagsire": "195", - "espeon": "196", - "umbreon": "197", - "murkrow": "198", - "slowking": "199", - "misdreavus": "200", - "unown": "201", - "wobbuffet": "202", - "girafarig": "203", - "pineco": "204", - "forretress": "205", - "dunsparce": "206", - "gligar": "207", - "steelix": "208", - "snubbull": "209", - "granbull": "210", - "qwilfish": "211", - "scizor": "212", - "shuckle": "213", - "heracross": "214", - "sneasel": "215", - "teddiursa": "216", - "ursaring": "217", - "slugma": "218", - "magcargo": "219", - "swinub": "220", - "piloswine": "221", - "corsola": "222", - "remoraid": "223", - "octillery": "224", - "delibird": "225", - "mantine": "226", - "skarmory": "227", - "houndour": "228", - "houndoom": "229", - "kingdra": "230", - "phanpy": "231", - "donphan": "232", - "porygon2": "233", - "stantler": "234", - "smeargle": "235", - "tyrogue": "236", - "hitmontop": "237", - "smoochum": "238", - "elekid": "239", - "magby": "240", - "miltank": "241", - "blissey": "242", - "raikou": "243", - "entei": "244", - "suicune": "245", - "larvitar": "246", - "pupitar": "247", - "tyranitar": "248", - "lugia": "249", - "ho-oh": "250", - "celebi": "251" + "bulbasaur": "001", + "ivysaur": "002", + "venusaur": "003", + "charmander": "004", + "charmeleon": "005", + "charizard": "006", + "squirtle": "007", + "wartortle": "008", + "blastoise": "009", + "caterpie": "010", + "metapod": "011", + "butterfree": "012", + "weedle": "013", + "kakuna": "014", + "beedrill": "015", + "pidgey": "016", + "pidgeotto": "017", + "pidgeot": "018", + "rattata": "019", + "raticate": "020", + "spearow": "021", + "fearow": "022", + "ekans": "023", + "arbok": "024", + "pikachu": "025", + "raichu": "026", + "sandshrew": "027", + "sandslash": "028", + "nidoranf": "029", + "nidorina": "030", + "nidoqueen": "031", + "nidoranm": "032", + "nidorino": "033", + "nidoking": "034", + "clefairy": "035", + "clefable": "036", + "vulpix": "037", + "ninetales": "038", + "jigglypuff": "039", + "wigglytuff": "040", + "zubat": "041", + "golbat": "042", + "oddish": "043", + "gloom": "044 Gloom", + "vileplume": "045", + "paras": "046", + "parasect": "047", + "venonat": "048", + "venomoth": "049", + "diglett": "050", + "dugtrio": "051", + "meowth": "052", + "persian": "053", + "psyduck": "054", + "golduck": "055", + "mankey": "056", + "primeape": "057", + "growlithe": "058", + "arcanine": "059", + "poliwag": "060", + "poliwhirl": "061", + "poliwrath": "062", + "abra": "063", + "kadabra": "064", + "alakazam": "065", + "machop": "066", + "machoke": "067", + "machamp": "068", + "bellsprout": "069", + "weepinbell": "070", + "victreebel": "071", + "tentacool": "072", + "tentacruel": "073", + "geodude": "074", + "graveler": "075", + "golem": "076", + "ponyta": "077", + "rapidash": "078", + "slowpoke": "079", + "slowbro": "080", + "magnemite": "081", + "magneton": "082", + "farfetch'd": "083", + "doduo": "084", + "dodrio": "085", + "seel": "086", + "dewgong": "087", + "grimer": "088", + "muk": "089", + "shellder": "090", + "cloyster": "091", + "gastly": "092", + "haunter": "093", + "gengar": "094", + "onix": "095", + "drowzee": "096", + "hypno": "097", + "krabby": "098", + "kingler": "099", + "voltorb": "100", + "electrode": "101", + "exeggcute": "102", + "exeggutor": "103", + "cubone": "104", + "marowak": "105", + "hitmonlee": "106", + "hitmonchan": "107", + "lickitung": "108", + "koffing": "109", + "weezing": "110", + "rhyhorn": "111", + "rhydon": "112", + "chansey": "113", + "tangela": "114", + "kangaskhan": "115", + "horsea": "116", + "seadra": "117", + "goldeen": "118", + "seaking": "119", + "staryu": "120", + "starmie": "121", + "mr. mime": "122", + "scyther": "123", + "jynx": "124", + "electabuzz": "125", + "magmar": "126", + "pinsir": "127", + "tauros": "128", + "magikarp": "129", + "gyarados": "130", + "lapras": "131", + "ditto": "132", + "eevee": "133", + "vaporeon": "134", + "jolteon": "135", + "flareon": "136", + "porygon": "137", + "omanyte": "138", + "omastar": "139", + "kabuto": "140", + "kabutops": "141", + "aerodactyl": "142", + "snorlax": "143", + "articuno": "144", + "zapdos": "145", + "moltres": "146", + "dratini": "147", + "dragonair": "148", + "dragonite": "149", + "mewtwo": "150", + "mew": "151", + "chikorita": "152", + "bayleef": "153", + "meganium": "154", + "cyndaquil": "155", + "quilava": "156", + "typhlosion": "157", + "totodile": "158", + "croconaw": "159", + "feraligatr": "160", + "sentret": "161", + "furret": "162", + "hoothoot": "163", + "noctowl": "164", + "ledyba": "165", + "ledian": "166", + "spinarak": "167", + "ariados": "168", + "crobat": "169", + "chinchou": "170", + "lanturn": "171", + "pichu": "172", + "cleffa": "173", + "igglybuff": "174", + "togepi": "175", + "togetic": "176", + "natu": "177", + "xatu": "178", + "mareep": "179", + "flaaffy": "180", + "ampharos": "181", + "bellossom": "182", + "marill": "183", + "azumarill": "184", + "sudowoodo": "185", + "politoed": "186", + "hoppip": "187", + "skiploom": "188", + "jumpluff": "189", + "aipom": "190", + "sunkern": "191", + "sunflora": "192", + "yanma": "193", + "wooper": "194", + "quagsire": "195", + "espeon": "196", + "umbreon": "197", + "murkrow": "198", + "slowking": "199", + "misdreavus": "200", + "unown": "201", + "wobbuffet": "202", + "girafarig": "203", + "pineco": "204", + "forretress": "205", + "dunsparce": "206", + "gligar": "207", + "steelix": "208", + "snubbull": "209", + "granbull": "210", + "qwilfish": "211", + "scizor": "212", + "shuckle": "213", + "heracross": "214", + "sneasel": "215", + "teddiursa": "216", + "ursaring": "217", + "slugma": "218", + "magcargo": "219", + "swinub": "220", + "piloswine": "221", + "corsola": "222", + "remoraid": "223", + "octillery": "224", + "delibird": "225", + "mantine": "226", + "skarmory": "227", + "houndour": "228", + "houndoom": "229", + "kingdra": "230", + "phanpy": "231", + "donphan": "232", + "porygon2": "233", + "stantler": "234", + "smeargle": "235", + "tyrogue": "236", + "hitmontop": "237", + "smoochum": "238", + "elekid": "239", + "magby": "240", + "miltank": "241", + "blissey": "242", + "raikou": "243", + "entei": "244", + "suicune": "245", + "larvitar": "246", + "pupitar": "247", + "tyranitar": "248", + "lugia": "249", + "ho-oh": "250", + "celebi": "251" }, "name": { - "bulbasaur": "Bulbasaur", - "ivysaur": "Ivysaur", - "venusaur": "Venusaur", - "charmander": "Charmander", - "charmeleon": "Charmeleon", - "charizard": "Charizard", - "squirtle": "Squirtle", - "wartortle": "Wartortle", - "blastoise": "Blastoise", - "caterpie": "Caterpie", - "metapod": "Metapod", - "butterfree": "Butterfree", - "weedle": "Weedle", - "kakuna": "Kakuna", - "beedrill": "Beedrill", - "pidgey": "Pidgey", - "pidgeotto": "Pidgeotto", - "pidgeot": "Pidgeot", - "rattata": "Rattata", - "raticate": "Raticate", - "spearow": "Spearow", - "fearow": "Fearow", - "ekans": "Ekans", - "arbok": "Arbok", - "pikachu": "Pikachu", - "raichu": "Raichu", - "sandshrew": "Sandshrew", - "sandslash": "Sandslash", - "nidoranf": "NidoranF", - "nidorina": "Nidorina", - "nidoqueen": "Nidoqueen", - "nidoranm": "NidoranM", - "nidorino": "Nidorino", - "nidoking": "Nidoking", - "clefairy": "Clefairy", - "clefable": "Clefable", - "vulpix": "Vulpix", - "ninetales": "Ninetales", - "jigglypuff": "Jigglypuff", - "wigglytuff": "Wigglytuff", - "zubat": "Zubat", - "golbat": "Golbat", - "oddish": "Oddish", - "gloom": "Gloom", - "vileplume": "Vileplume", - "paras": "Paras", - "parasect": "Parasect", - "venonat": "Venonat", - "venomoth": "Venomoth", - "diglett": "Diglett", - "dugtrio": "Dugtrio", - "meowth": "Meowth", - "persian": "Persian", - "psyduck": "Psyduck", - "golduck": "Golduck", - "mankey": "Mankey", - "primeape": "Primeape", - "growlithe": "Growlithe", - "arcanine": "Arcanine", - "poliwag": "Poliwag", - "poliwhirl": "Poliwhirl", - "poliwrath": "Poliwrath", - "abra": "Abra", - "kadabra": "Kadabra", - "alakazam": "Alakazam", - "machop": "Machop", - "machoke": "Machoke", - "machamp": "Machamp", - "bellsprout": "Bellsprout", - "weepinbell": "Weepinbell", - "victreebel": "Victreebel", - "tentacool": "Tentacool", - "tentacruel": "Tentacruel", - "geodude": "Geodude", - "graveler": "Graveler", - "golem": "Golem", - "ponyta": "Ponyta", - "rapidash": "Rapidash", - "slowpoke": "Slowpoke", - "slowbro": "Slowbro", - "magnemite": "Magnemite", - "magneton": "Magneton", - "farfetch'd": "Farfetch'd", - "doduo": "Doduo", - "dodrio": "Dodrio", - "seel": "Seel", - "dewgong": "Dewgong", - "grimer": "Grimer", - "muk": "Muk", - "shellder": "Shellder", - "cloyster": "Cloyster", - "gastly": "Gastly", - "haunter": "Haunter", - "gengar": "Gengar", - "onix": "Onix", - "drowzee": "Drowzee", - "hypno": "Hypno", - "krabby": "Krabby", - "kingler": "Kingler", - "voltorb": "Voltorb", - "electrode": "Electrode", - "exeggcute": "Exeggcute", - "exeggutor": "Exeggutor", - "cubone": "Cubone", - "marowak": "Marowak", - "hitmonlee": "Hitmonlee", - "hitmonchan": "Hitmonchan", - "lickitung": "Lickitung", - "koffing": "Koffing", - "weezing": "Weezing", - "rhyhorn": "Rhyhorn", - "rhydon": "Rhydon", - "chansey": "Chansey", - "tangela": "Tangela", - "kangaskhan": "Kangaskhan", - "horsea": "Horsea", - "seadra": "Seadra", - "goldeen": "Goldeen", - "seaking": "Seaking", - "staryu": "Staryu", - "starmie": "Starmie", - "mr. mime": "Mr. Mime", - "scyther": "Scyther", - "jynx": "Jynx", - "electabuzz": "Electabuzz", - "magmar": "Magmar", - "pinsir": "Pinsir", - "tauros": "Tauros", - "magikarp": "Magikarp", - "gyarados": "Gyarados", - "lapras": "Lapras", - "ditto": "Ditto", - "eevee": "Eevee", - "vaporeon": "Vaporeon", - "jolteon": "Jolteon", - "flareon": "Flareon", - "porygon": "Porygon", - "omanyte": "Omanyte", - "omastar": "Omastar", - "kabuto": "Kabuto", - "kabutops": "Kabutops", - "aerodactyl": "Aerodactyl", - "snorlax": "Snorlax", - "articuno": "Articuno", - "zapdos": "Zapdos", - "moltres": "Moltres", - "dratini": "Dratini", - "dragonair": "Dragonair", - "dragonite": "Dragonite", - "mewtwo": "Mewtwo", - "mew": "Mew", - "chikorita": "Chikorita", - "bayleef": "Bayleef", - "meganium": "Meganium", - "cyndaquil": "Cyndaquil", - "quilava": "Quilava", - "typhlosion": "Typhlosion", - "totodile": "Totodile", - "croconaw": "Croconaw", - "feraligatr": "Feraligatr", - "sentret": "Sentret", - "furret": "Furret", - "hoothoot": "Hoothoot", - "noctowl": "Noctowl", - "ledyba": "Ledyba", - "ledian": "Ledian", - "spinarak": "Spinarak", - "ariados": "Ariados", - "crobat": "Crobat", - "chinchou": "Chinchou", - "lanturn": "Lanturn", - "pichu": "Pichu", - "cleffa": "Cleffa", - "igglybuff": "Igglybuff", - "togepi": "Togepi", - "togetic": "Togetic", - "natu": "Natu", - "xatu": "Xatu", - "mareep": "Mareep", - "flaaffy": "Flaaffy", - "ampharos": "Ampharos", - "bellossom": "Bellossom", - "marill": "Marill", - "azumarill": "Azumarill", - "sudowoodo": "Sudowoodo", - "politoed": "Politoed", - "hoppip": "Hoppip", - "skiploom": "Skiploom", - "jumpluff": "Jumpluff", - "aipom": "Aipom", - "sunkern": "Sunkern", - "sunflora": "Sunflora", - "yanma": "Yanma", - "wooper": "Wooper", - "quagsire": "Quagsire", - "espeon": "Espeon", - "umbreon": "Umbreon", - "murkrow": "Murkrow", - "slowking": "Slowking", - "misdreavus": "Misdreavus", - "unown": "Unown", - "wobbuffet": "Wobbuffet", - "girafarig": "Girafarig", - "pineco": "Pineco", - "forretress": "Forretress", - "dunsparce": "Dunsparce", - "gligar": "Gligar", - "steelix": "Steelix", - "snubbull": "Snubbull", - "granbull": "Granbull", - "qwilfish": "Qwilfish", - "scizor": "Scizor", - "shuckle": "Shuckle", - "heracross": "Heracross", - "sneasel": "Sneasel", - "teddiursa": "Teddiursa", - "ursaring": "Ursaring", - "slugma": "Slugma", - "magcargo": "Magcargo", - "swinub": "Swinub", - "piloswine": "Piloswine", - "corsola": "Corsola", - "remoraid": "Remoraid", - "octillery": "Octillery", - "delibird": "Delibird", - "mantine": "Mantine", - "skarmory": "Skarmory", - "houndour": "Houndour", - "houndoom": "Houndoom", - "kingdra": "Kingdra", - "phanpy": "Phanpy", - "donphan": "Donphan", - "porygon2": "Porygon2", - "stantler": "Stantler", - "smeargle": "Smeargle", - "tyrogue": "Tyrogue", - "hitmontop": "Hitmontop", - "smoochum": "Smoochum", - "elekid": "Elekid", - "magby": "Magby", - "miltank": "Miltank", - "blissey": "Blissey", - "raikou": "Raikou", - "entei": "Entei", - "suicune": "Suicune", - "larvitar": "Larvitar", - "pupitar": "Pupitar", - "tyranitar": "Tyranitar", - "lugia": "Lugia", - "ho-oh": "Ho-Oh", - "celebi": "Celebi" + "bulbasaur": "Bulbasaur", + "ivysaur": "Ivysaur", + "venusaur": "Venusaur", + "charmander": "Charmander", + "charmeleon": "Charmeleon", + "charizard": "Charizard", + "squirtle": "Squirtle", + "wartortle": "Wartortle", + "blastoise": "Blastoise", + "caterpie": "Caterpie", + "metapod": "Metapod", + "butterfree": "Butterfree", + "weedle": "Weedle", + "kakuna": "Kakuna", + "beedrill": "Beedrill", + "pidgey": "Pidgey", + "pidgeotto": "Pidgeotto", + "pidgeot": "Pidgeot", + "rattata": "Rattata", + "raticate": "Raticate", + "spearow": "Spearow", + "fearow": "Fearow", + "ekans": "Ekans", + "arbok": "Arbok", + "pikachu": "Pikachu", + "raichu": "Raichu", + "sandshrew": "Sandshrew", + "sandslash": "Sandslash", + "nidoranf": "NidoranF", + "nidorina": "Nidorina", + "nidoqueen": "Nidoqueen", + "nidoranm": "NidoranM", + "nidorino": "Nidorino", + "nidoking": "Nidoking", + "clefairy": "Clefairy", + "clefable": "Clefable", + "vulpix": "Vulpix", + "ninetales": "Ninetales", + "jigglypuff": "Jigglypuff", + "wigglytuff": "Wigglytuff", + "zubat": "Zubat", + "golbat": "Golbat", + "oddish": "Oddish", + "gloom": "Gloom", + "vileplume": "Vileplume", + "paras": "Paras", + "parasect": "Parasect", + "venonat": "Venonat", + "venomoth": "Venomoth", + "diglett": "Diglett", + "dugtrio": "Dugtrio", + "meowth": "Meowth", + "persian": "Persian", + "psyduck": "Psyduck", + "golduck": "Golduck", + "mankey": "Mankey", + "primeape": "Primeape", + "growlithe": "Growlithe", + "arcanine": "Arcanine", + "poliwag": "Poliwag", + "poliwhirl": "Poliwhirl", + "poliwrath": "Poliwrath", + "abra": "Abra", + "kadabra": "Kadabra", + "alakazam": "Alakazam", + "machop": "Machop", + "machoke": "Machoke", + "machamp": "Machamp", + "bellsprout": "Bellsprout", + "weepinbell": "Weepinbell", + "victreebel": "Victreebel", + "tentacool": "Tentacool", + "tentacruel": "Tentacruel", + "geodude": "Geodude", + "graveler": "Graveler", + "golem": "Golem", + "ponyta": "Ponyta", + "rapidash": "Rapidash", + "slowpoke": "Slowpoke", + "slowbro": "Slowbro", + "magnemite": "Magnemite", + "magneton": "Magneton", + "farfetch'd": "Farfetch'd", + "doduo": "Doduo", + "dodrio": "Dodrio", + "seel": "Seel", + "dewgong": "Dewgong", + "grimer": "Grimer", + "muk": "Muk", + "shellder": "Shellder", + "cloyster": "Cloyster", + "gastly": "Gastly", + "haunter": "Haunter", + "gengar": "Gengar", + "onix": "Onix", + "drowzee": "Drowzee", + "hypno": "Hypno", + "krabby": "Krabby", + "kingler": "Kingler", + "voltorb": "Voltorb", + "electrode": "Electrode", + "exeggcute": "Exeggcute", + "exeggutor": "Exeggutor", + "cubone": "Cubone", + "marowak": "Marowak", + "hitmonlee": "Hitmonlee", + "hitmonchan": "Hitmonchan", + "lickitung": "Lickitung", + "koffing": "Koffing", + "weezing": "Weezing", + "rhyhorn": "Rhyhorn", + "rhydon": "Rhydon", + "chansey": "Chansey", + "tangela": "Tangela", + "kangaskhan": "Kangaskhan", + "horsea": "Horsea", + "seadra": "Seadra", + "goldeen": "Goldeen", + "seaking": "Seaking", + "staryu": "Staryu", + "starmie": "Starmie", + "mr. mime": "Mr. Mime", + "scyther": "Scyther", + "jynx": "Jynx", + "electabuzz": "Electabuzz", + "magmar": "Magmar", + "pinsir": "Pinsir", + "tauros": "Tauros", + "magikarp": "Magikarp", + "gyarados": "Gyarados", + "lapras": "Lapras", + "ditto": "Ditto", + "eevee": "Eevee", + "vaporeon": "Vaporeon", + "jolteon": "Jolteon", + "flareon": "Flareon", + "porygon": "Porygon", + "omanyte": "Omanyte", + "omastar": "Omastar", + "kabuto": "Kabuto", + "kabutops": "Kabutops", + "aerodactyl": "Aerodactyl", + "snorlax": "Snorlax", + "articuno": "Articuno", + "zapdos": "Zapdos", + "moltres": "Moltres", + "dratini": "Dratini", + "dragonair": "Dragonair", + "dragonite": "Dragonite", + "mewtwo": "Mewtwo", + "mew": "Mew", + "chikorita": "Chikorita", + "bayleef": "Bayleef", + "meganium": "Meganium", + "cyndaquil": "Cyndaquil", + "quilava": "Quilava", + "typhlosion": "Typhlosion", + "totodile": "Totodile", + "croconaw": "Croconaw", + "feraligatr": "Feraligatr", + "sentret": "Sentret", + "furret": "Furret", + "hoothoot": "Hoothoot", + "noctowl": "Noctowl", + "ledyba": "Ledyba", + "ledian": "Ledian", + "spinarak": "Spinarak", + "ariados": "Ariados", + "crobat": "Crobat", + "chinchou": "Chinchou", + "lanturn": "Lanturn", + "pichu": "Pichu", + "cleffa": "Cleffa", + "igglybuff": "Igglybuff", + "togepi": "Togepi", + "togetic": "Togetic", + "natu": "Natu", + "xatu": "Xatu", + "mareep": "Mareep", + "flaaffy": "Flaaffy", + "ampharos": "Ampharos", + "bellossom": "Bellossom", + "marill": "Marill", + "azumarill": "Azumarill", + "sudowoodo": "Sudowoodo", + "politoed": "Politoed", + "hoppip": "Hoppip", + "skiploom": "Skiploom", + "jumpluff": "Jumpluff", + "aipom": "Aipom", + "sunkern": "Sunkern", + "sunflora": "Sunflora", + "yanma": "Yanma", + "wooper": "Wooper", + "quagsire": "Quagsire", + "espeon": "Espeon", + "umbreon": "Umbreon", + "murkrow": "Murkrow", + "slowking": "Slowking", + "misdreavus": "Misdreavus", + "unown": "Unown", + "wobbuffet": "Wobbuffet", + "girafarig": "Girafarig", + "pineco": "Pineco", + "forretress": "Forretress", + "dunsparce": "Dunsparce", + "gligar": "Gligar", + "steelix": "Steelix", + "snubbull": "Snubbull", + "granbull": "Granbull", + "qwilfish": "Qwilfish", + "scizor": "Scizor", + "shuckle": "Shuckle", + "heracross": "Heracross", + "sneasel": "Sneasel", + "teddiursa": "Teddiursa", + "ursaring": "Ursaring", + "slugma": "Slugma", + "magcargo": "Magcargo", + "swinub": "Swinub", + "piloswine": "Piloswine", + "corsola": "Corsola", + "remoraid": "Remoraid", + "octillery": "Octillery", + "delibird": "Delibird", + "mantine": "Mantine", + "skarmory": "Skarmory", + "houndour": "Houndour", + "houndoom": "Houndoom", + "kingdra": "Kingdra", + "phanpy": "Phanpy", + "donphan": "Donphan", + "porygon2": "Porygon2", + "stantler": "Stantler", + "smeargle": "Smeargle", + "tyrogue": "Tyrogue", + "hitmontop": "Hitmontop", + "smoochum": "Smoochum", + "elekid": "Elekid", + "magby": "Magby", + "miltank": "Miltank", + "blissey": "Blissey", + "raikou": "Raikou", + "entei": "Entei", + "suicune": "Suicune", + "larvitar": "Larvitar", + "pupitar": "Pupitar", + "tyranitar": "Tyranitar", + "lugia": "Lugia", + "ho-oh": "Ho-Oh", + "celebi": "Celebi" }, "entry": { - "bulbasaur": "A strange seed was planted on its back at birth. The plant sprouts and grows with this Pokémon.", - "ivysaur": "When the bulb on its back grows large, it appears to lose the ability to stand on its hind legs.", - "venusaur": "The plant blooms when it is absorbing solar energy. It stays on the move to seek sunlight.", - "charmander": "Obviously prefers hot places. When it rains, steam is said to spout from the tip of its tail.", - "charmeleon": "When it swings its burning tail, it elevates the temperature to unbearably high levels.", - "charizard": "Spits fire that is hot enough to melt boulders. Known to cause forest fires unintentionally.", - "squirtle": "After birth, its back swells and hardens into a shell. Powerfully sprays foam from its mouth.", - "wartortle": "Often hides in water to stalk unwary prey. For swimming fast, it moves its ears to maintain balance.", - "blastoise": "A brutal Pokémon with pressurized water jets on its shell. They are used for high speed tackles.", - "caterpie": "Its short feet are tipped with suction pads that enable it to tirelessly climb slopes and walls.", - "metapod": "This Pokémon is vulnerable to attack while its shell is soft, exposing its weak and tender body.", - "butterfree": "In battle, it flaps its wings at high speed to release highly toxic dust into the air.", - "weedle": "Often found in forests, eating leaves. It has a sharp venomous stinger on its head.", - "kakuna": "Almost incapable of moving, this Pokémon can only harden its shell to protect itself from predators.", - "beedrill": "Flies at high speed and attacks using its large venomous stingers on its forelegs and tail.", - "pidgey": "A common sight in forests and woods. It flaps its wings at ground level to kick up blinding sand.", - "pidgeotto": "Very protective of its sprawling territorial area, this Pokémon will fiercely peck at any intruder.", - "pidgeot": "When hunting, it skims the surface of water at high speed to pick off unwary prey such as Magikarp.", - "rattata": "Bites anything when it attacks. Small and very quick, it is a common sight in many places.", - "raticate": "It uses its whiskers to maintain its balance. It apparently slows down if they are cut off.", - "spearow": "Eats bugs in grassy areas. It has to flap its short wings at high speed to stay airborne.", - "fearow": "With its huge and magnificent wings, it can keep aloft without ever having to land for rest.", - "ekans": "Moves silently and stealthily. Eats the eggs of birds, such as Pidgey and Spearow, whole.", - "arbok": "It is rumored that the ferocious warning markings on its belly differ from area to area.", - "pikachu": "When several of these Pokémon gather, their electricity could build and cause lightning storms.", - "raichu": "Its long tail serves as a ground to protect itself from its own high voltage power.", - "sandshrew": "Burrows deep underground in arid locations far from water. It only emerges to hunt for food.", - "sandslash": "Curls up into a spiny ball when threatened. It can roll while curled up to attack or escape.", - "nidoranf": "Although small, its venomous barbs render this Pokémon dangerous. The female has smaller horns.", - "nidorina": "The female's horn develops slowly. Prefers physical attacks such as clawing and biting.", - "nidoqueen": "Its hard scales provide strong protection. It uses its hefty bulk to execute powerful moves.", - "nidoranm": "Stiffens its ears to sense danger. The larger its horns, the more powerful its secreted venom.", - "nidorino": "An aggressive Pokémon that is quick to attack. The horn on its head secretes a powerful venom.", - "nidoking": "It uses its powerful tail in battle to smash, constrict, then break the prey's bones.", - "clefairy": "Its magical and cute appeal has many admirers. It is rare and found only in certain areas.", - "clefable": "A timid fairy Pokémon that is rarely seen. It will run and hide the moment it senses people.", - "vulpix": "At the time of birth, it has just one tail. The tail splits from its tip as it grows older.", - "ninetales": "Very smart and very vengeful. Grabbing one of its many tails could result in a 1000-year curse.", - "jigglypuff": "When its huge eyes light up, it sings a mysteriously soothing melody that lulls its enemies to sleep.", - "wigglytuff": "The body is soft and rubbery. When angered, it will suck in air and inflate itself to an enormous size.", - "zubat": "Forms colonies in perpetually dark places. Uses ultrasonic waves to identify and approach targets.", - "golbat": "Once it strikes, it will not stop draining energy from the victim even if it gets too heavy to fly.", - "oddish": "During the day, it keeps its face buried in the ground. At night, it wanders around sowing its seeds.", - "gloom": "The fluid that oozes from its mouth isn't drool. It is a nectar that is used to attract prey.", - "vileplume": "The larger its petals, the more toxic pollen it contains. Its big head is heavy and hard to hold up.", - "paras": "Burrows to suck tree roots. The mushrooms on its back grow by drawing nutrients from the bug host.", - "parasect": "A host-parasite pair in which the parasite mushroom has taken over the host bug. Prefers damp places.", - "venonat": "Lives in the shadows of tall trees where it eats insects. It is attracted by light at night.", - "venomoth": "The dust-like scales covering its wings are color coded to indicate the kinds of poison it has.", - "diglett": "Lives about one yard underground where it feeds on plant roots. It sometimes appears above ground.", - "dugtrio": "A team of Diglett triplets. It triggers huge earthquakes by burrowing 60 miles underground.", - "meowth": "Adores circular objects. Wanders the streets on a nightly basis to look for dropped loose change.", - "persian": "Although its fur has many admirers, it is tough to raise as a pet because of its fickle meanness.", - "psyduck": "While lulling its enemies with its vacant look, this wily Pokémon will use psychokinetic powers.", - "golduck": "Often seen swimming elegantly by lake shores. It is often mistaken for the Japanese monster, Kappa.", - "mankey": "Extremely quick to anger. It could be docile one moment then thrashing away the next instant.", - "primeape": "Always furious and tenacious to boot. It will not abandon chasing its quarry until it is caught.", - "growlithe": "Very protective of its territory. It will bark and bite to repel intruders from its space.", - "arcanine": "A Pokémon that has been admired since the past for its beauty. It runs agilely as if on wings.", - "poliwag": "Its newly grown legs prevent it from running. It appears to prefer swimming than trying to stand.", - "poliwhirl": "Capable of living in or out of water. When out of water, it sweats to keep its body slimy.", - "poliwrath": "An adept swimmer at both the front crawl and breast stroke. Easily overtakes the best human swimmers.", - "abra": "Using its ability to read minds, it will identify impending danger and Teleport to safety.", - "kadabra": "It emits special alpha waves from its body that induce headaches just by being close by.", - "alakazam": "Its brain can outperform a super-computer. Its intelligence quotient is said to be 5,000.", - "machop": "Loves to build its muscles. It trains in all styles of martial arts to become even stronger.", - "machoke": "Its muscular body is so powerful, it must wear a power save belt to be able to regulate its motions.", - "machamp": "Using its heavy muscles, it throws powerful punches that can send the victim clear over the horizon.", - "bellsprout": "A carnivorous Pokémon that traps and eats bugs. It uses its root feet to soak up needed moisture.", - "weepinbell": "It spits out PoisonPowder to immobilize the enemy and then finishes it with a spray of Acid.", - "victreebel": "Said to live in huge colonies deep in jungles, although no one has ever returned from there.", - "tentacool": "Drifts in shallow seas. Anglers who hook them by accident are often punished by its stinging acid.", - "tentacruel": "The tentacles are normally kept short. On hunts, they are extended to ensnare and immobilize prey.", - "geodude": "Found in fields and mountains. Mistaking them for boulders, people often step or trip on them.", - "graveler": "Rolls down slopes to move. It rolls over any obstacle without slowing or changing its direction.", - "golem": "Its boulder-like body is extremely hard. It can easily withstand dynamite blasts without damage.", - "ponyta": "Its hooves are 10 times harder than diamonds. It can trample anything completely flat in little time.", - "rapidash": "Very competitive, this Pokémon will chase anything that moves fast in the hopes of racing it.", - "slowpoke": "Incredibly slow and dopey. It takes 5 seconds for it to feel pain when under attack.", - "slowbro": "The Shellder that is latched onto Slowpoke's tail is said to feed on the host's left over scraps.", - "magnemite": "Uses anti-gravity to stay suspended. Appears without warning and uses Thunder Wave and similar moves.", - "magneton": "Formed by several Magnemites linked together. They frequently appear when sunspots flare up.", - "farfetch'd": "The sprig of green onions it holds is its weapon. It is used much like a metal sword.", - "doduo": "A bird that makes up for its poor flying with its fast foot speed. Leaves giant footprints.", - "dodrio": "Uses its three brains to execute complex plans. While two heads sleep, one head stays awake.", - "seel": "The protruding horn on its head is very hard. It is used for bashing through thick ice.", - "dewgong": "Stores thermal energy in its body. Swims at a steady 8 knots even in intensely cold waters.", - "grimer": "Appears in filthy areas. Thrives by sucking up polluted sludge that is pumped out of factories.", - "muk": "Thickly covered with a filthy, vile sludge. It is so toxic, even its footprints contain poison.", - "shellder": "Its hard shell repels any kind of attack. It is vulnerable only when its shell is open.", - "cloyster": "When attacked, it launches its horns in quick volleys. Its innards have never been seen.", - "gastly": "Almost invisible, this gaseous Pokémon cloaks the target and puts it to sleep without notice.", - "haunter": "Because of its ability to slip through block walls, it is said to be from another dimension.", - "gengar": "Under a full moon, this Pokémon likes to mimic the shadows of people and laugh at their fright.", - "onix": "As it grows, the stone portions of its body harden to become similar to a diamond, but colored black.", - "drowzee": "Puts enemies to sleep then eats their dreams. Occasionally gets sick from eating bad dreams.", - "hypno": "When it locks eyes with an enemy, it will use a mix of PSI moves such as Hypnosis and Confusion.", - "krabby": "Its pincers are not only powerful weapons, they are used for balance when walking sideways.", - "kingler": "The large pincer has 10000 hp of crushing power. However, its huge size makes it unwieldy to use.", - "voltorb": "Usually found in power plants. Easily mistaken for a Poké Ball, they have zapped many people.", - "electrode": "It stores electric energy under very high pressure. It often explodes with little or no provocation.", - "exeggcute": "Often mistaken for eggs. When disturbed, they quickly gather and attack in swarms.", - "exeggutor": "Legend has it that on rare occasions, one of its heads will drop off and continue on as an Exeggcute.", - "cubone": "Because it never removes its skull helmet, no one has ever seen this Pokémon's real face.", - "marowak": "The bone it holds is its key weapon. It throws the bone skillfully like a boomerang to KO targets.", - "hitmonlee": "When in a hurry, its legs lengthen progressively. It runs smoothly with extra long, loping strides.", - "hitmonchan": "While apparently doing nothing, it fires punches in lightning fast volleys that are impossible to see.", - "lickitung": "Its tongue can be extended like a chameleon's. It leaves a tingling sensation when it licks enemies.", - "koffing": "Because it stores several kinds of toxic gases in its body, it is prone to exploding without warning.", - "weezing": "Where two kinds of poison gases meet, 2 Koffings can fuse into a Weezing over many years.", - "rhyhorn": "Its massive bones are 1000 times harder than human bones. It can easily knock a trailer flying.", - "rhydon": "Protected by an armor-like hide, it is capable of living in molten lava of 3,600 degrees.", - "chansey": "A rare and elusive Pokémon that is said to bring happiness to those who manage to get it.", - "tangela": "The whole body is swathed with wide vines that are similar to seaweed. Its vines shake as it walks.", - "kangaskhan": "The infant rarely ventures out of its mother's protective pouch until it is 3 years old.", - "horsea": "Known to shoot down flying bugs with precision blasts of ink from the surface of the water.", - "seadra": "Capable of swimming backwards by rapidly flapping its wing-like pectoral fins and stout tail.", - "goldeen": "Its tail fin billows like an elegant ballroom dress, giving it the nickname of the Water Queen.", - "seaking": "In the autumn spawning season, they can be seen swimming powerfully up rivers and creeks.", - "staryu": "An enigmatic Pokémon that can effortlessly regenerate any appendage it loses in battle.", - "starmie": "Its central core glows with the seven colors of the rainbow. Some people value the core as a gem.", - "mr. mime": "If interrupted while it is miming, it will slap around the offender with its broad hands.", - "scyther": "With ninja-like agility and speed, it can create the illusion that there is more than one.", - "jynx": "It seductively wiggles its hips as it walks. It can cause people to dance in unison with it.", - "electabuzz": "Normally found near power plants, they can wander away and cause major blackouts in cities.", - "magmar": "Its body always burns with an orange glow that enables it to hide perfectly among flames.", - "pinsir": "If it fails to crush the victim in its pincers, it will swing it around and toss it hard.", - "tauros": "When it targets an enemy, it charges furiously while whipping its body with its long tails.", - "magikarp": "In the distant past, it was somewhat stronger than the horribly weak descendants that exist today.", - "gyarados": "Rarely seen in the wild. Huge and vicious, it is capable of destroying entire cities in a rage.", - "lapras": "A Pokémon that has been overhunted almost to extinction. It can ferry people across the water.", - "ditto": "Capable of copying an enemy's genetic code to instantly transform itself into a duplicate of the enemy.", - "eevee": "Its genetic code is irregular. It may mutate if it is exposed to radiation from element Stones.", - "vaporeon": "Lives close to water. Its long tail is ridged with a fin which is often mistaken for a mermaid's.", - "jolteon": "It accumulates negative ions in the atmosphere to blast out 10000-volt lightning bolts.", - "flareon": "When storing thermal energy in its body, its temperature could soar to over 1600 degrees.", - "porygon": "A Pokémon that consists entirely of programming code. Capable of moving freely in cyberspace.", - "omanyte": "Although long extinct, in rare cases, it can be genetically resurrected from fossils.", - "omastar": "A prehistoric Pokémon that died out when its heavy shell made it impossible to catch prey.", - "kabuto": "A Pokémon that was resurrected from a fossil found in what was once the ocean floor eons ago.", - "kabutops": "Its sleek shape is perfect for swimming. It slashes prey with its claws and drains the body fluids.", - "aerodactyl": "A ferocious, prehistoric Pokémon that goes for the enemy's throat with its serrated saw-like fangs.", - "snorlax": "Very lazy. Just eats and sleeps. As its rotund bulk builds, it becomes steadily more slothful.", - "articuno": "A legendary bird Pokémon that is said to appear to doomed people who are lost in icy mountains.", - "zapdos": "A legendary bird Pokémon that is said to appear from clouds while dropping enormous lightning bolts.", - "moltres": "Known as the legendary bird of fire. Every flap of its wings creates a dazzling flash of flames.", - "dratini": "Long considered a mythical Pokémon until recently when a small colony was found living underwater.", - "dragonair": "A mystical Pokémon that exudes a gentle aura. Has the ability to change climate conditions.", - "dragonite": "An extremely rarely seen marine Pokémon. Its intelligence is said to match that of humans.", - "mewtwo": "It was created by a scientist after years of horrific gene splicing and DNA engineering experiments.", - "mew": "So rare that it is still said to be a mirage by many experts. Only a few people have seen it worldwide.", - "missingno.": "コメント さくせいちゅう", - "chikorita": "A sweet aroma gently wafts from the leaf on its head. It is docile and loves to soak up the sun's rays.", - "bayleef": "The scent of spices comes from around its neck. Somehow, sniffing it makes you want to fight.", - "meganium": "The aroma that rises from its petals contains a substance that calms aggressive feelings.", - "cyndaquil": "It is timid, and always curls itself up in a ball. If attacked, it flares up its back for protection.", - "quilava": "Be careful if it turns its back during battle. It means that it will attack with the fire on its back.", - "typhlosion": "If its rage peaks, it becomes so hot that anything that touches it will instantly go up in flames.", - "totodile": "Its well-developed jaws are powerful and capable of crushing anything. Even its trainer must be careful.", - "croconaw": "If it loses a fang, a new one grows back in its place. There are always 48 fangs lining its mouth.", - "feraligatr": "When it bites with its massive and powerful jaws, it shakes its head and savagely tears its victim up.", - "sentret": "A very cautious Pokémon, it raises itself up using its tail to get a better view of its surroundings.", - "furret": "It makes a nest to suit its long and skinny body. The nest is impossible for other Pokémon to enter.", - "hoothoot": "It always stands on one foot. It changes feet so fast, the movement can rarely be seen.", - "noctowl": "Its eyes are specially adapted. They concentrate even faint light and enable it to see in the dark.", - "ledyba": "It is very timid. It will be afraid to move if it is alone. But it will be active if it is in a group.", - "ledian": "When the stars flicker in the night sky, it flutters about, scattering a glowing powder.", - "spinarak": "It lies still in the same pose for days in its web, waiting for its unsuspecting prey to wander close.", - "ariados": "It spins string not only from its rear but also from its mouth. It is hard to tell which end is which.", - "crobat": "It flies so silently through the dark on its four wings that it may not be noticed even when nearby.", - "chinchou": "It shoots positive and negative electricity between the tips of its two antennae and zaps its enemies.", - "lanturn": "The light it emits is so bright that it can illuminate the sea's surface from a depth of over three miles.", - "pichu": "It is not yet skilled at storing electricity. It may send out a jolt if amused or startled.", - "cleffa": "Because of its unusual, star-like silhouette, people believe that it came here on a meteor.", - "igglybuff": "It has a very soft body. If it starts to roll, it will bounce all over and be impossible to stop.", - "togepi": "The shell seems to be filled with joy. It is said that it will share good luck when treated kindly.", - "togetic": "They say that it will appear before kindhearted, caring people and shower them with happiness.", - "natu": "Because its wings aren't yet fully grown, it has to hop to get around. It is always staring at something.", - "xatu": "They say that it stays still and quiet because it is seeing both the past and future at the same time.", - "mareep": "If static electricity builds in its body, its fleece doubles in volume. Touching it will shock you.", - "flaaffy": "As a result of storing too much electricity, it developed patches where even downy wool won't grow.", - "ampharos": "The tail's tip shines brightly and can be seen from far away. It acts as a beacon for lost people.", - "bellossom": "Bellossom gather at times and appear to dance. They say that the dance is a ritual to summon the sun.", - "marill": "The tip of its tail, which contains oil that is lighter than water, lets it swim without drowning.", - "azumarill": "By keeping still and listening intently, it can tell what is in even wild, fast-moving rivers.", - "sudowoodo": "Although it always pretends to be a tree, its composition appears to be closer to a rock than a plant.", - "politoed": "If Poliwag and Poliwhirl hear its echoing cry, they respond by gathering from far and wide.", - "hoppip": "To keep from being blown away by the wind, they gather in clusters. They do enjoy gentle breezes, though.", - "skiploom": "The bloom on top of its head opens and closes as the temperature fluctuates up and down.", - "jumpluff": "Once it catches the wind, it deftly controls its cotton-puff spores to float, even around the world.", - "aipom": "Its tail is so powerful that it can use it to grab a tree branch and hold itself up in the air.", - "sunkern": "It may drop out of the sky suddenly. If attacked by a Spearow, it will violently shake its leaves.", - "sunflora": "It converts sunlight into energy. In the darkness after sunset, it closes its petals and becomes still.", - "yanma": "If it flaps its wings really fast, it can generate shock waves that will shatter windows in the area.", - "wooper": "This Pokémon lives in cold water. It will leave the water to search for food when it gets cold outside.", - "quagsire": "This carefree Pokémon has an easy-going nature. While swimming, it always bumps into boat hulls.", - "espeon": "It uses the fine hair that covers its body to sense air currents and predict its enemy's actions.", - "umbreon": "When agitated, this Pokémon protects itself by spraying poisonous sweat from its pores.", - "murkrow": "Feared and loathed by many, it is believed to bring misfortune to all those who see it at night.", - "slowking": "It has incredible intellect and intuition. Whatever the situation, it remains calm and collected.", - "misdreavus": "It likes playing mischievous tricks such as screaming and wailing to startle people at night.", - "unown": "Their shapes look like hieroglyphs on ancient tablets. It is said that the two are somehow related.", - "wobbuffet": "It hates light and shock. If attacked, it inflates its body to pump up its counterstrike.", - "girafarig": "Its tail has a small brain of its own. Beware! If you get close, it may react to your scent and bite.", - "pineco": "It likes to make its shell thicker by adding layers of tree bark. The additional weight doesn't bother it.", - "forretress": "Its entire body is shielded by a steel-hard shell. What lurks inside the armor is a total mystery.", - "dunsparce": "When spotted, this Pokémon escapes backward by furiously boring into the ground with its tail.", - "gligar": "It flies straight at its target's face then clamps down on the startled victim to inject poison.", - "steelix": "Its body has been compressed deep under the ground. As a result, it is even harder than a diamond.", - "snubbull": "Although it looks frightening, it is actually kind and affectionate. It is very popular among women.", - "granbull": "It is actually timid and easily spooked. If attacked, it flails about to fend off its attacker.", - "qwilfish": "To fire its poison spikes, it must inflate its body by drinking over 2.6 gallons of water all at once.", - "scizor": "It swings its eye-patterned pincers up to scare its foes. This makes it look like it has three heads.", - "shuckle": "The Berries it stores in its vase-like shell decompose and become a gooey liquid.", - "heracross": "This powerful Pokémon thrusts its prized horn under its enemies' bellies then lifts and throws them.", - "sneasel": "Its paws conceal sharp claws. If attacked, it suddenly extends the claws and startles its enemy.", - "teddiursa": "If it finds honey, its crescent mark glows. It always licks its paws because they are soaked with honey.", - "ursaring": "Although it is a good climber, it prefers to snap trees with its forelegs and eat fallen Berries.", - "slugma": "It never sleeps. It has to keep moving because if it stopped, its magma body would cool and harden.", - "magcargo": "The shell on its back is just skin that has cooled and hardened. It breaks easily with a slight touch.", - "swinub": "It rubs its snout on the ground to find and dig up food. It sometimes discovers hot springs.", - "piloswine": "Because the long hair all over its body obscures its sight, it just keeps charging repeatedly.", - "corsola": "It continuously sheds and grows. The tip of its head is prized as a treasure for its beauty.", - "remoraid": "It has superb accuracy. The water it shoots out can strike even moving prey from more than 300 feet.", - "octillery": "It traps enemies with its suction-cupped tentacles then smashes them with its rock-hard head.", - "delibird": "It carries food all day long. There are tales about lost people who were saved by the food it had.", - "mantine": "As it majestically swims, it doesn't care if Remoraid attach to it for scavenging its leftovers.", - "skarmory": "Its sturdy wings look heavy, but they are actually hollow and light, allowing it to fly freely in the sky.", - "houndour": "It uses different kinds of cries for communicating with others of its kind and for pursuing its prey.", - "houndoom": "If you are burned by the flames it shoots from its mouth, the pain will never go away.", - "kingdra": "It is said that it usually hides in underwater caves. It can create whirlpools by yawning.", - "phanpy": "It swings its long snout around playfully, but because it is so strong, that can be dangerous.", - "donphan": "It has sharp, hard tusks and a rugged hide. Its Tackle is strong enough to knock down a house.", - "porygon2": "This upgraded version of Porygon is designed for space exploration. It can't fly, though.", - "stantler": "The curved antlers subtly change the flow of air to create a strange space where reality is distorted.", - "smeargle": "A special fluid oozes from the tip of its tail. It paints the fluid everywhere to mark its territory.", - "tyrogue": "It is always bursting with energy. To make itself stronger, it keeps on fighting even if it loses.", - "hitmontop": "If you become enchanted by its smooth, elegant, dance-like kicks, you may get drilled hard.", - "smoochum": "Its lips are the most sensitive parts on its body. It always uses its lips first to examine things.", - "elekid": "It rotates its arms to generate electricity, but it tires easily, so it charges up only a little bit.", - "magby": "Each and every time it inhales and exhales, hot embers dribble out of its mouth and nostrils.", - "miltank": "Its milk is packed with nutrition, making it the ultimate beverage for the sick or weary.", - "blissey": "Anyone who takes even one bite of Blissey's egg becomes unfailingly caring and pleasant to everyone.", - "raikou": "The rain clouds it carries let it fire thunderbolts at will. They say that it descended with lightning.", - "entei": "Volcanoes erupt when it barks. Unable to restrain its extreme power, it races headlong around the land.", - "suicune": "Said to be the reincarnation of north winds, it can instantly purify filthy, murky water.", - "larvitar": "It feeds on soil. After it has eaten a large mountain, it will fall asleep so it can grow.", - "pupitar": "Its shell is as hard as sheet rock, and it is also very strong. Its Thrashing can topple a mountain.", - "tyranitar": "Its body can't be harmed by any sort of attack, so it is very eager to make challenges against enemies.", - "lugia": "It is said that it quietly spends its time deep at the bottom of the sea because its powers are too strong.", - "ho-oh": "Legends claim this Pokémon flies the world's skies continuously on its magnificent seven-colored wings.", - "celebi": "This Pokémon wanders across time. Grass and trees flourish in the forests in which it has appeared.", - "treeko": "Treecko has small hooks on the bottom of its feet that enable it to scale vertical walls. This Pokémon attacks by slamming foes with its thick tail.", - "grovyle": "The leaves growing out of Grovyle's body are convenient for camouflaging it from enemies in the forest. This Pokémon is a master at climbing trees in jungles." + "bulbasaur": "A strange seed was planted on its back at birth. The plant sprouts and grows with this Pokémon.", + "ivysaur": "When the bulb on its back grows large, it appears to lose the ability to stand on its hind legs.", + "venusaur": "The plant blooms when it is absorbing solar energy. It stays on the move to seek sunlight.", + "charmander": "Obviously prefers hot places. When it rains, steam is said to spout from the tip of its tail.", + "charmeleon": "When it swings its burning tail, it elevates the temperature to unbearably high levels.", + "charizard": "Spits fire that is hot enough to melt boulders. Known to cause forest fires unintentionally.", + "squirtle": "After birth, its back swells and hardens into a shell. Powerfully sprays foam from its mouth.", + "wartortle": "Often hides in water to stalk unwary prey. For swimming fast, it moves its ears to maintain balance.", + "blastoise": "A brutal Pokémon with pressurized water jets on its shell. They are used for high speed tackles.", + "caterpie": "Its short feet are tipped with suction pads that enable it to tirelessly climb slopes and walls.", + "metapod": "This Pokémon is vulnerable to attack while its shell is soft, exposing its weak and tender body.", + "butterfree": "In battle, it flaps its wings at high speed to release highly toxic dust into the air.", + "weedle": "Often found in forests, eating leaves. It has a sharp venomous stinger on its head.", + "kakuna": "Almost incapable of moving, this Pokémon can only harden its shell to protect itself from predators.", + "beedrill": "Flies at high speed and attacks using its large venomous stingers on its forelegs and tail.", + "pidgey": "A common sight in forests and woods. It flaps its wings at ground level to kick up blinding sand.", + "pidgeotto": "Very protective of its sprawling territorial area, this Pokémon will fiercely peck at any intruder.", + "pidgeot": "When hunting, it skims the surface of water at high speed to pick off unwary prey such as Magikarp.", + "rattata": "Bites anything when it attacks. Small and very quick, it is a common sight in many places.", + "raticate": "It uses its whiskers to maintain its balance. It apparently slows down if they are cut off.", + "spearow": "Eats bugs in grassy areas. It has to flap its short wings at high speed to stay airborne.", + "fearow": "With its huge and magnificent wings, it can keep aloft without ever having to land for rest.", + "ekans": "Moves silently and stealthily. Eats the eggs of birds, such as Pidgey and Spearow, whole.", + "arbok": "It is rumored that the ferocious warning markings on its belly differ from area to area.", + "pikachu": "When several of these Pokémon gather, their electricity could build and cause lightning storms.", + "raichu": "Its long tail serves as a ground to protect itself from its own high voltage power.", + "sandshrew": "Burrows deep underground in arid locations far from water. It only emerges to hunt for food.", + "sandslash": "Curls up into a spiny ball when threatened. It can roll while curled up to attack or escape.", + "nidoranf": "Although small, its venomous barbs render this Pokémon dangerous. The female has smaller horns.", + "nidorina": "The female's horn develops slowly. Prefers physical attacks such as clawing and biting.", + "nidoqueen": "Its hard scales provide strong protection. It uses its hefty bulk to execute powerful moves.", + "nidoranm": "Stiffens its ears to sense danger. The larger its horns, the more powerful its secreted venom.", + "nidorino": "An aggressive Pokémon that is quick to attack. The horn on its head secretes a powerful venom.", + "nidoking": "It uses its powerful tail in battle to smash, constrict, then break the prey's bones.", + "clefairy": "Its magical and cute appeal has many admirers. It is rare and found only in certain areas.", + "clefable": "A timid fairy Pokémon that is rarely seen. It will run and hide the moment it senses people.", + "vulpix": "At the time of birth, it has just one tail. The tail splits from its tip as it grows older.", + "ninetales": "Very smart and very vengeful. Grabbing one of its many tails could result in a 1000-year curse.", + "jigglypuff": "When its huge eyes light up, it sings a mysteriously soothing melody that lulls its enemies to sleep.", + "wigglytuff": "The body is soft and rubbery. When angered, it will suck in air and inflate itself to an enormous size.", + "zubat": "Forms colonies in perpetually dark places. Uses ultrasonic waves to identify and approach targets.", + "golbat": "Once it strikes, it will not stop draining energy from the victim even if it gets too heavy to fly.", + "oddish": "During the day, it keeps its face buried in the ground. At night, it wanders around sowing its seeds.", + "gloom": "The fluid that oozes from its mouth isn't drool. It is a nectar that is used to attract prey.", + "vileplume": "The larger its petals, the more toxic pollen it contains. Its big head is heavy and hard to hold up.", + "paras": "Burrows to suck tree roots. The mushrooms on its back grow by drawing nutrients from the bug host.", + "parasect": "A host-parasite pair in which the parasite mushroom has taken over the host bug. Prefers damp places.", + "venonat": "Lives in the shadows of tall trees where it eats insects. It is attracted by light at night.", + "venomoth": "The dust-like scales covering its wings are color coded to indicate the kinds of poison it has.", + "diglett": "Lives about one yard underground where it feeds on plant roots. It sometimes appears above ground.", + "dugtrio": "A team of Diglett triplets. It triggers huge earthquakes by burrowing 60 miles underground.", + "meowth": "Adores circular objects. Wanders the streets on a nightly basis to look for dropped loose change.", + "persian": "Although its fur has many admirers, it is tough to raise as a pet because of its fickle meanness.", + "psyduck": "While lulling its enemies with its vacant look, this wily Pokémon will use psychokinetic powers.", + "golduck": "Often seen swimming elegantly by lake shores. It is often mistaken for the Japanese monster, Kappa.", + "mankey": "Extremely quick to anger. It could be docile one moment then thrashing away the next instant.", + "primeape": "Always furious and tenacious to boot. It will not abandon chasing its quarry until it is caught.", + "growlithe": "Very protective of its territory. It will bark and bite to repel intruders from its space.", + "arcanine": "A Pokémon that has been admired since the past for its beauty. It runs agilely as if on wings.", + "poliwag": "Its newly grown legs prevent it from running. It appears to prefer swimming than trying to stand.", + "poliwhirl": "Capable of living in or out of water. When out of water, it sweats to keep its body slimy.", + "poliwrath": "An adept swimmer at both the front crawl and breast stroke. Easily overtakes the best human swimmers.", + "abra": "Using its ability to read minds, it will identify impending danger and Teleport to safety.", + "kadabra": "It emits special alpha waves from its body that induce headaches just by being close by.", + "alakazam": "Its brain can outperform a super-computer. Its intelligence quotient is said to be 5,000.", + "machop": "Loves to build its muscles. It trains in all styles of martial arts to become even stronger.", + "machoke": "Its muscular body is so powerful, it must wear a power save belt to be able to regulate its motions.", + "machamp": "Using its heavy muscles, it throws powerful punches that can send the victim clear over the horizon.", + "bellsprout": "A carnivorous Pokémon that traps and eats bugs. It uses its root feet to soak up needed moisture.", + "weepinbell": "It spits out PoisonPowder to immobilize the enemy and then finishes it with a spray of Acid.", + "victreebel": "Said to live in huge colonies deep in jungles, although no one has ever returned from there.", + "tentacool": "Drifts in shallow seas. Anglers who hook them by accident are often punished by its stinging acid.", + "tentacruel": "The tentacles are normally kept short. On hunts, they are extended to ensnare and immobilize prey.", + "geodude": "Found in fields and mountains. Mistaking them for boulders, people often step or trip on them.", + "graveler": "Rolls down slopes to move. It rolls over any obstacle without slowing or changing its direction.", + "golem": "Its boulder-like body is extremely hard. It can easily withstand dynamite blasts without damage.", + "ponyta": "Its hooves are 10 times harder than diamonds. It can trample anything completely flat in little time.", + "rapidash": "Very competitive, this Pokémon will chase anything that moves fast in the hopes of racing it.", + "slowpoke": "Incredibly slow and dopey. It takes 5 seconds for it to feel pain when under attack.", + "slowbro": "The Shellder that is latched onto Slowpoke's tail is said to feed on the host's left over scraps.", + "magnemite": "Uses anti-gravity to stay suspended. Appears without warning and uses Thunder Wave and similar moves.", + "magneton": "Formed by several Magnemites linked together. They frequently appear when sunspots flare up.", + "farfetch'd": "The sprig of green onions it holds is its weapon. It is used much like a metal sword.", + "doduo": "A bird that makes up for its poor flying with its fast foot speed. Leaves giant footprints.", + "dodrio": "Uses its three brains to execute complex plans. While two heads sleep, one head stays awake.", + "seel": "The protruding horn on its head is very hard. It is used for bashing through thick ice.", + "dewgong": "Stores thermal energy in its body. Swims at a steady 8 knots even in intensely cold waters.", + "grimer": "Appears in filthy areas. Thrives by sucking up polluted sludge that is pumped out of factories.", + "muk": "Thickly covered with a filthy, vile sludge. It is so toxic, even its footprints contain poison.", + "shellder": "Its hard shell repels any kind of attack. It is vulnerable only when its shell is open.", + "cloyster": "When attacked, it launches its horns in quick volleys. Its innards have never been seen.", + "gastly": "Almost invisible, this gaseous Pokémon cloaks the target and puts it to sleep without notice.", + "haunter": "Because of its ability to slip through block walls, it is said to be from another dimension.", + "gengar": "Under a full moon, this Pokémon likes to mimic the shadows of people and laugh at their fright.", + "onix": "As it grows, the stone portions of its body harden to become similar to a diamond, but colored black.", + "drowzee": "Puts enemies to sleep then eats their dreams. Occasionally gets sick from eating bad dreams.", + "hypno": "When it locks eyes with an enemy, it will use a mix of PSI moves such as Hypnosis and Confusion.", + "krabby": "Its pincers are not only powerful weapons, they are used for balance when walking sideways.", + "kingler": "The large pincer has 10000 hp of crushing power. However, its huge size makes it unwieldy to use.", + "voltorb": "Usually found in power plants. Easily mistaken for a Poké Ball, they have zapped many people.", + "electrode": "It stores electric energy under very high pressure. It often explodes with little or no provocation.", + "exeggcute": "Often mistaken for eggs. When disturbed, they quickly gather and attack in swarms.", + "exeggutor": "Legend has it that on rare occasions, one of its heads will drop off and continue on as an Exeggcute.", + "cubone": "Because it never removes its skull helmet, no one has ever seen this Pokémon's real face.", + "marowak": "The bone it holds is its key weapon. It throws the bone skillfully like a boomerang to KO targets.", + "hitmonlee": "When in a hurry, its legs lengthen progressively. It runs smoothly with extra long, loping strides.", + "hitmonchan": "While apparently doing nothing, it fires punches in lightning fast volleys that are impossible to see.", + "lickitung": "Its tongue can be extended like a chameleon's. It leaves a tingling sensation when it licks enemies.", + "koffing": "Because it stores several kinds of toxic gases in its body, it is prone to exploding without warning.", + "weezing": "Where two kinds of poison gases meet, 2 Koffings can fuse into a Weezing over many years.", + "rhyhorn": "Its massive bones are 1000 times harder than human bones. It can easily knock a trailer flying.", + "rhydon": "Protected by an armor-like hide, it is capable of living in molten lava of 3,600 degrees.", + "chansey": "A rare and elusive Pokémon that is said to bring happiness to those who manage to get it.", + "tangela": "The whole body is swathed with wide vines that are similar to seaweed. Its vines shake as it walks.", + "kangaskhan": "The infant rarely ventures out of its mother's protective pouch until it is 3 years old.", + "horsea": "Known to shoot down flying bugs with precision blasts of ink from the surface of the water.", + "seadra": "Capable of swimming backwards by rapidly flapping its wing-like pectoral fins and stout tail.", + "goldeen": "Its tail fin billows like an elegant ballroom dress, giving it the nickname of the Water Queen.", + "seaking": "In the autumn spawning season, they can be seen swimming powerfully up rivers and creeks.", + "staryu": "An enigmatic Pokémon that can effortlessly regenerate any appendage it loses in battle.", + "starmie": "Its central core glows with the seven colors of the rainbow. Some people value the core as a gem.", + "mr. mime": "If interrupted while it is miming, it will slap around the offender with its broad hands.", + "scyther": "With ninja-like agility and speed, it can create the illusion that there is more than one.", + "jynx": "It seductively wiggles its hips as it walks. It can cause people to dance in unison with it.", + "electabuzz": "Normally found near power plants, they can wander away and cause major blackouts in cities.", + "magmar": "Its body always burns with an orange glow that enables it to hide perfectly among flames.", + "pinsir": "If it fails to crush the victim in its pincers, it will swing it around and toss it hard.", + "tauros": "When it targets an enemy, it charges furiously while whipping its body with its long tails.", + "magikarp": "In the distant past, it was somewhat stronger than the horribly weak descendants that exist today.", + "gyarados": "Rarely seen in the wild. Huge and vicious, it is capable of destroying entire cities in a rage.", + "lapras": "A Pokémon that has been overhunted almost to extinction. It can ferry people across the water.", + "ditto": "Capable of copying an enemy's genetic code to instantly transform itself into a duplicate of the enemy.", + "eevee": "Its genetic code is irregular. It may mutate if it is exposed to radiation from element Stones.", + "vaporeon": "Lives close to water. Its long tail is ridged with a fin which is often mistaken for a mermaid's.", + "jolteon": "It accumulates negative ions in the atmosphere to blast out 10000-volt lightning bolts.", + "flareon": "When storing thermal energy in its body, its temperature could soar to over 1600 degrees.", + "porygon": "A Pokémon that consists entirely of programming code. Capable of moving freely in cyberspace.", + "omanyte": "Although long extinct, in rare cases, it can be genetically resurrected from fossils.", + "omastar": "A prehistoric Pokémon that died out when its heavy shell made it impossible to catch prey.", + "kabuto": "A Pokémon that was resurrected from a fossil found in what was once the ocean floor eons ago.", + "kabutops": "Its sleek shape is perfect for swimming. It slashes prey with its claws and drains the body fluids.", + "aerodactyl": "A ferocious, prehistoric Pokémon that goes for the enemy's throat with its serrated saw-like fangs.", + "snorlax": "Very lazy. Just eats and sleeps. As its rotund bulk builds, it becomes steadily more slothful.", + "articuno": "A legendary bird Pokémon that is said to appear to doomed people who are lost in icy mountains.", + "zapdos": "A legendary bird Pokémon that is said to appear from clouds while dropping enormous lightning bolts.", + "moltres": "Known as the legendary bird of fire. Every flap of its wings creates a dazzling flash of flames.", + "dratini": "Long considered a mythical Pokémon until recently when a small colony was found living underwater.", + "dragonair": "A mystical Pokémon that exudes a gentle aura. Has the ability to change climate conditions.", + "dragonite": "An extremely rarely seen marine Pokémon. Its intelligence is said to match that of humans.", + "mewtwo": "It was created by a scientist after years of horrific gene splicing and DNA engineering experiments.", + "mew": "So rare that it is still said to be a mirage by many experts. Only a few people have seen it worldwide.", + "missingno.": "コメント さくせいちゅう", + "chikorita": "A sweet aroma gently wafts from the leaf on its head. It is docile and loves to soak up the sun's rays.", + "bayleef": "The scent of spices comes from around its neck. Somehow, sniffing it makes you want to fight.", + "meganium": "The aroma that rises from its petals contains a substance that calms aggressive feelings.", + "cyndaquil": "It is timid, and always curls itself up in a ball. If attacked, it flares up its back for protection.", + "quilava": "Be careful if it turns its back during battle. It means that it will attack with the fire on its back.", + "typhlosion": "If its rage peaks, it becomes so hot that anything that touches it will instantly go up in flames.", + "totodile": "Its well-developed jaws are powerful and capable of crushing anything. Even its trainer must be careful.", + "croconaw": "If it loses a fang, a new one grows back in its place. There are always 48 fangs lining its mouth.", + "feraligatr": "When it bites with its massive and powerful jaws, it shakes its head and savagely tears its victim up.", + "sentret": "A very cautious Pokémon, it raises itself up using its tail to get a better view of its surroundings.", + "furret": "It makes a nest to suit its long and skinny body. The nest is impossible for other Pokémon to enter.", + "hoothoot": "It always stands on one foot. It changes feet so fast, the movement can rarely be seen.", + "noctowl": "Its eyes are specially adapted. They concentrate even faint light and enable it to see in the dark.", + "ledyba": "It is very timid. It will be afraid to move if it is alone. But it will be active if it is in a group.", + "ledian": "When the stars flicker in the night sky, it flutters about, scattering a glowing powder.", + "spinarak": "It lies still in the same pose for days in its web, waiting for its unsuspecting prey to wander close.", + "ariados": "It spins string not only from its rear but also from its mouth. It is hard to tell which end is which.", + "crobat": "It flies so silently through the dark on its four wings that it may not be noticed even when nearby.", + "chinchou": "It shoots positive and negative electricity between the tips of its two antennae and zaps its enemies.", + "lanturn": "The light it emits is so bright that it can illuminate the sea's surface from a depth of over three miles.", + "pichu": "It is not yet skilled at storing electricity. It may send out a jolt if amused or startled.", + "cleffa": "Because of its unusual, star-like silhouette, people believe that it came here on a meteor.", + "igglybuff": "It has a very soft body. If it starts to roll, it will bounce all over and be impossible to stop.", + "togepi": "The shell seems to be filled with joy. It is said that it will share good luck when treated kindly.", + "togetic": "They say that it will appear before kindhearted, caring people and shower them with happiness.", + "natu": "Because its wings aren't yet fully grown, it has to hop to get around. It is always staring at something.", + "xatu": "They say that it stays still and quiet because it is seeing both the past and future at the same time.", + "mareep": "If static electricity builds in its body, its fleece doubles in volume. Touching it will shock you.", + "flaaffy": "As a result of storing too much electricity, it developed patches where even downy wool won't grow.", + "ampharos": "The tail's tip shines brightly and can be seen from far away. It acts as a beacon for lost people.", + "bellossom": "Bellossom gather at times and appear to dance. They say that the dance is a ritual to summon the sun.", + "marill": "The tip of its tail, which contains oil that is lighter than water, lets it swim without drowning.", + "azumarill": "By keeping still and listening intently, it can tell what is in even wild, fast-moving rivers.", + "sudowoodo": "Although it always pretends to be a tree, its composition appears to be closer to a rock than a plant.", + "politoed": "If Poliwag and Poliwhirl hear its echoing cry, they respond by gathering from far and wide.", + "hoppip": "To keep from being blown away by the wind, they gather in clusters. They do enjoy gentle breezes, though.", + "skiploom": "The bloom on top of its head opens and closes as the temperature fluctuates up and down.", + "jumpluff": "Once it catches the wind, it deftly controls its cotton-puff spores to float, even around the world.", + "aipom": "Its tail is so powerful that it can use it to grab a tree branch and hold itself up in the air.", + "sunkern": "It may drop out of the sky suddenly. If attacked by a Spearow, it will violently shake its leaves.", + "sunflora": "It converts sunlight into energy. In the darkness after sunset, it closes its petals and becomes still.", + "yanma": "If it flaps its wings really fast, it can generate shock waves that will shatter windows in the area.", + "wooper": "This Pokémon lives in cold water. It will leave the water to search for food when it gets cold outside.", + "quagsire": "This carefree Pokémon has an easy-going nature. While swimming, it always bumps into boat hulls.", + "espeon": "It uses the fine hair that covers its body to sense air currents and predict its enemy's actions.", + "umbreon": "When agitated, this Pokémon protects itself by spraying poisonous sweat from its pores.", + "murkrow": "Feared and loathed by many, it is believed to bring misfortune to all those who see it at night.", + "slowking": "It has incredible intellect and intuition. Whatever the situation, it remains calm and collected.", + "misdreavus": "It likes playing mischievous tricks such as screaming and wailing to startle people at night.", + "unown": "Their shapes look like hieroglyphs on ancient tablets. It is said that the two are somehow related.", + "wobbuffet": "It hates light and shock. If attacked, it inflates its body to pump up its counterstrike.", + "girafarig": "Its tail has a small brain of its own. Beware! If you get close, it may react to your scent and bite.", + "pineco": "It likes to make its shell thicker by adding layers of tree bark. The additional weight doesn't bother it.", + "forretress": "Its entire body is shielded by a steel-hard shell. What lurks inside the armor is a total mystery.", + "dunsparce": "When spotted, this Pokémon escapes backward by furiously boring into the ground with its tail.", + "gligar": "It flies straight at its target's face then clamps down on the startled victim to inject poison.", + "steelix": "Its body has been compressed deep under the ground. As a result, it is even harder than a diamond.", + "snubbull": "Although it looks frightening, it is actually kind and affectionate. It is very popular among women.", + "granbull": "It is actually timid and easily spooked. If attacked, it flails about to fend off its attacker.", + "qwilfish": "To fire its poison spikes, it must inflate its body by drinking over 2.6 gallons of water all at once.", + "scizor": "It swings its eye-patterned pincers up to scare its foes. This makes it look like it has three heads.", + "shuckle": "The Berries it stores in its vase-like shell decompose and become a gooey liquid.", + "heracross": "This powerful Pokémon thrusts its prized horn under its enemies' bellies then lifts and throws them.", + "sneasel": "Its paws conceal sharp claws. If attacked, it suddenly extends the claws and startles its enemy.", + "teddiursa": "If it finds honey, its crescent mark glows. It always licks its paws because they are soaked with honey.", + "ursaring": "Although it is a good climber, it prefers to snap trees with its forelegs and eat fallen Berries.", + "slugma": "It never sleeps. It has to keep moving because if it stopped, its magma body would cool and harden.", + "magcargo": "The shell on its back is just skin that has cooled and hardened. It breaks easily with a slight touch.", + "swinub": "It rubs its snout on the ground to find and dig up food. It sometimes discovers hot springs.", + "piloswine": "Because the long hair all over its body obscures its sight, it just keeps charging repeatedly.", + "corsola": "It continuously sheds and grows. The tip of its head is prized as a treasure for its beauty.", + "remoraid": "It has superb accuracy. The water it shoots out can strike even moving prey from more than 300 feet.", + "octillery": "It traps enemies with its suction-cupped tentacles then smashes them with its rock-hard head.", + "delibird": "It carries food all day long. There are tales about lost people who were saved by the food it had.", + "mantine": "As it majestically swims, it doesn't care if Remoraid attach to it for scavenging its leftovers.", + "skarmory": "Its sturdy wings look heavy, but they are actually hollow and light, allowing it to fly freely in the sky.", + "houndour": "It uses different kinds of cries for communicating with others of its kind and for pursuing its prey.", + "houndoom": "If you are burned by the flames it shoots from its mouth, the pain will never go away.", + "kingdra": "It is said that it usually hides in underwater caves. It can create whirlpools by yawning.", + "phanpy": "It swings its long snout around playfully, but because it is so strong, that can be dangerous.", + "donphan": "It has sharp, hard tusks and a rugged hide. Its Tackle is strong enough to knock down a house.", + "porygon2": "This upgraded version of Porygon is designed for space exploration. It can't fly, though.", + "stantler": "The curved antlers subtly change the flow of air to create a strange space where reality is distorted.", + "smeargle": "A special fluid oozes from the tip of its tail. It paints the fluid everywhere to mark its territory.", + "tyrogue": "It is always bursting with energy. To make itself stronger, it keeps on fighting even if it loses.", + "hitmontop": "If you become enchanted by its smooth, elegant, dance-like kicks, you may get drilled hard.", + "smoochum": "Its lips are the most sensitive parts on its body. It always uses its lips first to examine things.", + "elekid": "It rotates its arms to generate electricity, but it tires easily, so it charges up only a little bit.", + "magby": "Each and every time it inhales and exhales, hot embers dribble out of its mouth and nostrils.", + "miltank": "Its milk is packed with nutrition, making it the ultimate beverage for the sick or weary.", + "blissey": "Anyone who takes even one bite of Blissey's egg becomes unfailingly caring and pleasant to everyone.", + "raikou": "The rain clouds it carries let it fire thunderbolts at will. They say that it descended with lightning.", + "entei": "Volcanoes erupt when it barks. Unable to restrain its extreme power, it races headlong around the land.", + "suicune": "Said to be the reincarnation of north winds, it can instantly purify filthy, murky water.", + "larvitar": "It feeds on soil. After it has eaten a large mountain, it will fall asleep so it can grow.", + "pupitar": "Its shell is as hard as sheet rock, and it is also very strong. Its Thrashing can topple a mountain.", + "tyranitar": "Its body can't be harmed by any sort of attack, so it is very eager to make challenges against enemies.", + "lugia": "It is said that it quietly spends its time deep at the bottom of the sea because its powers are too strong.", + "ho-oh": "Legends claim this Pokémon flies the world's skies continuously on its magnificent seven-colored wings.", + "celebi": "This Pokémon wanders across time. Grass and trees flourish in the forests in which it has appeared.", + "treeko": "Treecko has small hooks on the bottom of its feet that enable it to scale vertical walls. This Pokémon attacks by slamming foes with its thick tail.", + "grovyle": "The leaves growing out of Grovyle's body are convenient for camouflaging it from enemies in the forest. This Pokémon is a master at climbing trees in jungles." }, "species": { - "bulbasaur": "Seed Pokémon", - "ivysaur": "Seed Pokémon", - "venusaur": "Seed Pokémon", - "charmander": "Lizard Pokémon", - "charmeleon": "Flame Pokémon", - "charizard": "Flame Pokémon", - "squirtle": "Tiny Turtle Pokémon", - "wartortle": "Turtle Pokémon", - "blastoise": "Shellfish Pokémon", - "caterpie": "Worm Pokémon", - "metapod": "Cocoon Pokémon", - "butterfree": "Butterfly Pokémon", - "weedle": "Hairy Bug Pokémon", - "kakuna": "Cocoon Pokémon", - "beedrill": "Poison Bee Pokémon", - "pidgey": "Tiny Bird Pokémon", - "pidgeotto": "Bird Pokémon", - "pidgeot": "Bird Pokémon", - "rattata": "Mouse Pokémon", - "raticate": "Mouse Pokémon", - "spearow": "Tiny Bird Pokémon", - "fearow": "Beak Pokémon", - "ekans": "Snake Pokémon", - "arbok": "Cobra Pokémon", - "pikachu": "Mouse Pokémon", - "raichu": "Mouse Pokémon", - "sandshrew": "Mouse Pokémon", - "sandslash": "Mouse Pokémon", - "nidoranf": "Poison Pin Pokémon", - "nidorina": "Poison Pin Pokémon", - "nidoqueen": "Drill Pokémon", - "nidoranm": "Poison Pin Pokémon", - "nidorino": "Poison Pin Pokémon", - "nidoking": "Drill Pokémon", - "clefairy": "Fairy Pokémon", - "clefable": "Fairy Pokémon", - "vulpix": "Fox Pokémon", - "ninetales": "Fox Pokémon", - "jigglypuff": "Balloon Pokémon", - "wigglytuff": "Balloon Pokémon", - "zubat": "Bat Pokémon", - "golbat": "Bat Pokémon", - "oddish": "Weed Pokémon", - "gloom": "Weed Pokémon", - "vileplume": "Flower Pokémon", - "paras": "Mushroom Pokémon", - "parasect": "Mushroom Pokémon", - "venonat": "Insect Pokémon", - "venomoth": "Poison Moth Pokémon", - "diglett": "Mole Pokémon", - "dugtrio": "Mole Pokémon", - "meowth": "Scratch Cat Pokémon", - "persian": "Classy Cat Pokémon", - "psyduck": "Duck Pokémon", - "golduck": "Duck Pokémon", - "mankey": "Pig Monkey Pokémon", - "primeape": "Pig Monkey Pokémon", - "growlithe": "Puppy Pokémon", - "arcanine": "Legendary Pokémon", - "poliwag": "Tadpole Pokémon", - "poliwhirl": "Tadpole Pokémon", - "poliwrath": "Tadpole Pokémon", - "abra": "Psi Pokémon", - "kadabra": "Psi Pokémon", - "alakazam": "Psi Pokémon", - "machop": "Superpower Pokémon", - "machoke": "Superpower Pokémon", - "machamp": "Superpower Pokémon", - "bellsprout": "Flower Pokémon", - "weepinbell": "Flycatcher Pokémon", - "victreebel": "Flycatcher Pokémon", - "tentacool": "Jellyfish Pokémon", - "tentacruel": "Jellyfish Pokémon", - "geodude": "Rock Pokémon", - "graveler": "Rock Pokémon", - "golem": "Megaton Pokémon", - "ponyta": "Fire Horse Pokémon", - "rapidash": "Fire Horse Pokémon", - "slowpoke": "Dopey Pokémon", - "slowbro": "Hermit Crab Pokémon", - "magnemite": "Magnet Pokémon", - "magneton": "Magnet Pokémon", - "farfetch'd": "Wild Duck Pokémon", - "doduo": "Twin Bird Pokémon", - "dodrio": "Triple Bird Pokémon", - "seel": "Sea Lion Pokémon", - "dewgong": "Sea Lion Pokémon", - "grimer": "Sludge Pokémon", - "muk": "Sludge Pokémon", - "shellder": "Bivalve Pokémon", - "cloyster": "Bivalve Pokémon", - "gastly": "Gas Pokémon", - "haunter": "Gas Pokémon", - "gengar": "Shadow Pokémon", - "onix": "Rock Snake Pokémon", - "drowzee": "Hypnosis Pokémon", - "hypno": "Hypnosis Pokémon", - "krabby": "River Crab Pokémon", - "kingler": "Pincer Pokémon", - "voltorb": "Ball Pokémon", - "electrode": "Ball Pokémon", - "exeggcute": "Egg Pokémon", - "exeggutor": "Coconut Pokémon", - "cubone": "Lonely Pokémon", - "marowak": "Bone Keeper Pokémon", - "hitmonlee": "Kicking Pokémon", - "hitmonchan": "Punching Pokémon", - "lickitung": "Licking Pokémon", - "koffing": "Poison Gas Pokémon", - "weezing": "Poison Gas Pokémon", - "rhyhorn": "Spikes Pokémon", - "rhydon": "Drill Pokémon", - "chansey": "Egg Pokémon", - "tangela": "Vine Pokémon", - "kangaskhan": "Parent Pokémon", - "horsea": "Dragon Pokémon", - "seadra": "Dragon Pokémon", - "goldeen": "Goldfish Pokémon", - "seaking": "Goldfish Pokémon", - "staryu": "Star Shape Pokémon", - "starmie": "Mysterious Pokémon", - "mr. mime": "Barrier Pokémon", - "scyther": "Mantis Pokémon", - "jynx": "Human Shape Pokémon", - "electabuzz": "Electric Pokémon", - "magmar": "Spitfire Pokémon", - "pinsir": "Stag Beetle Pokémon", - "tauros": "Wild Bull Pokémon", - "magikarp": "Fish Pokémon", - "gyarados": "Atrocious Pokémon", - "lapras": "Transport Pokémon", - "ditto": "Transform Pokémon", - "eevee": "Evolution Pokémon", - "vaporeon": "Bubble Jet Pokémon", - "jolteon": "Lightning Pokémon", - "flareon": "Flame Pokémon", - "porygon": "Virtual Pokémon", - "omanyte": "Spiral Pokémon", - "omastar": "Spiral Pokémon", - "kabuto": "Shellfish Pokémon", - "kabutops": "Shellfish Pokémon", - "aerodactyl": "Fossil Pokémon", - "snorlax": "Sleeping Pokémon", - "articuno": "Freeze Pokémon", - "zapdos": "Electric Pokémon", - "moltres": "Flame Pokémon", - "dratini": "Dragon Pokémon", - "dragonair": "Dragon Pokémon", - "dragonite": "Dragon Pokémon", - "mewtwo": "Genetic Pokémon", - "mew": "New Species Pokémon", - "missingno.": " ??? Pokémon", - "chikorita": "Leaf Pokémon", - "bayleef": "Leaf Pokémon", - "meganium": "Herb Pokémon", - "cyndaquil": "Fire Mouse Pokémon", - "quilava": "Volcano Pokémon", - "typhlosion": "Volcano Pokémon", - "totodile": "Big Jaw Pokémon", - "croconaw": "Big Jaw Pokémon", - "feraligatr": "Big Jaw Pokémon", - "sentret": "Scout Pokémon", - "furret": "Long Body Pokémon", - "hoothoot": "Owl Pokémon", - "noctowl": "Owl Pokémon", - "ledyba": "Five Star Pokémon", - "ledian": "Five Star Pokémon", - "spinarak": "String Spit Pokémon", - "ariados": "Long Leg Pokémon", - "crobat": "Bat Pokémon", - "chinchou": "Angler Pokémon", - "lanturn": "Light Pokémon", - "pichu": "Tiny Mouse Pokémon", - "cleffa": "Star Shape Pokémon", - "igglybuff": "Balloon Pokémon", - "togepi": "Spike Ball Pokémon", - "togetic": "Happiness Pokémon", - "natu": "Tiny Bird Pokémon", - "xatu": "Mystic Pokémon", - "mareep": "Wool Pokémon", - "flaaffy": "Wool Pokémon", - "ampharos": "Light Pokémon", - "bellossom": "Flower Pokémon", - "marill": "Aqua Mouse Pokémon", - "azumarill": "Aqua Rabbit Pokémon", - "sudowoodo": "Imitation Pokémon", - "politoed": "Frog Pokémon", - "hoppip": "Cottonweed Pokémon", - "skiploom": "Cottonweed Pokémon", - "jumpluff": "Cottonweed Pokémon", - "aipom": "Long Tail Pokémon", - "sunkern": "Seed Pokémon", - "sunflora": "Sun Pokémon", - "yanma": "Clear Wing Pokémon", - "wooper": "Water Fish Pokémon", - "quagsire": "Water Fish Pokémon", - "espeon": "Sun Pokémon", - "umbreon": "Moonlight Pokémon", - "murkrow": "Darkness Pokémon", - "slowking": "Royal Pokémon", - "misdreavus": "Screech Pokémon", - "unown": "Symbol Pokémon", - "wobbuffet": "Patient Pokémon", - "girafarig": "Long Neck Pokémon", - "pineco": "Bagworm Pokémon", - "forretress": "Bagworm Pokémon", - "dunsparce": "Land Snake Pokémon", - "gligar": "Fly Scorpion Pokémon", - "steelix": "Iron Snake Pokémon", - "snubbull": "Fairy Pokémon", - "granbull": "Fairy Pokémon", - "qwilfish": "Balloon Pokémon", - "scizor": "Pincer Pokémon", - "shuckle": "Mold Pokémon", - "heracross": "Single Horn Pokémon", - "sneasel": "Sharp Claw Pokémon", - "teddiursa": "Little Bear Pokémon", - "ursaring": "Hibernator Pokémon", - "slugma": "Lava Pokémon", - "magcargo": "Lava Pokémon", - "swinub": "Pig Pokémon", - "piloswine": "Swine Pokémon", - "corsola": "Coral Pokémon", - "remoraid": "Jet Pokémon", - "octillery": "Jet Pokémon", - "delibird": "Delivery Pokémon", - "mantine": "Kite Pokémon", - "skarmory": "Armor Bird Pokémon", - "houndour": "Dark Pokémon", - "houndoom": "Dark Pokémon", - "kingdra": "Dragon Pokémon", - "phanpy": "Long Nose Pokémon", - "donphan": "Armor Pokémon", - "porygon2": "Virtual Pokémon", - "stantler": "Big Horn Pokémon", - "smeargle": "Painter Pokémon", - "tyrogue": "Scuffle Pokémon", - "hitmontop": "Handstand Pokémon", - "smoochum": "Kiss Pokémon", - "elekid": "Electric Pokémon", - "magby": "Live Coal Pokémon", - "miltank": "Milk Cow Pokémon", - "blissey": "Happiness Pokémon", - "raikou": "Thunder Pokémon", - "entei": "Volcano Pokémon", - "suicune": "Aurora Pokémon", - "larvitar": "Rock Skin Pokémon", - "pupitar": "Hard Shell Pokémon", - "tyranitar": "Armor Pokémon", - "lugia": "Diving Pokémon", - "ho-oh": "Rainbow Pokémon", - "celebi": "Time Travel Pokémon" + "bulbasaur": "Seed Pokémon", + "ivysaur": "Seed Pokémon", + "venusaur": "Seed Pokémon", + "charmander": "Lizard Pokémon", + "charmeleon": "Flame Pokémon", + "charizard": "Flame Pokémon", + "squirtle": "Tiny Turtle Pokémon", + "wartortle": "Turtle Pokémon", + "blastoise": "Shellfish Pokémon", + "caterpie": "Worm Pokémon", + "metapod": "Cocoon Pokémon", + "butterfree": "Butterfly Pokémon", + "weedle": "Hairy Bug Pokémon", + "kakuna": "Cocoon Pokémon", + "beedrill": "Poison Bee Pokémon", + "pidgey": "Tiny Bird Pokémon", + "pidgeotto": "Bird Pokémon", + "pidgeot": "Bird Pokémon", + "rattata": "Mouse Pokémon", + "raticate": "Mouse Pokémon", + "spearow": "Tiny Bird Pokémon", + "fearow": "Beak Pokémon", + "ekans": "Snake Pokémon", + "arbok": "Cobra Pokémon", + "pikachu": "Mouse Pokémon", + "raichu": "Mouse Pokémon", + "sandshrew": "Mouse Pokémon", + "sandslash": "Mouse Pokémon", + "nidoranf": "Poison Pin Pokémon", + "nidorina": "Poison Pin Pokémon", + "nidoqueen": "Drill Pokémon", + "nidoranm": "Poison Pin Pokémon", + "nidorino": "Poison Pin Pokémon", + "nidoking": "Drill Pokémon", + "clefairy": "Fairy Pokémon", + "clefable": "Fairy Pokémon", + "vulpix": "Fox Pokémon", + "ninetales": "Fox Pokémon", + "jigglypuff": "Balloon Pokémon", + "wigglytuff": "Balloon Pokémon", + "zubat": "Bat Pokémon", + "golbat": "Bat Pokémon", + "oddish": "Weed Pokémon", + "gloom": "Weed Pokémon", + "vileplume": "Flower Pokémon", + "paras": "Mushroom Pokémon", + "parasect": "Mushroom Pokémon", + "venonat": "Insect Pokémon", + "venomoth": "Poison Moth Pokémon", + "diglett": "Mole Pokémon", + "dugtrio": "Mole Pokémon", + "meowth": "Scratch Cat Pokémon", + "persian": "Classy Cat Pokémon", + "psyduck": "Duck Pokémon", + "golduck": "Duck Pokémon", + "mankey": "Pig Monkey Pokémon", + "primeape": "Pig Monkey Pokémon", + "growlithe": "Puppy Pokémon", + "arcanine": "Legendary Pokémon", + "poliwag": "Tadpole Pokémon", + "poliwhirl": "Tadpole Pokémon", + "poliwrath": "Tadpole Pokémon", + "abra": "Psi Pokémon", + "kadabra": "Psi Pokémon", + "alakazam": "Psi Pokémon", + "machop": "Superpower Pokémon", + "machoke": "Superpower Pokémon", + "machamp": "Superpower Pokémon", + "bellsprout": "Flower Pokémon", + "weepinbell": "Flycatcher Pokémon", + "victreebel": "Flycatcher Pokémon", + "tentacool": "Jellyfish Pokémon", + "tentacruel": "Jellyfish Pokémon", + "geodude": "Rock Pokémon", + "graveler": "Rock Pokémon", + "golem": "Megaton Pokémon", + "ponyta": "Fire Horse Pokémon", + "rapidash": "Fire Horse Pokémon", + "slowpoke": "Dopey Pokémon", + "slowbro": "Hermit Crab Pokémon", + "magnemite": "Magnet Pokémon", + "magneton": "Magnet Pokémon", + "farfetch'd": "Wild Duck Pokémon", + "doduo": "Twin Bird Pokémon", + "dodrio": "Triple Bird Pokémon", + "seel": "Sea Lion Pokémon", + "dewgong": "Sea Lion Pokémon", + "grimer": "Sludge Pokémon", + "muk": "Sludge Pokémon", + "shellder": "Bivalve Pokémon", + "cloyster": "Bivalve Pokémon", + "gastly": "Gas Pokémon", + "haunter": "Gas Pokémon", + "gengar": "Shadow Pokémon", + "onix": "Rock Snake Pokémon", + "drowzee": "Hypnosis Pokémon", + "hypno": "Hypnosis Pokémon", + "krabby": "River Crab Pokémon", + "kingler": "Pincer Pokémon", + "voltorb": "Ball Pokémon", + "electrode": "Ball Pokémon", + "exeggcute": "Egg Pokémon", + "exeggutor": "Coconut Pokémon", + "cubone": "Lonely Pokémon", + "marowak": "Bone Keeper Pokémon", + "hitmonlee": "Kicking Pokémon", + "hitmonchan": "Punching Pokémon", + "lickitung": "Licking Pokémon", + "koffing": "Poison Gas Pokémon", + "weezing": "Poison Gas Pokémon", + "rhyhorn": "Spikes Pokémon", + "rhydon": "Drill Pokémon", + "chansey": "Egg Pokémon", + "tangela": "Vine Pokémon", + "kangaskhan": "Parent Pokémon", + "horsea": "Dragon Pokémon", + "seadra": "Dragon Pokémon", + "goldeen": "Goldfish Pokémon", + "seaking": "Goldfish Pokémon", + "staryu": "Star Shape Pokémon", + "starmie": "Mysterious Pokémon", + "mr. mime": "Barrier Pokémon", + "scyther": "Mantis Pokémon", + "jynx": "Human Shape Pokémon", + "electabuzz": "Electric Pokémon", + "magmar": "Spitfire Pokémon", + "pinsir": "Stag Beetle Pokémon", + "tauros": "Wild Bull Pokémon", + "magikarp": "Fish Pokémon", + "gyarados": "Atrocious Pokémon", + "lapras": "Transport Pokémon", + "ditto": "Transform Pokémon", + "eevee": "Evolution Pokémon", + "vaporeon": "Bubble Jet Pokémon", + "jolteon": "Lightning Pokémon", + "flareon": "Flame Pokémon", + "porygon": "Virtual Pokémon", + "omanyte": "Spiral Pokémon", + "omastar": "Spiral Pokémon", + "kabuto": "Shellfish Pokémon", + "kabutops": "Shellfish Pokémon", + "aerodactyl": "Fossil Pokémon", + "snorlax": "Sleeping Pokémon", + "articuno": "Freeze Pokémon", + "zapdos": "Electric Pokémon", + "moltres": "Flame Pokémon", + "dratini": "Dragon Pokémon", + "dragonair": "Dragon Pokémon", + "dragonite": "Dragon Pokémon", + "mewtwo": "Genetic Pokémon", + "mew": "New Species Pokémon", + "missingno.": " ??? Pokémon", + "chikorita": "Leaf Pokémon", + "bayleef": "Leaf Pokémon", + "meganium": "Herb Pokémon", + "cyndaquil": "Fire Mouse Pokémon", + "quilava": "Volcano Pokémon", + "typhlosion": "Volcano Pokémon", + "totodile": "Big Jaw Pokémon", + "croconaw": "Big Jaw Pokémon", + "feraligatr": "Big Jaw Pokémon", + "sentret": "Scout Pokémon", + "furret": "Long Body Pokémon", + "hoothoot": "Owl Pokémon", + "noctowl": "Owl Pokémon", + "ledyba": "Five Star Pokémon", + "ledian": "Five Star Pokémon", + "spinarak": "String Spit Pokémon", + "ariados": "Long Leg Pokémon", + "crobat": "Bat Pokémon", + "chinchou": "Angler Pokémon", + "lanturn": "Light Pokémon", + "pichu": "Tiny Mouse Pokémon", + "cleffa": "Star Shape Pokémon", + "igglybuff": "Balloon Pokémon", + "togepi": "Spike Ball Pokémon", + "togetic": "Happiness Pokémon", + "natu": "Tiny Bird Pokémon", + "xatu": "Mystic Pokémon", + "mareep": "Wool Pokémon", + "flaaffy": "Wool Pokémon", + "ampharos": "Light Pokémon", + "bellossom": "Flower Pokémon", + "marill": "Aqua Mouse Pokémon", + "azumarill": "Aqua Rabbit Pokémon", + "sudowoodo": "Imitation Pokémon", + "politoed": "Frog Pokémon", + "hoppip": "Cottonweed Pokémon", + "skiploom": "Cottonweed Pokémon", + "jumpluff": "Cottonweed Pokémon", + "aipom": "Long Tail Pokémon", + "sunkern": "Seed Pokémon", + "sunflora": "Sun Pokémon", + "yanma": "Clear Wing Pokémon", + "wooper": "Water Fish Pokémon", + "quagsire": "Water Fish Pokémon", + "espeon": "Sun Pokémon", + "umbreon": "Moonlight Pokémon", + "murkrow": "Darkness Pokémon", + "slowking": "Royal Pokémon", + "misdreavus": "Screech Pokémon", + "unown": "Symbol Pokémon", + "wobbuffet": "Patient Pokémon", + "girafarig": "Long Neck Pokémon", + "pineco": "Bagworm Pokémon", + "forretress": "Bagworm Pokémon", + "dunsparce": "Land Snake Pokémon", + "gligar": "Fly Scorpion Pokémon", + "steelix": "Iron Snake Pokémon", + "snubbull": "Fairy Pokémon", + "granbull": "Fairy Pokémon", + "qwilfish": "Balloon Pokémon", + "scizor": "Pincer Pokémon", + "shuckle": "Mold Pokémon", + "heracross": "Single Horn Pokémon", + "sneasel": "Sharp Claw Pokémon", + "teddiursa": "Little Bear Pokémon", + "ursaring": "Hibernator Pokémon", + "slugma": "Lava Pokémon", + "magcargo": "Lava Pokémon", + "swinub": "Pig Pokémon", + "piloswine": "Swine Pokémon", + "corsola": "Coral Pokémon", + "remoraid": "Jet Pokémon", + "octillery": "Jet Pokémon", + "delibird": "Delivery Pokémon", + "mantine": "Kite Pokémon", + "skarmory": "Armor Bird Pokémon", + "houndour": "Dark Pokémon", + "houndoom": "Dark Pokémon", + "kingdra": "Dragon Pokémon", + "phanpy": "Long Nose Pokémon", + "donphan": "Armor Pokémon", + "porygon2": "Virtual Pokémon", + "stantler": "Big Horn Pokémon", + "smeargle": "Painter Pokémon", + "tyrogue": "Scuffle Pokémon", + "hitmontop": "Handstand Pokémon", + "smoochum": "Kiss Pokémon", + "elekid": "Electric Pokémon", + "magby": "Live Coal Pokémon", + "miltank": "Milk Cow Pokémon", + "blissey": "Happiness Pokémon", + "raikou": "Thunder Pokémon", + "entei": "Volcano Pokémon", + "suicune": "Aurora Pokémon", + "larvitar": "Rock Skin Pokémon", + "pupitar": "Hard Shell Pokémon", + "tyranitar": "Armor Pokémon", + "lugia": "Diving Pokémon", + "ho-oh": "Rainbow Pokémon", + "celebi": "Time Travel Pokémon" }, "type": { - "bulbasaur": "Grass/Poison", - "ivysaur": "Grass/Poison", - "venusaur": "Grass/Poison", - "charmander": "Fire", - "charmeleon": "Fire", - "charizard": "Fire/Flying", - "squirtle": "Water", - "wartortle": "Water", - "blastoise": "Water", - "caterpie": "Bug", - "metapod": "Bug", - "butterfree": "Bug/Flying", - "weedle": "Bug/Poison", - "kakuna": "Bug/Poison", - "beedrill": "Bug/Poison", - "pidgey": "Normal/Flying", - "pidgeotto": "Normal/Flying", - "pidgeot": "Normal/Flying", - "rattata": "Normal", - "raticate": "Normal", - "spearow": "Normal/Flying", - "fearow": "Normal/Flying", - "ekans": "Poison", - "arbok": "Poison", - "pikachu": "Electric", - "raichu": "Electric", - "sandshrew": "Ground", - "sandslash": "Ground", - "nidoranf": "Poison", - "nidorina": "Poison", - "nidoqueen": "Poison/Ground", - "nidoranm": "Poison", - "nidorino": "Poison", - "nidoking": "Poison/Ground", - "clefairy": "Fairy", - "clefable": "Fairy", - "vulpix": "Fire", - "ninetales": "Fire", - "jigglypuff": "Normal/Fairy", - "wigglytuff": "Normal/Fairy", - "zubat": "Poison/Flying", - "golbat": "Poison/Flying", - "oddish": "Grass/Poison", - "gloom": "Grass/Poison", - "vileplume": "Grass/Poison", - "paras": "Bug/Grass", - "parasect": "Bug/Grass", - "venonat": "Bug/Poison", - "venomoth": "Bug/Poison", - "diglett": "Ground", - "dugtrio": "Ground", - "meowth": "Normal", - "persian": "Normal", - "psyduck": "Water", - "golduck": "Water", - "mankey": "Fighting", - "primeape": "Fighting", - "growlithe": "Fire", - "arcanine": "Fire", - "poliwag": "Water", - "poliwhirl": "Water", - "poliwrath": "Water/Fighting", - "abra": "Psychic", - "kadabra": "Psychic", - "alakazam": "Psychic", - "machop": "Fighting", - "machoke": "Fighting", - "machamp": "Fighting", - "bellsprout": "Grass/Poison", - "weepinbell": "Grass/Poison", - "victreebel": "Grass/Poison", - "tentacool": "Water/Poison", - "tentacruel": "Water/Poison", - "geodude": "Rock/Ground", - "graveler": "Rock/Ground", - "golem": "Rock/Ground", - "ponyta": "Fire", - "rapidash": "Fire", - "slowpoke": "Water/Psychic", - "slowbro": "Water/Psychic", - "magnemite": "Electric/Steel", - "magneton": "Electric/Steel", - "farfetch'd": "Normal/Flying", - "doduo": "Normal/Flying", - "dodrio": "Normal/Flying", - "seel": "Water", - "dewgong": "Water/Ice", - "grimer": "Poison", - "muk": "Poison", - "shellder": "Water", - "cloyster": "Water/Ice", - "gastly": "Ghost/Poison", - "haunter": "Ghost/Poison", - "gengar": "Ghost/Poison", - "onix": "Rock/Ground", - "drowzee": "Psychic", - "hypno": "Psychic", - "krabby": "Water", - "kingler": "Water", - "voltorb": "Electric", - "electrode": "Electric", - "exeggcute": "Grass/Psychic", - "exeggutor": "Grass/Psychic", - "cubone": "Ground", - "marowak": "Ground", - "hitmonlee": "Fighting", - "hitmonchan": "Fighting", - "lickitung": "Normal", - "koffing": "Poison", - "weezing": "Poison", - "rhyhorn": "Ground/Rock", - "rhydon": "Ground/Rock", - "chansey": "Normal", - "tangela": "Grass", - "kangaskhan": "Normal", - "horsea": "Water", - "seadra": "Water", - "goldeen": "Water", - "seaking": "Water", - "staryu": "Water", - "starmie": "Water/Psychic", - "mr. mime": "Psychic/Fairy", - "scyther": "Bug/Flying", - "jynx": "Ice/Psychic", - "electabuzz": "Electric", - "magmar": "Fire", - "pinsir": "Bug", - "tauros": "Normal", - "magikarp": "Water", - "gyarados": "Water/Flying", - "lapras": "Water/Ice", - "ditto": "Normal", - "eevee": "Normal", - "vaporeon": "Water", - "jolteon": "Electric", - "flareon": "Fire", - "porygon": "Normal", - "omanyte": "Rock/Water", - "omastar": "Rock/Water", - "kabuto": "Rock/Water", - "kabutops": "Rock/Water", - "aerodactyl": "Rock/Flying", - "snorlax": "Normal", - "articuno": "Ice/Flying", - "zapdos": "Electric/Flying", - "moltres": "Fire/Flying", - "dratini": "Dragon", - "dragonair": "Dragon", - "dragonite": "Dragon/Flying", - "mewtwo": "Psychic", - "mew": "Psychic", - "missingno.": "Bird/Normal", - "chikorita": "Grass", - "bayleef": "Grass", - "meganium": "Grass", - "cyndaquil": "Fire", - "quilava": "Fire", - "typhlosion": "Fire", - "totodile": "Water", - "croconaw": "Water", - "feraligatr": "Water", - "sentret": "Normal", - "furret": "Normal", - "hoothoot": "Normal/Flying", - "noctowl": "Normal/Flying", - "ledyba": "Bug/Flying", - "ledian": "Bug/Flying", - "spinarak": "Bug/Poison", - "ariados": "Bug/Poison", - "crobat": "Poison/Flying", - "chinchou": "Water/Electric", - "lanturn": "Water/Electric", - "pichu": "Electric", - "cleffa": "Fairy", - "igglybuff": "Normal/Fairy", - "togepi": "Fairy", - "togetic": "Fairy/Flying", - "natu": "Psychic/Flying", - "xatu": "Psychic/Flying", - "mareep": "Electric", - "flaaffy": "Electric", - "ampharos": "Electric", - "bellossom": "Grass", - "marill": "Water/Fairy", - "azumarill": "Water/Fairy", - "sudowoodo": "Rock", - "politoed": "Water", - "hoppip": "Grass/Flying", - "skiploom": "Grass/Flying", - "jumpluff": "Grass/Flying", - "aipom": "Normal", - "sunkern": "Grass", - "sunflora": "Grass", - "yanma": "Bug/Flying", - "wooper": "Water/Ground", - "quagsire": "Water/Ground", - "espeon": "Psychic", - "umbreon": "Dark", - "murkrow": "Dark/Flying", - "slowking": "Water/Psychic", - "misdreavus": "Ghost", - "unown": "Psychic", - "wobbuffet": "Psychic", - "girafarig": "Normal/Psychic", - "pineco": "Bug", - "forretress": "Bug/Steel", - "dunsparce": "Normal", - "gligar": "Ground/Flying", - "steelix": "Steel/Ground", - "snubbull": "Fairy", - "granbull": "Fairy", - "qwilfish": "Water/Poison", - "scizor": "Bug/Steel", - "shuckle": "Bug/Rock", - "heracross": "Bug/Fighting", - "sneasel": "Dark/Ice", - "teddiursa": "Normal", - "ursaring": "Normal", - "slugma": "Fire", - "magcargo": "Fire/Rock", - "swinub": "Ice/Ground", - "piloswine": "Ice/Ground", - "corsola": "Water/Rock", - "remoraid": "Water", - "octillery": "Water", - "delibird": "Ice/Flying", - "mantine": "Water/Flying", - "skarmory": "Steel/Flying", - "houndour": "Dark/Fire", - "houndoom": "Dark/Fire", - "kingdra": "Water/Dragon", - "phanpy": "Ground", - "donphan": "Ground", - "porygon2": "Normal", - "stantler": "Normal", - "smeargle": "Normal", - "tyrogue": "Fighting", - "hitmontop": "Fighting", - "smoochum": "Ice/Psychic", - "elekid": "Electric", - "magby": "Fire", - "miltank": "Normal", - "blissey": "Normal", - "raikou": "Electric", - "entei": "Fire", - "suicune": "Water", - "larvitar": "Rock/Ground", - "pupitar": "Rock/Ground", - "tyranitar": "Rock/Dark", - "lugia": "Psychic/Flying", - "ho-oh": "Fire/Flying", - "celebi": "Psychic/Grass" + "bulbasaur": "Grass/Poison", + "ivysaur": "Grass/Poison", + "venusaur": "Grass/Poison", + "charmander": "Fire", + "charmeleon": "Fire", + "charizard": "Fire/Flying", + "squirtle": "Water", + "wartortle": "Water", + "blastoise": "Water", + "caterpie": "Bug", + "metapod": "Bug", + "butterfree": "Bug/Flying", + "weedle": "Bug/Poison", + "kakuna": "Bug/Poison", + "beedrill": "Bug/Poison", + "pidgey": "Normal/Flying", + "pidgeotto": "Normal/Flying", + "pidgeot": "Normal/Flying", + "rattata": "Normal", + "raticate": "Normal", + "spearow": "Normal/Flying", + "fearow": "Normal/Flying", + "ekans": "Poison", + "arbok": "Poison", + "pikachu": "Electric", + "raichu": "Electric", + "sandshrew": "Ground", + "sandslash": "Ground", + "nidoranf": "Poison", + "nidorina": "Poison", + "nidoqueen": "Poison/Ground", + "nidoranm": "Poison", + "nidorino": "Poison", + "nidoking": "Poison/Ground", + "clefairy": "Fairy", + "clefable": "Fairy", + "vulpix": "Fire", + "ninetales": "Fire", + "jigglypuff": "Normal/Fairy", + "wigglytuff": "Normal/Fairy", + "zubat": "Poison/Flying", + "golbat": "Poison/Flying", + "oddish": "Grass/Poison", + "gloom": "Grass/Poison", + "vileplume": "Grass/Poison", + "paras": "Bug/Grass", + "parasect": "Bug/Grass", + "venonat": "Bug/Poison", + "venomoth": "Bug/Poison", + "diglett": "Ground", + "dugtrio": "Ground", + "meowth": "Normal", + "persian": "Normal", + "psyduck": "Water", + "golduck": "Water", + "mankey": "Fighting", + "primeape": "Fighting", + "growlithe": "Fire", + "arcanine": "Fire", + "poliwag": "Water", + "poliwhirl": "Water", + "poliwrath": "Water/Fighting", + "abra": "Psychic", + "kadabra": "Psychic", + "alakazam": "Psychic", + "machop": "Fighting", + "machoke": "Fighting", + "machamp": "Fighting", + "bellsprout": "Grass/Poison", + "weepinbell": "Grass/Poison", + "victreebel": "Grass/Poison", + "tentacool": "Water/Poison", + "tentacruel": "Water/Poison", + "geodude": "Rock/Ground", + "graveler": "Rock/Ground", + "golem": "Rock/Ground", + "ponyta": "Fire", + "rapidash": "Fire", + "slowpoke": "Water/Psychic", + "slowbro": "Water/Psychic", + "magnemite": "Electric/Steel", + "magneton": "Electric/Steel", + "farfetch'd": "Normal/Flying", + "doduo": "Normal/Flying", + "dodrio": "Normal/Flying", + "seel": "Water", + "dewgong": "Water/Ice", + "grimer": "Poison", + "muk": "Poison", + "shellder": "Water", + "cloyster": "Water/Ice", + "gastly": "Ghost/Poison", + "haunter": "Ghost/Poison", + "gengar": "Ghost/Poison", + "onix": "Rock/Ground", + "drowzee": "Psychic", + "hypno": "Psychic", + "krabby": "Water", + "kingler": "Water", + "voltorb": "Electric", + "electrode": "Electric", + "exeggcute": "Grass/Psychic", + "exeggutor": "Grass/Psychic", + "cubone": "Ground", + "marowak": "Ground", + "hitmonlee": "Fighting", + "hitmonchan": "Fighting", + "lickitung": "Normal", + "koffing": "Poison", + "weezing": "Poison", + "rhyhorn": "Ground/Rock", + "rhydon": "Ground/Rock", + "chansey": "Normal", + "tangela": "Grass", + "kangaskhan": "Normal", + "horsea": "Water", + "seadra": "Water", + "goldeen": "Water", + "seaking": "Water", + "staryu": "Water", + "starmie": "Water/Psychic", + "mr. mime": "Psychic/Fairy", + "scyther": "Bug/Flying", + "jynx": "Ice/Psychic", + "electabuzz": "Electric", + "magmar": "Fire", + "pinsir": "Bug", + "tauros": "Normal", + "magikarp": "Water", + "gyarados": "Water/Flying", + "lapras": "Water/Ice", + "ditto": "Normal", + "eevee": "Normal", + "vaporeon": "Water", + "jolteon": "Electric", + "flareon": "Fire", + "porygon": "Normal", + "omanyte": "Rock/Water", + "omastar": "Rock/Water", + "kabuto": "Rock/Water", + "kabutops": "Rock/Water", + "aerodactyl": "Rock/Flying", + "snorlax": "Normal", + "articuno": "Ice/Flying", + "zapdos": "Electric/Flying", + "moltres": "Fire/Flying", + "dratini": "Dragon", + "dragonair": "Dragon", + "dragonite": "Dragon/Flying", + "mewtwo": "Psychic", + "mew": "Psychic", + "missingno.": "Bird/Normal", + "chikorita": "Grass", + "bayleef": "Grass", + "meganium": "Grass", + "cyndaquil": "Fire", + "quilava": "Fire", + "typhlosion": "Fire", + "totodile": "Water", + "croconaw": "Water", + "feraligatr": "Water", + "sentret": "Normal", + "furret": "Normal", + "hoothoot": "Normal/Flying", + "noctowl": "Normal/Flying", + "ledyba": "Bug/Flying", + "ledian": "Bug/Flying", + "spinarak": "Bug/Poison", + "ariados": "Bug/Poison", + "crobat": "Poison/Flying", + "chinchou": "Water/Electric", + "lanturn": "Water/Electric", + "pichu": "Electric", + "cleffa": "Fairy", + "igglybuff": "Normal/Fairy", + "togepi": "Fairy", + "togetic": "Fairy/Flying", + "natu": "Psychic/Flying", + "xatu": "Psychic/Flying", + "mareep": "Electric", + "flaaffy": "Electric", + "ampharos": "Electric", + "bellossom": "Grass", + "marill": "Water/Fairy", + "azumarill": "Water/Fairy", + "sudowoodo": "Rock", + "politoed": "Water", + "hoppip": "Grass/Flying", + "skiploom": "Grass/Flying", + "jumpluff": "Grass/Flying", + "aipom": "Normal", + "sunkern": "Grass", + "sunflora": "Grass", + "yanma": "Bug/Flying", + "wooper": "Water/Ground", + "quagsire": "Water/Ground", + "espeon": "Psychic", + "umbreon": "Dark", + "murkrow": "Dark/Flying", + "slowking": "Water/Psychic", + "misdreavus": "Ghost", + "unown": "Psychic", + "wobbuffet": "Psychic", + "girafarig": "Normal/Psychic", + "pineco": "Bug", + "forretress": "Bug/Steel", + "dunsparce": "Normal", + "gligar": "Ground/Flying", + "steelix": "Steel/Ground", + "snubbull": "Fairy", + "granbull": "Fairy", + "qwilfish": "Water/Poison", + "scizor": "Bug/Steel", + "shuckle": "Bug/Rock", + "heracross": "Bug/Fighting", + "sneasel": "Dark/Ice", + "teddiursa": "Normal", + "ursaring": "Normal", + "slugma": "Fire", + "magcargo": "Fire/Rock", + "swinub": "Ice/Ground", + "piloswine": "Ice/Ground", + "corsola": "Water/Rock", + "remoraid": "Water", + "octillery": "Water", + "delibird": "Ice/Flying", + "mantine": "Water/Flying", + "skarmory": "Steel/Flying", + "houndour": "Dark/Fire", + "houndoom": "Dark/Fire", + "kingdra": "Water/Dragon", + "phanpy": "Ground", + "donphan": "Ground", + "porygon2": "Normal", + "stantler": "Normal", + "smeargle": "Normal", + "tyrogue": "Fighting", + "hitmontop": "Fighting", + "smoochum": "Ice/Psychic", + "elekid": "Electric", + "magby": "Fire", + "miltank": "Normal", + "blissey": "Normal", + "raikou": "Electric", + "entei": "Fire", + "suicune": "Water", + "larvitar": "Rock/Ground", + "pupitar": "Rock/Ground", + "tyranitar": "Rock/Dark", + "lugia": "Psychic/Flying", + "ho-oh": "Fire/Flying", + "celebi": "Psychic/Grass" } -} \ No newline at end of file +} diff --git a/commands/search/pokedex.js b/commands/search/pokedex.js index 384af8e1..b017a3d2 100644 --- a/commands/search/pokedex.js +++ b/commands/search/pokedex.js @@ -3,7 +3,7 @@ const Discord = require('discord.js'); const pokedex = require('./pkdex.json'); module.exports = class PokedexCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'pokedex', aliases: [ @@ -17,26 +17,27 @@ module.exports = class PokedexCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; } console.log("[Command] " + message.content); let pokemon = message.content.toLowerCase().split(" ").slice(1).join(" "); if (pokedex.name[pokemon]) { const embed = new Discord.RichEmbed() - .setTitle('Information') - .setAuthor('#' + pokedex.index[pokemon] + " " + pokedex.name[pokemon], 'http://www.serebii.net/pokedex-sm/icon/' + pokedex.index[pokemon] + '.png') - .setColor(0xFF0000) - .setDescription(pokedex.species[pokemon]) - .setFooter("Pokédex", "http://cdn.bulbagarden.net/upload/thumb/3/36/479Rotom-Pokédex.png/250px-479Rotom-Pokédex.png") - .setThumbnail('http://www.serebii.net/sunmoon/pokemon/' + pokedex.index[pokemon] + '.png') - .addField('Entry', - pokedex.entry[pokemon]) - .addField('Type', - pokedex.type[pokemon]); + .setTitle('Information') + .setAuthor('#' + pokedex.index[pokemon] + " " + pokedex.name[pokemon], 'http://www.serebii.net/pokedex-sm/icon/' + pokedex.index[pokemon] + '.png') + .setColor(0xFF0000) + .setDescription(pokedex.species[pokemon]) + .setFooter("Pokédex", "http://cdn.bulbagarden.net/upload/thumb/3/36/479Rotom-Pokédex.png/250px-479Rotom-Pokédex.png") + .setThumbnail('http://www.serebii.net/sunmoon/pokemon/' + pokedex.index[pokemon] + '.png') + .addField('Entry', + pokedex.entry[pokemon]) + .addField('Type', + pokedex.type[pokemon]); message.channel.sendEmbed(embed).catch(console.error); - } else { + } + else { message.channel.send(":x: This Pokémon either doesn't exist, or isn't implemented yet."); } } -}; \ No newline at end of file +}; diff --git a/commands/search/urban.js b/commands/search/urban.js index d2060ba9..2efdf953 100644 --- a/commands/search/urban.js +++ b/commands/search/urban.js @@ -3,7 +3,7 @@ const Discord = require('discord.js'); const urban = require('urban'); module.exports = class UrbanDictionary extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'urban', aliases: [ @@ -17,37 +17,40 @@ module.exports = class UrbanDictionary extends commando.Command { examples: [';urban Cat'] }); } - + async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let wordToDefine = message.content.split(" ").slice(1).join(" "); urban(wordToDefine).first(function(response) { - if(response === undefined) { + if (response === undefined) { message.channel.send(":x: Error! Word not found!"); - } else if(response.definition === '') { + } + else if (response.definition === '') { message.channel.send(":x: Error! Word has no definition!"); - } else if(response.example !== '') { + } + else if (response.example !== '') { const embed = new Discord.RichEmbed() - .setColor(0x32a8f0) - .setAuthor('Urban Dictionary', 'http://a1.mzstatic.com/eu/r30/Purple71/v4/66/54/68/6654683f-cacd-4a55-1784-f14257f77874/icon175x175.png') - .setURL(response.permalink) - .setTitle(response.word) - .setDescription(response.definition.substr(0, 1900) + ' [Read the Rest Here!](' + response.permalink + ')') - .addField('**Example:**', - response.example.substr(0, 1900)); + .setColor(0x32a8f0) + .setAuthor('Urban Dictionary', 'http://a1.mzstatic.com/eu/r30/Purple71/v4/66/54/68/6654683f-cacd-4a55-1784-f14257f77874/icon175x175.png') + .setURL(response.permalink) + .setTitle(response.word) + .setDescription(response.definition.substr(0, 1900) + ' [Read the Rest Here!](' + response.permalink + ')') + .addField('**Example:**', + response.example.substr(0, 1900)); message.channel.sendEmbed(embed).catch(console.error); - } else { + } + else { const embed = new Discord.RichEmbed() - .setColor(0x32a8f0) - .setAuthor('Urban Dictionary', 'http://a1.mzstatic.com/eu/r30/Purple71/v4/66/54/68/6654683f-cacd-4a55-1784-f14257f77874/icon175x175.png') - .setURL(response.permalink) - .setTitle(response.word) - .setDescription(response.definition.substr(0, 1900) + ' [Read the Rest Here!](' + response.permalink + ')'); + .setColor(0x32a8f0) + .setAuthor('Urban Dictionary', 'http://a1.mzstatic.com/eu/r30/Purple71/v4/66/54/68/6654683f-cacd-4a55-1784-f14257f77874/icon175x175.png') + .setURL(response.permalink) + .setTitle(response.word) + .setDescription(response.definition.substr(0, 1900) + ' [Read the Rest Here!](' + response.permalink + ')'); message.channel.sendEmbed(embed).catch(console.error); } }); } -}; \ No newline at end of file +}; diff --git a/commands/search/wattpad.js b/commands/search/wattpad.js index 4ea45c90..28f25f12 100644 --- a/commands/search/wattpad.js +++ b/commands/search/wattpad.js @@ -4,7 +4,7 @@ const request = require('superagent'); const config = require('../../config.json'); module.exports = class WattpadCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'wattpad', group: 'search', @@ -15,37 +15,42 @@ module.exports = class WattpadCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; } console.log("[Command] " + message.content); let queryBook = message.content.split(" ").slice(1).join(" "); request - .get('https://api.wattpad.com:443/v4/stories') - .set({ 'Authorization': 'Basic ' + config.wattpadkey }) - .query({ query: queryBook, limit: 1 }) - .then(function (response) { - const embed = new Discord.RichEmbed() - .setColor(0xF89C34) - .setAuthor('Wattpad', 'http://www.selfpubtoolbox.com/wp-content/uploads/2015/05/a6044fd3a88acd5043860484db972ca6.png') - .setURL(response.body.stories[0].url) - .setTitle(response.body.stories[0].title) - .setDescription(response.body.stories[0].description.substr(0, 1500) + " [Read the Rest Here!](" + response.body.stories[0].url + ")") - .addField('**Author:**', - response.body.stories[0].user, true) - .addField('**Parts:**', - response.body.stories[0].numParts, true) - .addField('**Created On:**', - response.body.stories[0].createDate, true) - .addField('**Votes:**', - response.body.stories[0].voteCount, true) - .addField('**Reads:**', - response.body.stories[0].readCount, true) - .addField('**Comments:**', - response.body.stories[0].commentCount, true); - message.channel.sendEmbed(embed).catch(console.error); - }).catch(function (err) { - message.channel.send(":x: Error! Book not Found!"); - }); + .get('https://api.wattpad.com:443/v4/stories') + .set({ + 'Authorization': 'Basic ' + config.wattpadkey + }) + .query({ + query: queryBook, + limit: 1 + }) + .then(function(response) { + const embed = new Discord.RichEmbed() + .setColor(0xF89C34) + .setAuthor('Wattpad', 'http://www.selfpubtoolbox.com/wp-content/uploads/2015/05/a6044fd3a88acd5043860484db972ca6.png') + .setURL(response.body.stories[0].url) + .setTitle(response.body.stories[0].title) + .setDescription(response.body.stories[0].description.substr(0, 1500) + " [Read the Rest Here!](" + response.body.stories[0].url + ")") + .addField('**Author:**', + response.body.stories[0].user, true) + .addField('**Parts:**', + response.body.stories[0].numParts, true) + .addField('**Created On:**', + response.body.stories[0].createDate, true) + .addField('**Votes:**', + response.body.stories[0].voteCount, true) + .addField('**Reads:**', + response.body.stories[0].readCount, true) + .addField('**Comments:**', + response.body.stories[0].commentCount, true); + message.channel.sendEmbed(embed).catch(console.error); + }).catch(function(err) { + message.channel.send(":x: Error! Book not Found!"); + }); } -}; \ No newline at end of file +}; diff --git a/commands/search/weather.js b/commands/search/weather.js index 295346ee..999f2229 100644 --- a/commands/search/weather.js +++ b/commands/search/weather.js @@ -3,7 +3,7 @@ const Discord = require('discord.js'); const weather = require('yahoo-weather'); module.exports = class WeatherCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'weather', group: 'search', @@ -14,44 +14,44 @@ module.exports = class WeatherCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; } console.log("[Command] " + message.content); let locationToSearch = message.content.split(" ").slice(1).join(" "); weather(locationToSearch, 'f').then(info => { const embed = new Discord.RichEmbed() - .setColor(0x0000FF) - .setAuthor(info.title, 'http://media.idownloadblog.com/wp-content/uploads/2013/12/yahoo-weather-213x220.png') - .setURL(info.link) - .setTimestamp() - .addField('**City:**', - info.location.city, true) - .addField('**Country**', - info.location.country, true) - .addField('**Region:**', - info.location.region, true) - .addField('**Condition:**', - info.item.condition.text, true) - .addField('**Temperature:**', - info.item.condition.temp + "°F", true) - .addField('**Humidity:**', - info.atmosphere.humidity, true) - .addField('**Pressure:**', - info.atmosphere.pressure, true) - .addField('**Rising:**', - info.atmosphere.rising, true) - .addField('**Visibility:**', - info.atmosphere.visibility, true) - .addField('**Wind Chill:**', - info.wind.chill, true) - .addField('**Wind Direction:**', - info.wind.direction, true) - .addField('**Wind Speed:**', - info.wind.speed, true); + .setColor(0x0000FF) + .setAuthor(info.title, 'http://media.idownloadblog.com/wp-content/uploads/2013/12/yahoo-weather-213x220.png') + .setURL(info.link) + .setTimestamp() + .addField('**City:**', + info.location.city, true) + .addField('**Country**', + info.location.country, true) + .addField('**Region:**', + info.location.region, true) + .addField('**Condition:**', + info.item.condition.text, true) + .addField('**Temperature:**', + info.item.condition.temp + "°F", true) + .addField('**Humidity:**', + info.atmosphere.humidity, true) + .addField('**Pressure:**', + info.atmosphere.pressure, true) + .addField('**Rising:**', + info.atmosphere.rising, true) + .addField('**Visibility:**', + info.atmosphere.visibility, true) + .addField('**Wind Chill:**', + info.wind.chill, true) + .addField('**Wind Direction:**', + info.wind.direction, true) + .addField('**Wind Speed:**', + info.wind.speed, true); message.channel.sendEmbed(embed).catch(console.error); }).catch(err => { message.channel.send(":x: Error! Make sure you typed the location correctly!"); }); } -}; \ No newline at end of file +}; diff --git a/commands/search/wikipedia.js b/commands/search/wikipedia.js index 6b7fd8f8..5700b8fc 100644 --- a/commands/search/wikipedia.js +++ b/commands/search/wikipedia.js @@ -3,7 +3,7 @@ const Discord = require('discord.js'); const request = require('superagent'); module.exports = class WikipediaCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'wikipedia', group: 'search', @@ -14,32 +14,33 @@ module.exports = class WikipediaCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; } console.log("[Command] " + message.content); let thingToSearch = encodeURI(message.content.split(" ").slice(1).join(" ")); request - .get("https://en.wikipedia.org/w/api.php?action=query&prop=extracts&format=json&titles=" + thingToSearch + "&exintro=&explaintext=&redirects=&formatversion=2") - .then(function (response) { - let description = response.body.query.pages[0].extract; - let name = response.body.query.pages[0].title; - thingToSearch = thingToSearch.split(")").join("%29"); - if(description === undefined) { + .get("https://en.wikipedia.org/w/api.php?action=query&prop=extracts&format=json&titles=" + thingToSearch + "&exintro=&explaintext=&redirects=&formatversion=2") + .then(function(response) { + let description = response.body.query.pages[0].extract; + let name = response.body.query.pages[0].title; + thingToSearch = thingToSearch.split(")").join("%29"); + if (description === undefined) { + message.channel.send(":x: Error! Entry Not Found!"); + } + else { + description = description.substr(0, 1900); + description = description.split('\n').join("\n\n"); + const embed = new Discord.RichEmbed() + .setColor(0xE7E7E7) + .setTitle(name) + .setURL("https://en.wikipedia.org/wiki/" + thingToSearch) + .setAuthor("Wikipedia", "https://upload.wikimedia.org/wikipedia/en/thumb/8/80/Wikipedia-logo-v2.svg/1122px-Wikipedia-logo-v2.svg.png") + .setDescription(description + " [Read the Rest Here](https://en.wikipedia.org/wiki/" + thingToSearch + ")"); + message.channel.sendEmbed(embed).catch(console.error); + } + }).catch(function(err) { message.channel.send(":x: Error! Entry Not Found!"); - } else { - description = description.substr(0, 1900); - description = description.split('\n').join("\n\n"); - const embed = new Discord.RichEmbed() - .setColor(0xE7E7E7) - .setTitle(name) - .setURL("https://en.wikipedia.org/wiki/" + thingToSearch) - .setAuthor("Wikipedia", "https://upload.wikimedia.org/wikipedia/en/thumb/8/80/Wikipedia-logo-v2.svg/1122px-Wikipedia-logo-v2.svg.png") - .setDescription(description + " [Read the Rest Here](https://en.wikipedia.org/wiki/" + thingToSearch + ")"); - message.channel.sendEmbed(embed).catch(console.error); - } - }).catch(function (err) { - message.channel.send(":x: Error! Entry Not Found!"); - }); + }); } -}; \ No newline at end of file +}; diff --git a/commands/search/youtube.js b/commands/search/youtube.js index 3b041d6f..40e35a44 100644 --- a/commands/search/youtube.js +++ b/commands/search/youtube.js @@ -4,7 +4,7 @@ const request = require('superagent'); const config = require('../../config.json'); module.exports = class YouTubeCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'youtube', aliases: [ @@ -18,29 +18,36 @@ module.exports = class YouTubeCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; } console.log("[Command] " + message.content); let videoToSearch = message.content.split(" ").slice(1).join("-"); request - .get('https://www.googleapis.com/youtube/v3/search') - .query({ part: 'snippet', type: 'video', maxResults: 1, q: videoToSearch, key: config.youtubekey }) - .then(function (response) { - if(response.body.items[0].snippet === undefined) { - message.channel.send(':x: Error! No Video Found!'); - } else { - const embed = new Discord.RichEmbed() - .setColor(0xDD2825) - .setTitle(response.body.items[0].snippet.title) - .setDescription(response.body.items[0].snippet.description) - .setAuthor('YouTube - ' + response.body.items[0].snippet.channelTitle, 'https://cdn3.iconfinder.com/data/icons/social-icons-5/607/YouTube_Play.png') - .setURL('https://www.youtube.com/watch?v=' + response.body.items[0].id.videoId) - .setThumbnail(response.body.items[0].snippet.thumbnails.default.url); - message.channel.sendEmbed(embed).catch(console.error); - } - }).catch(function (err) { - message.channel.send(":x: Error! An error has occurred! Try again (if this continues to occur, the daily quota may have been reached)."); - }); + .get('https://www.googleapis.com/youtube/v3/search') + .query({ + part: 'snippet', + type: 'video', + maxResults: 1, + q: videoToSearch, + key: config.youtubekey + }) + .then(function(response) { + if (response.body.items[0].snippet === undefined) { + message.channel.send(':x: Error! No Video Found!'); + } + else { + const embed = new Discord.RichEmbed() + .setColor(0xDD2825) + .setTitle(response.body.items[0].snippet.title) + .setDescription(response.body.items[0].snippet.description) + .setAuthor('YouTube - ' + response.body.items[0].snippet.channelTitle, 'https://cdn3.iconfinder.com/data/icons/social-icons-5/607/YouTube_Play.png') + .setURL('https://www.youtube.com/watch?v=' + response.body.items[0].id.videoId) + .setThumbnail(response.body.items[0].snippet.thumbnails.default.url); + message.channel.sendEmbed(embed).catch(console.error); + } + }).catch(function(err) { + message.channel.send(":x: Error! An error has occurred! Try again (if this continues to occur, the daily quota may have been reached)."); + }); } -}; \ No newline at end of file +}; diff --git a/commands/search/yugioh.js b/commands/search/yugioh.js index 4c76082a..931bcaa7 100644 --- a/commands/search/yugioh.js +++ b/commands/search/yugioh.js @@ -3,7 +3,7 @@ const Discord = require('discord.js'); const request = require('superagent'); module.exports = class YuGiOhCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'yugioh', group: 'search', @@ -14,45 +14,46 @@ module.exports = class YuGiOhCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; } console.log("[Command] " + message.content); let cardName = encodeURI(message.content.split(" ").slice(1).join(" ")); request - .get('http://yugiohprices.com/api/card_data/' + cardName) - .then(function (response) { - if(response.body.data.card_type === 'monster') { - const embed = new Discord.RichEmbed() - .setColor(0xBE5F1F) - .setTitle(response.body.data.name) - .setDescription(response.body.data.text) - .setAuthor('Yu-Gi-Oh!', 'http://vignette3.wikia.nocookie.net/yugioh/images/1/10/Back-TF-EN-VG.png/revision/latest?cb=20120824043558') - .addField('**Card Type:**', - response.body.data.card_type, true) - .addField('**Species:**', - response.body.data.type, true) - .addField('**Attribute:**', - response.body.data.family, true) - .addField('**ATK:**', - response.body.data.atk, true) - .addField('**DEF:**', - response.body.data.def, true) - .addField('**Level:**', - response.body.data.level, true); - message.channel.sendEmbed(embed).catch(console.error); - } else { - const embed = new Discord.RichEmbed() - .setColor(0xBE5F1F) - .setTitle(response.body.data.name) - .setDescription(response.body.data.text) - .setAuthor('Yu-Gi-Oh!', 'http://vignette3.wikia.nocookie.net/yugioh/images/1/10/Back-TF-EN-VG.png/revision/latest?cb=20120824043558') - .addField('**Card Type:**', - response.body.data.card_type, true); - message.channel.sendEmbed(embed).catch(console.error); - } - }).catch(function (err) { - message.channel.send(":x: Error! Card not Found!\n:notepad_spiral: Note: This command is **extremely** sensitive to casing and dashes and whatnot. Type the *exact* card name to get data!"); - }); + .get('http://yugiohprices.com/api/card_data/' + cardName) + .then(function(response) { + if (response.body.data.card_type === 'monster') { + const embed = new Discord.RichEmbed() + .setColor(0xBE5F1F) + .setTitle(response.body.data.name) + .setDescription(response.body.data.text) + .setAuthor('Yu-Gi-Oh!', 'http://vignette3.wikia.nocookie.net/yugioh/images/1/10/Back-TF-EN-VG.png/revision/latest?cb=20120824043558') + .addField('**Card Type:**', + response.body.data.card_type, true) + .addField('**Species:**', + response.body.data.type, true) + .addField('**Attribute:**', + response.body.data.family, true) + .addField('**ATK:**', + response.body.data.atk, true) + .addField('**DEF:**', + response.body.data.def, true) + .addField('**Level:**', + response.body.data.level, true); + message.channel.sendEmbed(embed).catch(console.error); + } + else { + const embed = new Discord.RichEmbed() + .setColor(0xBE5F1F) + .setTitle(response.body.data.name) + .setDescription(response.body.data.text) + .setAuthor('Yu-Gi-Oh!', 'http://vignette3.wikia.nocookie.net/yugioh/images/1/10/Back-TF-EN-VG.png/revision/latest?cb=20120824043558') + .addField('**Card Type:**', + response.body.data.card_type, true); + message.channel.sendEmbed(embed).catch(console.error); + } + }).catch(function(err) { + message.channel.send(":x: Error! Card not Found!\n:notepad_spiral: Note: This command is **extremely** sensitive to casing and dashes and whatnot. Type the *exact* card name to get data!"); + }); } -}; \ No newline at end of file +}; diff --git a/commands/textedit/binary.js b/commands/textedit/binary.js index ac57a49a..6d858f45 100644 --- a/commands/textedit/binary.js +++ b/commands/textedit/binary.js @@ -2,7 +2,7 @@ const commando = require('discord.js-commando'); const stringToBinary = require('string-to-binary'); module.exports = class BinaryCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'binary', group: 'textedit', @@ -13,11 +13,11 @@ module.exports = class BinaryCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let turnToBinary = message.content.split(" ").slice(1).join(" "); message.channel.send(stringToBinary(turnToBinary)).catch(error => message.channel.send(':x: Error! Translation is too long, or nothing was entered!')); } -}; \ No newline at end of file +}; diff --git a/commands/textedit/cowsay.js b/commands/textedit/cowsay.js index 01b40256..ff667a03 100644 --- a/commands/textedit/cowsay.js +++ b/commands/textedit/cowsay.js @@ -2,7 +2,7 @@ const commando = require('discord.js-commando'); const cowsay = require('cowsay'); module.exports = class CowsayCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'cowsay', group: 'textedit', @@ -13,21 +13,22 @@ module.exports = class CowsayCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); - if(message.content.split(" ").slice(1).join(" ") === "") { + if (message.content.split(" ").slice(1).join(" ") === "") { message.channel.send(":x: Error! You entered nothing!"); - } else { + } + else { let turnToCowsay = message.content.split(" ").slice(1).join(" "); message.channel.sendCode(null, cowsay.say({ - text : turnToCowsay, - e : "oO", - T : "U " + text: turnToCowsay, + e: "oO", + T: "U " })).catch(error => { message.channel.send(':x: Error! Perhaps the content is too long?'); }); } } -}; \ No newline at end of file +}; diff --git a/commands/textedit/embed.js b/commands/textedit/embed.js index 9e48eacc..ac56cfea 100644 --- a/commands/textedit/embed.js +++ b/commands/textedit/embed.js @@ -2,7 +2,7 @@ const commando = require('discord.js-commando'); const Discord = require('discord.js'); module.exports = class EmbedCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'embed', group: 'textedit', @@ -13,22 +13,23 @@ module.exports = class EmbedCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; } console.log("[Command] " + message.content); let embedMessage = message.content.split(" ").slice(1).join(" "); - if(embedMessage === "") { + if (embedMessage === "") { message.channel.send(":x: Error! Nothing to embed!"); - } else { + } + else { const embed = new Discord.RichEmbed() - .setAuthor(message.author.username, message.author.avatarURL) - .setColor(0x00AE86) - .setTimestamp() - .setDescription(embedMessage); + .setAuthor(message.author.username, message.author.avatarURL) + .setColor(0x00AE86) + .setTimestamp() + .setDescription(embedMessage); message.channel.sendEmbed(embed).catch(console.error); if (message.channel.type === 'dm') return; message.delete(); } } -}; \ No newline at end of file +}; diff --git a/commands/textedit/languages.json b/commands/textedit/languages.json index 2057850a..177b5cdd 100644 --- a/commands/textedit/languages.json +++ b/commands/textedit/languages.json @@ -105,4 +105,4 @@ "yo": "Yoruba", "zu": "Zulu" } -} \ No newline at end of file +} diff --git a/commands/textedit/morse.js b/commands/textedit/morse.js index 906db7d2..b9df52a6 100644 --- a/commands/textedit/morse.js +++ b/commands/textedit/morse.js @@ -2,7 +2,7 @@ const commando = require('discord.js-commando'); const morse = require('morse'); module.exports = class MorseCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'morse', aliases: [ @@ -16,20 +16,23 @@ module.exports = class MorseCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let [methodToUse] = message.content.toLowerCase().split(" ").slice(1); let toMorse = message.content.split(" ").slice(2).join(" "); - if(toMorse === "") { + if (toMorse === "") { message.channel.send(":x: Error! Nothing to translate! Perhaps you forgot to set the method? Use either encode or decode before your text."); - } else if(methodToUse === 'encode') { + } + else if (methodToUse === 'encode') { message.channel.send(morse.encode(toMorse)).catch(error => message.channel.send(':x: Error! Something went wrong! Perhaps you entered incorrect text?')); - } else if(methodToUse === 'decode') { + } + else if (methodToUse === 'decode') { message.channel.send(morse.decode(toMorse)).catch(error => message.channel.send(':x: Error! Something went wrong! Perhaps you entered incorrect text?')); - } else { + } + else { message.channel.send(":x: Error! Method not set/not correct! Use either encode or decode."); } } -}; \ No newline at end of file +}; diff --git a/commands/textedit/pirate.js b/commands/textedit/pirate.js index 9c493003..d1529979 100644 --- a/commands/textedit/pirate.js +++ b/commands/textedit/pirate.js @@ -2,7 +2,7 @@ const commando = require('discord.js-commando'); const pirateSpeak = require('pirate-speak'); module.exports = class PirateCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'pirate', aliases: [ @@ -17,20 +17,22 @@ module.exports = class PirateCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let turnToPirate = message.content.split(" ").slice(1).join(" "); let pirate = pirateSpeak.translate(turnToPirate); - if(turnToPirate === "") { + if (turnToPirate === "") { message.channel.send(":x: Error! Nothing to translate!"); - } else { - if(pirate.length > 1950) { + } + else { + if (pirate.length > 1950) { message.channel.send(":x: Error! Your message is too long!"); - } else { + } + else { message.channel.send(pirate); } } } -}; \ No newline at end of file +}; diff --git a/commands/textedit/reverse.js b/commands/textedit/reverse.js index 805879d8..a4104bab 100644 --- a/commands/textedit/reverse.js +++ b/commands/textedit/reverse.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class ReverseCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'reverse', group: 'textedit', @@ -12,16 +12,17 @@ module.exports = class ReverseCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let stringToReverse = message.content.split(" ").slice(1).join(" "); - if(stringToReverse === "") { + if (stringToReverse === "") { message.channel.send(":x: Error! Nothing to reverse!"); - } else { + } + else { let reversed = stringToReverse.split("").reverse().join(""); message.channel.send(reversed); } } -}; \ No newline at end of file +}; diff --git a/commands/textedit/rin.js b/commands/textedit/rin.js index 95bd07f0..963533bb 100644 --- a/commands/textedit/rin.js +++ b/commands/textedit/rin.js @@ -3,7 +3,7 @@ const request = require('superagent'); const config = require('../../config.json'); module.exports = class RinSayCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'rin', aliases: [ @@ -15,25 +15,27 @@ module.exports = class RinSayCommand extends commando.Command { examples: [";rin Hey guys!"] }); } - hasPermission(msg) { - return this.client.isOwner(msg.author); - } + hasPermission(msg) { + return this.client.isOwner(msg.author); + } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let rinContent = message.content.split(" ").slice(1).join(" "); request - .post(config.webhook) - .send({ content: rinContent }) - .then(function (parsedBody) { - if(message.content.type === 'dm') return; - message.delete(); - }).catch(function (err) { - message.channel.send(':x: Error! Message failed to send! Check the logs for details.'); - console.log(err); - }); + .post(config.webhook) + .send({ + content: rinContent + }) + .then(function(parsedBody) { + if (message.content.type === 'dm') return; + message.delete(); + }).catch(function(err) { + message.channel.send(':x: Error! Message failed to send! Check the logs for details.'); + console.log(err); + }); } -}; \ No newline at end of file +}; diff --git a/commands/textedit/romaji.js b/commands/textedit/romaji.js index dc5bc118..13de2fa7 100644 --- a/commands/textedit/romaji.js +++ b/commands/textedit/romaji.js @@ -2,7 +2,7 @@ const commando = require('discord.js-commando'); const hepburn = require('hepburn'); module.exports = class RomajiCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'romaji', aliases: [ @@ -16,20 +16,22 @@ module.exports = class RomajiCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let romajify = message.content.split(" ").slice(1).join(" "); - if(hepburn.containsKana(romajify)) { + if (hepburn.containsKana(romajify)) { let romajified = hepburn.fromKana(romajify); - if(romajified.length > 1950) { + if (romajified.length > 1950) { message.channel.send(":x: Error! Your message is too long!"); - } else { + } + else { message.channel.send(romajified); } - } else { + } + else { message.channel.send(":x: Error! Message contains no Kana!\n:notepad_spiral: Note: You cannot use this command on Kanji!"); } } -}; \ No newline at end of file +}; diff --git a/commands/textedit/say.js b/commands/textedit/say.js index 8a1474d4..7eeb96be 100644 --- a/commands/textedit/say.js +++ b/commands/textedit/say.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class SayCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'say', aliases: [ @@ -17,17 +17,18 @@ module.exports = class SayCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let copycat = message.content.split(" ").slice(1).join(" "); - if(copycat === "") { + if (copycat === "") { message.channel.send(":x: Error! Nothing to say!"); - } else { + } + else { message.channel.send(copycat); if (message.channel.type === 'dm') return; message.delete(); } } -}; \ No newline at end of file +}; diff --git a/commands/textedit/temmie.js b/commands/textedit/temmie.js index d749ac25..cb65e37c 100644 --- a/commands/textedit/temmie.js +++ b/commands/textedit/temmie.js @@ -150,7 +150,8 @@ function translator(text) { let character = text[i]; if (isLetter(character)) { word += character; - } else { + } + else { if (word != "") { let wordTranslate = translateWord(word); translatedText += wordTranslate; @@ -168,7 +169,7 @@ function translator(text) { const temmize = function(text) { let currentTranslation = translator(text); let temmify = currentTranslation.split("ing").join("in").split("!").join("!!!!111!11!1!!!1!!!1111!").split("'").join(""); - + return temmify; }; diff --git a/commands/textedit/translate.js b/commands/textedit/translate.js index 09fc27a7..b4710f9a 100644 --- a/commands/textedit/translate.js +++ b/commands/textedit/translate.js @@ -4,7 +4,7 @@ const translate = require('google-translate-api'); const languages = require('./languages.json'); module.exports = class TranslateCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'translate', group: 'textedit', @@ -15,35 +15,41 @@ module.exports = class TranslateCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; } console.log("[Command] " + message.content); let [languageto] = message.content.toLowerCase().split(" ").slice(1); let thingToTranslate = message.content.split(" ").slice(2).join(" "); - if(languageto === "list") { + if (languageto === "list") { message.channel.send("‘af': 'Afrikaans’\n’sq': 'Albanian'\n'ar': 'Arabic’\n’hy': 'Armenian’\n’az': 'Azerbaijani’\n’eu': 'Basque’\n’be': 'Belarusian’\n’bn': 'Bengali’\n’bs': 'Bosnian’\n’bg': 'Bulgarian’\n’ca': 'Catalan’\n’ceb': 'Cebuano’\n’ny': 'Chichewa’\n’zh-cn': 'Chinese Simplified’\n’zh-tw': 'Chinese Traditional’\n’co': 'Corsican’\n’hr': 'Croatian’\n’cs': 'Czech’\n’da': 'Danish’\n’nl': 'Dutch’\n’en': 'English’\n’eo': 'Esperanto’\n’et': 'Estonian’\n’tl': 'Filipino’\n’fi': 'Finnish’\n’fr': 'French’\n’fy': 'Frisian’\n’gl': 'Galician’\n’ka': 'Georgian’\n’de': 'German’\n’el': 'Greek’\n’gu': 'Gujarati’\n’ht': 'Haitian Creole’\n’ha': 'Hausa’\n’haw': 'Hawaiian’\n’iw': 'Hebrew’\n’hi': 'Hindi’\n’hmn': 'Hmong’\n’hu': 'Hungarian’\n’is': 'Icelandic’\n’ig': 'Igbo’\n’id': 'Indonesian’\n’ga': 'Irish’\n’it': 'Italian’\n’ja': 'Japanese’\n’jw': 'Javanese’\n’kn': 'Kannada’\n’kk': 'Kazakh’\n’km': 'Khmer’\n’ko': 'Korean’\n’ku': 'Kurdish (Kurmanji)’\n’ky': 'Kyrgyz’\n’lo': 'Lao’\n’la': 'Latin’\n’lv': 'Latvian’\n’lt': 'Lithuanian’\n’lb': 'Luxembourgish’\n’mk': 'Macedonian’\n’mg': 'Malagasy’\n’ms': 'Malay’\n’ml': 'Malayalam’\n’mt': 'Maltese’\n’mi': 'Maori’\n’mr': 'Marathi’\n’mn': 'Mongolian’\n’my': 'Myanmar (Burmese)’\n’ne': 'Nepali’\n’no': 'Norwegian’\n’ps': 'Pashto’\n’fa': 'Persian’\n’pl': 'Polish’\n’pt': 'Portuguese’\n’ma': 'Punjabi’\n’ro': 'Romanian’\n’ru': 'Russian’\nsm': 'Samoan’\n’gd': 'Scots Gaelic’\n’sr': 'Serbian’\n’st': 'Sesotho’\n’sn': 'Shona’\n’sd': 'Sindhi’\n’si': 'Sinhala’\n’sk': 'Slovak’\n’sl': 'Slovenian’\n’so': 'Somali’\n’es': 'Spanish’\n’su': 'Sudanese’\n’sw': 'Swahili’\n’sv': 'Swedish’\n’tg': 'Tajik’\n’ta': 'Tamil’\n’te': 'Telugu’\n’th': 'Thai’\n’tr': 'Turkish’\n’uk': 'Ukrainian’\n’ur': 'Urdu’\n’uz': 'Uzbek’\n’vi': 'Vietnamese’\n’cy': 'Welsh’\n’xh': 'Xhosa’\n’yi': 'Yiddish’\n’yo': 'Yoruba’\n’zu': 'Zulu'"); - } else if(languages.entries[languageto]) { - if(thingToTranslate === "") { + } + else if (languages.entries[languageto]) { + if (thingToTranslate === "") { message.channel.send(":x: Error! Nothing to translate!"); - } else if(thingToTranslate.length > 200) { + } + else if (thingToTranslate.length > 200) { message.channel.send(":x: Error! Please keep translations below 200 characters!"); - } else { - translate(thingToTranslate, {to: languageto}).then(res => { + } + else { + translate(thingToTranslate, { + to: languageto + }).then(res => { let languagefrom = res.from.language.iso.toLowerCase(); const embed = new Discord.RichEmbed() - .setColor(0x00AE86) - .addField('Input (From: ' + languages.entries[languagefrom] + '):', - thingToTranslate) - .addField('Translation (To: ' + languages.entries[languageto] + '):', - res.text); + .setColor(0x00AE86) + .addField('Input (From: ' + languages.entries[languagefrom] + '):', + thingToTranslate) + .addField('Translation (To: ' + languages.entries[languageto] + '):', + res.text); message.channel.sendEmbed(embed).catch(console.error); }).catch(err => { message.channel.send(":x: Error! Something went wrong!"); }); } - } else { + } + else { message.channel.send(":x: Error! Language not found! Use `;translate list` to view a list of translate codes!"); } } -}; \ No newline at end of file +}; diff --git a/commands/textedit/yoda.js b/commands/textedit/yoda.js index 856cd6b0..e7498dfc 100644 --- a/commands/textedit/yoda.js +++ b/commands/textedit/yoda.js @@ -3,7 +3,7 @@ const request = require('superagent'); const config = require('../../config.json'); module.exports = class YodaCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'yoda', group: 'textedit', @@ -14,27 +14,34 @@ module.exports = class YodaCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let turnToYoda = message.content.split(" ").slice(1).join(" "); - if(turnToYoda === "") { + if (turnToYoda === "") { message.channel.send(':x: Error! Nothing to translate!'); - } else { + } + else { request - .get('https://yoda.p.mashape.com/yoda') - .set({ 'X-Mashape-Key': config.mashapekey, 'Accept': 'text/plain' }) - .query({ sentence: turnToYoda }) - .then(function (response) { - if(response === undefined) { - message.channel.send(':x: Error! Something went wrong! Keep it simple to avoid this error.'); - } else { - message.channel.send(response.text).catch(error => message.channel.send(':x: Error! Something went wrong! Keep it simple to avoid this error.')); - } - }).catch(function (err) { - message.channel.send(":x: Error! Unknown Error. Try again later!"); - }); + .get('https://yoda.p.mashape.com/yoda') + .set({ + 'X-Mashape-Key': config.mashapekey, + 'Accept': 'text/plain' + }) + .query({ + sentence: turnToYoda + }) + .then(function(response) { + if (response === undefined) { + message.channel.send(':x: Error! Something went wrong! Keep it simple to avoid this error.'); + } + else { + message.channel.send(response.text).catch(error => message.channel.send(':x: Error! Something went wrong! Keep it simple to avoid this error.')); + } + }).catch(function(err) { + message.channel.send(":x: Error! Unknown Error. Try again later!"); + }); } } -}; \ No newline at end of file +}; diff --git a/commands/textedit/zalgo.js b/commands/textedit/zalgo.js index 7882b487..fb896819 100644 --- a/commands/textedit/zalgo.js +++ b/commands/textedit/zalgo.js @@ -2,7 +2,7 @@ const commando = require('discord.js-commando'); const zalgo = require('zalgolize'); module.exports = class ZalgoCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'zalgo', group: 'textedit', @@ -13,17 +13,19 @@ module.exports = class ZalgoCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); let zalgoified = zalgo(message.content.split(" ").slice(1).join(" ")); - if(zalgoified === '') { + if (zalgoified === '') { message.channel.send(":x: Error! Nothing to zalgoify!"); - } else if(zalgoified.length > 1950) { + } + else if (zalgoified.length > 1950) { message.channel.send(":x: Error! Your message is too long!"); - } else { + } + else { message.channel.send(zalgoified); } } -}; \ No newline at end of file +}; diff --git a/commands/userinfo/avatar.js b/commands/userinfo/avatar.js index 4865448c..00df314d 100644 --- a/commands/userinfo/avatar.js +++ b/commands/userinfo/avatar.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class AvatarCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'avatar', group: 'userinfo', @@ -12,18 +12,20 @@ module.exports = class AvatarCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); if (message.mentions.users.size !== 1) { message.channel.send(':x: Error! Please mention one user!'); - } else { - if(message.mentions.users.first().avatarURL === null) { + } + else { + if (message.mentions.users.first().avatarURL === null) { message.channel.send(":x: Error! This person has no avatar!"); - } else { + } + else { message.channel.send(message.mentions.users.first().avatarURL); } } } -}; \ No newline at end of file +}; diff --git a/commands/userinfo/userinfo.js b/commands/userinfo/userinfo.js index a5eafbbf..b0f36e32 100644 --- a/commands/userinfo/userinfo.js +++ b/commands/userinfo/userinfo.js @@ -2,7 +2,7 @@ const commando = require('discord.js-commando'); const Discord = require('discord.js'); module.exports = class UserInfoCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'user', aliases: [ @@ -18,82 +18,85 @@ module.exports = class UserInfoCommand extends commando.Command { } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES', 'EMBED_LINKS'])) return; } console.log("[Command] " + message.content); if (message.channel.type !== 'dm') { let stat; switch (message.mentions.users.first().presence.status) { case "online": - stat = "<:vpOnline:212789758110334977> Online"; - break; + stat = "<:vpOnline:212789758110334977> Online"; + break; case "idle": - stat = "<:vpAway:212789859071426561> Idle"; - break; + stat = "<:vpAway:212789859071426561> Idle"; + break; case "dnd": - stat = "<:vpDnD:230093576355184640> Do Not Disturb"; - break; - case "offline": - stat = "<:vpOffline:212790005943369728> Offline"; - break; + stat = "<:vpDnD:230093576355184640> Do Not Disturb"; + break; + case "offline": + stat = "<:vpOffline:212790005943369728> Offline"; + break; } let color; switch (message.mentions.users.first().presence.status) { case "online": - color = 0x00AE86; - break; + color = 0x00AE86; + break; case "idle": - color = 0xFFFF00; - break; + color = 0xFFFF00; + break; case "dnd": - color = 0xFF0000; - break; - case "offline": - color = 0x808080; - break; + color = 0xFF0000; + break; + case "offline": + color = 0x808080; + break; } if (message.mentions.users.size !== 1) { message.channel.send(':x: Error! Please mention one user!'); - } else { + } + else { if (message.mentions.users.first().presence.game === null) { const embed = new Discord.RichEmbed() - .setColor(color) - .setThumbnail(message.mentions.users.first().avatarURL) - .addField('**Name:**', - message.mentions.users.first().username + '#' + message.mentions.users.first().discriminator, true) - .addField('**ID:**', - message.mentions.users.first().id, true) - .addField('**Joined Discord On:**', - message.mentions.users.first().createdAt, true) - .addField('**Joined Server On:**', - message.guild.member(message.mentions.users.first()).joinedAt, true) - .addField('**Status:**', - stat, true) - .addField('**Playing:**', - "None", true); + .setColor(color) + .setThumbnail(message.mentions.users.first().avatarURL) + .addField('**Name:**', + message.mentions.users.first().username + '#' + message.mentions.users.first().discriminator, true) + .addField('**ID:**', + message.mentions.users.first().id, true) + .addField('**Joined Discord On:**', + message.mentions.users.first().createdAt, true) + .addField('**Joined Server On:**', + message.guild.member(message.mentions.users.first()).joinedAt, true) + .addField('**Status:**', + stat, true) + .addField('**Playing:**', + "None", true); message.channel.sendEmbed(embed).catch(console.error); - } else { + } + else { const embed = new Discord.RichEmbed() - .setColor(color) - .setThumbnail(message.mentions.users.first().avatarURL) - .addField('**Name:**', - message.mentions.users.first().username + '#' + message.mentions.users.first().discriminator, true) - .addField('**ID:**', - message.mentions.users.first().id, true) - .addField('**Joined Discord On:**', - message.mentions.users.first().createdAt, true) - .addField('**Joined Server On:**', - message.guild.member(message.mentions.users.first()).joinedAt, true) - .addField('**Status:**', - stat, true) - .addField('**Playing:**', - message.mentions.users.first().presence.game.name, true); + .setColor(color) + .setThumbnail(message.mentions.users.first().avatarURL) + .addField('**Name:**', + message.mentions.users.first().username + '#' + message.mentions.users.first().discriminator, true) + .addField('**ID:**', + message.mentions.users.first().id, true) + .addField('**Joined Discord On:**', + message.mentions.users.first().createdAt, true) + .addField('**Joined Server On:**', + message.guild.member(message.mentions.users.first()).joinedAt, true) + .addField('**Status:**', + stat, true) + .addField('**Playing:**', + message.mentions.users.first().presence.game.name, true); message.channel.sendEmbed(embed).catch(console.error); } } - } else { + } + else { message.channel.send(":x: Error! This command does not work in DM!"); } } -}; \ No newline at end of file +}; diff --git a/commands/util/servers.js b/commands/util/servers.js index ed94796a..2112f703 100644 --- a/commands/util/servers.js +++ b/commands/util/servers.js @@ -1,7 +1,7 @@ const commando = require('discord.js-commando'); module.exports = class ServersCommand extends commando.Command { - constructor(Client){ + constructor(Client) { super(Client, { name: 'servers', aliases: [ @@ -13,16 +13,16 @@ module.exports = class ServersCommand extends commando.Command { examples: [";servers"] }); } - hasPermission(msg) { - return this.client.isOwner(msg.author); - } + hasPermission(msg) { + return this.client.isOwner(msg.author); + } async run(message) { - if(message.channel.type !== 'dm') { - if(!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; + if (message.channel.type !== 'dm') { + if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return; } console.log("[Command] " + message.content); - console.log(this.client.guilds.array().length + " Servers: " + this.client.guilds.map(g => g.name + " (" + g.id + ")").join(", ")); + console.log(this.client.guilds.array().length + " Servers: " + this.client.guilds.map(g => g.name + " (" + g.id + ")").join(", ")); message.channel.send("Sent the information to the console!"); } -}; \ No newline at end of file +}; diff --git a/html/carbondesc.html b/html/carbondesc.html index a9ec9116..387c666c 100644 --- a/html/carbondesc.html +++ b/html/carbondesc.html @@ -1,14 +1,16 @@