mirror of
https://github.com/arthur-pbty/xiao.git
synced 2026-06-03 23:36:43 +02:00
Refactor Zodiac Sign so it's less complex
This commit is contained in:
@@ -0,0 +1,134 @@
|
||||
[
|
||||
{
|
||||
"high": {
|
||||
"month": 1,
|
||||
"day": 19
|
||||
},
|
||||
"low": {
|
||||
"month": 12,
|
||||
"day": 22
|
||||
},
|
||||
"name": "Capricorn"
|
||||
},
|
||||
{
|
||||
"high": {
|
||||
"month": 2,
|
||||
"day": 18
|
||||
},
|
||||
"low": {
|
||||
"month": 1,
|
||||
"day": 20
|
||||
},
|
||||
"name": "Aquarius"
|
||||
},
|
||||
{
|
||||
"high": {
|
||||
"month": 3,
|
||||
"day": 20
|
||||
},
|
||||
"low": {
|
||||
"month": 2,
|
||||
"day": 19
|
||||
},
|
||||
"name": "Pisces"
|
||||
},
|
||||
{
|
||||
"high": {
|
||||
"month": 4,
|
||||
"day": 19
|
||||
},
|
||||
"low": {
|
||||
"month": 3,
|
||||
"day": 21
|
||||
},
|
||||
"name": "Aries"
|
||||
},
|
||||
{
|
||||
"high": {
|
||||
"month": 5,
|
||||
"day": 20
|
||||
},
|
||||
"low": {
|
||||
"month": 4,
|
||||
"day": 20
|
||||
},
|
||||
"name": "Taurus"
|
||||
},
|
||||
{
|
||||
"high": {
|
||||
"month": 6,
|
||||
"day": 20
|
||||
},
|
||||
"low": {
|
||||
"month": 5,
|
||||
"day": 21
|
||||
},
|
||||
"name": "Gemini"
|
||||
},
|
||||
{
|
||||
"high": {
|
||||
"month": 7,
|
||||
"day": 22
|
||||
},
|
||||
"low": {
|
||||
"month": 6,
|
||||
"day": 21
|
||||
},
|
||||
"name": "Cancer"
|
||||
},
|
||||
{
|
||||
"high": {
|
||||
"month": 8,
|
||||
"day": 22
|
||||
},
|
||||
"low": {
|
||||
"month": 7,
|
||||
"day": 23
|
||||
},
|
||||
"name": "Leo"
|
||||
},
|
||||
{
|
||||
"high": {
|
||||
"month": 9,
|
||||
"day": 22
|
||||
},
|
||||
"low": {
|
||||
"month": 8,
|
||||
"day": 23
|
||||
},
|
||||
"name": "Virgo"
|
||||
},
|
||||
{
|
||||
"high": {
|
||||
"month": 10,
|
||||
"day": 22
|
||||
},
|
||||
"low": {
|
||||
"month": 9,
|
||||
"day": 23
|
||||
},
|
||||
"name": "Libra"
|
||||
},
|
||||
{
|
||||
"high": {
|
||||
"month": 11,
|
||||
"day": 21
|
||||
},
|
||||
"low": {
|
||||
"month": 10,
|
||||
"day": 23
|
||||
},
|
||||
"name": "Scorpio"
|
||||
},
|
||||
{
|
||||
"high": {
|
||||
"month": 12,
|
||||
"day": 21
|
||||
},
|
||||
"low": {
|
||||
"month": 11,
|
||||
"day": 22
|
||||
},
|
||||
"name": "Sagittarius"
|
||||
}
|
||||
]
|
||||
@@ -1,4 +1,6 @@
|
||||
const Command = require('../../structures/Command');
|
||||
const signs = require('../../assets/json/zodiac-sign');
|
||||
const monthsWith30 = [4, 6, 9, 11];
|
||||
|
||||
module.exports = class ZodiacSignCommand extends Command {
|
||||
constructor(client) {
|
||||
@@ -28,60 +30,16 @@ module.exports = class ZodiacSignCommand extends Command {
|
||||
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}.`);
|
||||
return msg.say(`The Zodiac Sign for ${month}/${day} is ${sign.name}.`);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
determineSign(month, day) {
|
||||
if (month === 2 && day > 29) return null;
|
||||
if (monthsWith30.includes(month) && day > 30) return null;
|
||||
return signs.find(sign => {
|
||||
if (month === sign.high.month && day <= sign.high.day) return true;
|
||||
if (month === sign.low.month && day >= sign.low.month) return true;
|
||||
return false;
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "xiao",
|
||||
"version": "112.5.1",
|
||||
"version": "112.5.2",
|
||||
"description": "Your personal server companion.",
|
||||
"main": "Xiao.js",
|
||||
"scripts": {
|
||||
|
||||
Reference in New Issue
Block a user