From 2856361cdcde82c2d37f26098e3a3ac5bbc7a1ea Mon Sep 17 00:00:00 2001 From: Daniel Odendahl Jr Date: Mon, 29 Jan 2018 14:29:43 +0000 Subject: [PATCH] Zodiac Sign --- commands/search/zodiac-sign.js | 88 ++++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 commands/search/zodiac-sign.js diff --git a/commands/search/zodiac-sign.js b/commands/search/zodiac-sign.js new file mode 100644 index 00000000..0e92a753 --- /dev/null +++ b/commands/search/zodiac-sign.js @@ -0,0 +1,88 @@ +const { Command } = require('discord.js-commando'); + +module.exports = class ZodiacSignCommand extends Command { + constructor(client) { + super(client, { + name: 'zodiac-sign', + group: 'search', + memberName: 'zodiac-sign', + description: 'Responds with the Zodiac Sign for the given month/day.', + args: [ + { + key: 'month', + prompt: 'What month would you like to get the Zodiac Sign for?', + type: 'integer', + min: 1, + max: 12 + }, + { + key: 'day', + prompt: 'What day would you like to get the Zodiac Sign for?', + type: 'integer', + min: 1, + max: 31 + } + ] + }); + } + + run(msg, { month, day }) { + const sign = this.determineSign(month, day); + if (!sign) return msg.reply('Invalid day.'); + return msg.say(`The Zodiac Sign for ${month}/${day} is ${sign}.`); + } + + determineSign(month, day) { // eslint-disable-line complexity + if (month === 1) { + if (day >= 1 && day <= 19) return 'Capricorn'; + if (day >= 20 && day <= 31) return 'Aquarius'; + return null; + } else if (month === 2) { + if (day >= 1 && day <= 18) return 'Aquarius'; + if (day >= 19 && day <= 29) return 'Pisces'; + return null; + } else if (month === 3) { + if (day >= 1 && day <= 20) return 'Pisces'; + if (day >= 21 && day <= 31) return 'Aries'; + return null; + } else if (month === 4) { + if (day >= 1 && day <= 19) return 'Aries'; + if (day >= 20 && day <= 31) return 'Taurus'; + return null; + } else if (month === 5) { + if (day >= 1 && day <= 20) return 'Taurus'; + if (day >= 21 && day <= 31) return 'Gemini'; + return null; + } else if (month === 6) { + if (day >= 1 && day <= 20) return 'Gemini'; + if (day >= 21 && day <= 31) return 'Cancer'; + return null; + } else if (month === 7) { + if (day >= 1 && day <= 22) return 'Cancer'; + if (day >= 23 && day <= 31) return 'Leo'; + return null; + } else if (month === 8) { + if (day >= 1 && day <= 22) return 'Leo'; + if (day >= 23 && day <= 31) return 'Virgo'; + return null; + } else if (month === 9) { + if (day >= 1 && day <= 22) return 'Virgo'; + if (day >= 23 && day <= 31) return 'Libra'; + return null; + } else if (month === 10) { + if (day >= 1 && day <= 22) return 'Libra'; + if (day >= 23 && day <= 31) return 'Scorpio'; + return null; + } else if (month === 11) { + if (day >= 1 && day <= 21) return 'Scorpio'; + if (day >= 22 && day <= 31) return 'Sagittarius'; + return null; + } else if (month === 12) { + if (day >= 1 && day <= 21) return 'Sagittarius'; + if (day >= 22 && day <= 31) return 'Capricorn'; + return null; + } else { + return null; + } + } +}; diff --git a/package.json b/package.json index 00ef9f42..8858f530 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "xiao", - "version": "62.1.0", + "version": "62.2.0", "description": "Your personal server companion.", "main": "Xiao.js", "scripts": {