This commit is contained in:
Talor Berthelson
2021-07-20 09:37:49 -04:00
parent 94aa8d1373
commit c2835b6d9a
2 changed files with 328 additions and 211 deletions

6
.nova/Configuration.json Normal file
View File

@@ -0,0 +1,6 @@
{
"index.ignored_file_patterns" : [
"config.json",
"*.db"
]
}

View File

@@ -1,13 +1,12 @@
// include the Themeparks and Discord library // include the Themeparks and Discord library
const ThemeParks = require("themeparks"); const ThemeParks = require("themeparks");
const Discord = require('discord.js'); const Discord = require("discord.js");
const client = new Discord.Client(); const client = new Discord.Client();
const config = require('./config.json'); const config = require("./config.json");
const prefix = config.prefix; const prefix = config.prefix;
const sleep = (waitTimeInMs) =>
const sleep = (waitTimeInMs) => new Promise(resolve => setTimeout(resolve, waitTimeInMs)); new Promise((resolve) => setTimeout(resolve, waitTimeInMs));
// Parks // Parks
const Parks = {}; const Parks = {};
@@ -19,218 +18,330 @@ for (const park in ThemeParks.Parks) {
//const DAK = new ThemeParks.Parks.WaltDisneyWorldAnimalKingdom; //const DAK = new ThemeParks.Parks.WaltDisneyWorldAnimalKingdom;
//const SFMM = new ThemeParks.Parks.SixFlagsMagicMountain; //const SFMM = new ThemeParks.Parks.SixFlagsMagicMountain;
// Test with Discord // Test with Discord
client.on('ready', () => { client.on("ready", () => {
console.log(`Logged in as ${client.user.tag}!`); console.log(`Logged in as ${client.user.tag}!`);
}); });
var goodchannel = "bot_commands"; var goodchannel = "bot_commands";
client.on('message', msg => { client.on("message", (msg) => {
if (msg.channel.name !== goodchannel) if (msg.channel.name !== goodchannel) return;
return; else {
else { if (!msg.content.startsWith(prefix)) return;
if (!msg.content.startsWith(prefix)) return; console.log("Message received");
console.log('Message received'); const args = msg.content.slice(prefix.length).trim().split(/ +/);
const args = msg.content.slice(prefix.length).trim().split(/ +/); const command = args.shift().toLowerCase();
const command = args.shift().toLowerCase(); if (command === "ki") {
if (command === 'ki') { console.log("!q ki command");
console.log('!q ki command'); var selectedpark = Parks.KingsIsland;
var selectedpark = Parks.KingsIsland; } else if (command === "cp") {
} else if (command === 'cp') { console.log("!q cp command");
console.log('!q cp command'); var selectedpark = Parks.CedarPoint;
var selectedpark = Parks.CedarPoint; } else if (command === "dak") {
} else if (command === 'dak') { console.log("!q dak command");
console.log('!q dak command'); var selectedpark = Parks.WaltDisneyWorldAnimalKingdom;
var selectedpark = Parks.WaltDisneyWorldAnimalKingdom; } else if (command === "sfmm") {
} else if (command === 'sfmm') { console.log("!q sfmm command");
console.log('!q sfmm command'); var selectedpark = Parks.SixFlagsMagicMountain;
var selectedpark = Parks.SixFlagsMagicMountain; } else if (command === "dhs") {
} else if (command === 'dhs') { console.log("!q dhs command");
console.log('!q dhs command'); var selectedpark = Parks.WaltDisneyWorldHollywoodStudios;
var selectedpark = Parks.WaltDisneyWorldHollywoodStudios; } else if (command === "dl") {
} else if (command === 'dl') { console.log("!q dl command");
console.log('!q dl command'); var selectedpark = Parks.DisneylandResortMagicKingdom;
var selectedpark = Parks.DisneylandResortMagicKingdom; } else if (command == "caro") {
} else if (command == 'caro') { console.log("!q caro command");
console.log('!q caro command') var selectedpark = Parks.Carowinds;
var selectedpark = Parks.Carowinds; } else if (command === "bgt") {
} else if (command === 'bgt') { console.log("!q bgt command");
console.log('!q bgt command') var selectedpark = Parks.BuschGardensTampa;
var selectedpark = Parks.BuschGardensTampa; } else if (command === "sfgradv") {
} else if (command === 'sfgradv') { console.log("!q sfgradv command");
console.log('!q sfgradv command') var selectedpark = Parks.SixFlagsGreatAdventure;
var selectedpark = Parks.SixFlagsGreatAdventure; } else if (command === "sfot") {
} else if (command === 'sfot') { console.log("!q sfot command");
console.log('!q sfot command') var selectedpark = Parks.SixFlagsOverTexas;
var selectedpark = Parks.SixFlagsOverTexas; } else if (command === "kbf" || command === "knotts") {
} else if (command === 'kbf' || command === 'knotts') { console.log("!q kbf command");
console.log('!q kbf command') var selectedpark = Parks.KnottsBerryFarm;
var selectedpark = Parks.KnottsBerryFarm; } else if (command === "cga") {
} else if (command === 'cga') { console.log("!q cga command");
console.log('!q cga command') var selectedpark = Parks.CaliforniasGreatAmerica;
var selectedpark = Parks.CaliforniasGreatAmerica; } else if (command === "cw") {
} else if (command === 'cw') { console.log("!q cw command");
console.log('!q cw command') var selectedpark = Parks.CanadasWonderland;
var selectedpark = Parks.CanadasWonderland; } else if (command === "sfgam") {
} else if (command === 'sfgam') { console.log("!q sfgam command");
console.log('!q sfgam command') var selectedpark = Parks.SixFlagsGreatAmerica;
var selectedpark = Parks.SixFlagsGreatAmerica; } else if (command === "bgw") {
} else if (command === 'bgw') { console.log("!q bgw command");
console.log('!q bgw command') var selectedpark = Parks.BuschGardensWilliamsburg;
var selectedpark = Parks.BuschGardensWilliamsburg; // sleep(5000).then(() => {
// sleep(5000).then(() => { } else if (command === "hershey" || command === "hp") {
} else if (command === 'hershey' || command === 'hp') { console.log("!q hershey command");
console.log('!q hershey command') var selectedpark = Parks.HersheyPark;
var selectedpark = Parks.HersheyPark; } else if (command === "sfa") {
} else if (command === 'sfa') { console.log("!q sfa command");
console.log('!q sfa command') var selectedpark = Parks.SixFlagsAmerica;
var selectedpark = Parks.SixFlagsAmerica; } else if (command === "sfft") {
} console.log("!q sfft command");
else { var selectedpark = Parks.SixFlagsFiestaTexas;
msg.reply(command + ' is not available yet.') } else {
return; msg.reply(command + " is not available yet.");
} return;
console.log(selectedpark);
const CheckWaitTimes = () => {
selectedpark.GetWaitTimes().then((rideTimes) => {
const embed = new Discord.MessageEmbed()
.setTitle(selectedpark.Name + ' Queue Times')
const rides = (rideTimes.length);
console.log(rideTimes.length);
if (rideTimes.length <= 25) {
rideTimes.forEach((ride) => {
if (ride.status = 'Operating') {
if (ride.waitTime == null) {
embed.addField(ride.name + ' (' + ride.status + ')', 'No wait time provided', true);
console.log(ride.name + ' (' + ride.status + ') ' + 'No wait time provided');
} else {
embed.addField(ride.name + ' (' + ride.status + ')', ride.waitTime + ' minutes', true);
console.log(ride.name + ' (' + ride.status + ') ' + ride.waitTime + ' minutes');
}
} else {
embed.addField(ride.name + ' (' + ride.status + ')', true);
console.log(ride.name + ' (' + ride.status + ') ');
}
});
msg.reply(embed);
}
else if ((rideTimes.length > 25) && (rideTimes.length < 50)) {
rideTimes.slice(0, 25).forEach((ride) => {
if (ride.status == 'Operating') {
if (ride.waitTime == null) {
embed.addField(ride.name + ' (' + ride.status + ')', 'No wait time provided', true);
console.log(ride.name + ' (' + ride.status + ') ' + 'No wait time provided');
} else {
embed.addField(ride.name + ' (' + ride.status + ')', ride.waitTime + ' minutes', true);
console.log(ride.name + ' (' + ride.status + ') ' + ride.waitTime + ' minutes');
}
} else {
embed.addField(ride.name + ' (' + ride.status + ')', 'Closed');
console.log(ride.name + ' (' + ride.status + ') ');
};
embed.setTitle(selectedpark.Name + ' Queue Times')
});
const embed2 = new Discord.MessageEmbed()
.setTitle(selectedpark.Name + ' Queue Times')
rideTimes.slice(26, rides).forEach((ride) => {
if (ride.status == 'Operating') {
if (ride.waitTime == null) {
embed2.addField(ride.name + ' (' + ride.status + ')', 'No wait time provided', true);
console.log(ride.name + ' (' + ride.status + ') ' + 'No wait time provided');
} else {
embed2.addField(ride.name + ' (' + ride.status + ')', ride.waitTime + ' minutes', true);
console.log(ride.name + ' (' + ride.status + ') ' + ride.waitTime + ' minutes');
}
} else {
embed2.addField(ride.name + ' (' + ride.status + ')', 'Closed');
console.log(ride.name + ' (' + ride.status + ') ');
};
console.log(rideTimes.length);
//sleep(5000).then(() => {
})
msg.reply(embed);
msg.reply(embed2);
} }
else if ((rideTimes.length > 50) && (rideTimes.length < 75)) { console.log(selectedpark);
rideTimes.slice(0, 25).forEach((ride) => { const CheckWaitTimes = () => {
if (ride.status == 'Operating') { selectedpark.GetWaitTimes().then((rideTimes) => {
if (ride.waitTime == null) { const embed = new Discord.MessageEmbed().setTitle(
embed.addField(ride.name + ' (' + ride.status + ')', 'No wait time provided', true); selectedpark.Name + " Queue Times"
console.log(ride.name + ' (' + ride.status + ') ' + 'No wait time provided'); );
} else { const rides = rideTimes.length;
embed.addField(ride.name + ' (' + ride.status + ')', ride.waitTime + ' minutes', true);
console.log(ride.name + ' (' + ride.status + ') ' + ride.waitTime + ' minutes');
}
} else {
embed.addField(ride.name + ' (' + ride.status + ')', 'Closed');
console.log(ride.name + ' (' + ride.status + ') ')};
});
embed.setTitle(selectedpark.Name + ' Queue Times')
const embed2 = new Discord.MessageEmbed()
.setColor('#0099ff')
.setTitle(selectedpark.Name + ' Queue Times')
rideTimes.slice(26, 51).forEach((ride) => {
if (ride.status == 'Operating') {
if (ride.waitTime == null) {
embed2.addField(ride.name + ' (' + ride.status + ')', 'No wait time provided', true);
console.log(ride.name + ' (' + ride.status + ') ' + 'No wait time provided');
} else {
embed2.addField(ride.name + ' (' + ride.status + ')', ride.waitTime + ' minutes', true);
console.log(ride.name + ' (' + ride.status + ') ' + ride.waitTime + ' minutes');
}
} else {
embed2.addField(ride.name + ' (' + ride.status + ')', 'Closed');
console.log(ride.name + ' (' + ride.status + ') ');
};
})
const embed3 = new Discord.MessageEmbed()
.setColor('#0099ff')
.setTitle(selectedpark.Name + ' Queue Times')
rideTimes.slice(51, rides).forEach((ride) => {
if (ride.status == 'Operating') {
var wait = ride.waitTime
if (ride.waitTime == null) {
embed3.addField(ride.name + ' (' + ride.status + ')', 'No wait time provided', true);
console.log(ride.name + ' (' + ride.status + ') ' + 'No wait time provided');
console.log(ride.waitTime);
} else {
embed3.addField(ride.name + ' (' + ride.status + ')', ride.waitTime + ' minutes', true);
console.log(ride.name + ' (' + ride.status + ') ' + ride.waitTime + ' minutes');
}
} else {
embed3.addField(ride.name + ' (' + ride.status + ')', 'Closed');
console.log(ride.name + ' (' + ride.status + ') ');
};
})
console.log(rideTimes.length); console.log(rideTimes.length);
if (rideTimes.length <= 25) {
//sleep(5000).then(() => { rideTimes.forEach((ride) => {
msg.reply(embed); if ((ride.status = "Operating")) {
msg.reply(embed2); if (ride.waitTime == null) {
msg.reply(embed3); embed.addField(
}; ride.name + " (" + ride.status + ")",
"No wait time provided",
true
);
console.log(
ride.name +
" (" +
ride.status +
") " +
"No wait time provided"
);
} else {
embed.addField(
ride.name + " (" + ride.status + ")",
ride.waitTime + " minutes",
true
);
console.log(
ride.name +
" (" +
ride.status +
") " +
ride.waitTime +
" minutes"
);
}
} else {
embed.addField(ride.name + " (" + ride.status + ")", true);
console.log(ride.name + " (" + ride.status + ") ");
}
});
msg.reply(embed);
} else if (rideTimes.length > 25 && rideTimes.length < 50) {
rideTimes.slice(0, 25).forEach((ride) => {
if (ride.status == "Operating") {
if (ride.waitTime == null) {
embed.addField(
ride.name + " (" + ride.status + ")",
"No wait time provided",
true
);
console.log(
ride.name +
" (" +
ride.status +
") " +
"No wait time provided"
);
} else {
embed.addField(
ride.name + " (" + ride.status + ")",
ride.waitTime + " minutes",
true
);
console.log(
ride.name +
" (" +
ride.status +
") " +
ride.waitTime +
" minutes"
);
}
} else {
embed.addField(ride.name + " (" + ride.status + ")", "Closed");
console.log(ride.name + " (" + ride.status + ") ");
}
}); embed.setTitle(selectedpark.Name + " Queue Times");
});
const embed2 = new Discord.MessageEmbed().setTitle(
selectedpark.Name + " Queue Times"
);
rideTimes.slice(26, rides).forEach((ride) => {
if (ride.status == "Operating") {
if (ride.waitTime == null) {
embed2.addField(
ride.name + " (" + ride.status + ")",
"No wait time provided",
true
);
console.log(
ride.name +
" (" +
ride.status +
") " +
"No wait time provided"
);
} else {
embed2.addField(
ride.name + " (" + ride.status + ")",
ride.waitTime + " minutes",
true
);
console.log(
ride.name +
" (" +
ride.status +
") " +
ride.waitTime +
" minutes"
);
}
} else {
embed2.addField(ride.name + " (" + ride.status + ")", "Closed");
console.log(ride.name + " (" + ride.status + ") ");
}
console.log(rideTimes.length);
//sleep(5000).then(() => {
});
msg.reply(embed);
msg.reply(embed2);
} else if (rideTimes.length > 50 && rideTimes.length < 75) {
rideTimes.slice(0, 25).forEach((ride) => {
if (ride.status == "Operating") {
if (ride.waitTime == null) {
embed.addField(
ride.name + " (" + ride.status + ")",
"No wait time provided",
true
);
console.log(
ride.name +
" (" +
ride.status +
") " +
"No wait time provided"
);
} else {
embed.addField(
ride.name + " (" + ride.status + ")",
ride.waitTime + " minutes",
true
);
console.log(
ride.name +
" (" +
ride.status +
") " +
ride.waitTime +
" minutes"
);
}
} else {
embed.addField(ride.name + " (" + ride.status + ")", "Closed");
console.log(ride.name + " (" + ride.status + ") ");
}
});
embed.setTitle(selectedpark.Name + " Queue Times");
const embed2 = new Discord.MessageEmbed()
.setColor("#0099ff")
.setTitle(selectedpark.Name + " Queue Times");
rideTimes.slice(26, 51).forEach((ride) => {
if (ride.status == "Operating") {
if (ride.waitTime == null) {
embed2.addField(
ride.name + " (" + ride.status + ")",
"No wait time provided",
true
);
console.log(
ride.name +
" (" +
ride.status +
") " +
"No wait time provided"
);
} else {
embed2.addField(
ride.name + " (" + ride.status + ")",
ride.waitTime + " minutes",
true
);
console.log(
ride.name +
" (" +
ride.status +
") " +
ride.waitTime +
" minutes"
);
}
} else {
embed2.addField(ride.name + " (" + ride.status + ")", "Closed");
console.log(ride.name + " (" + ride.status + ") ");
}
});
const embed3 = new Discord.MessageEmbed()
.setColor("#0099ff")
.setTitle(selectedpark.Name + " Queue Times");
rideTimes.slice(51, rides).forEach((ride) => {
if (ride.status == "Operating") {
var wait = ride.waitTime;
if (ride.waitTime == null) {
embed3.addField(
ride.name + " (" + ride.status + ")",
"No wait time provided",
true
);
console.log(
ride.name +
" (" +
ride.status +
") " +
"No wait time provided"
);
console.log(ride.waitTime);
} else {
embed3.addField(
ride.name + " (" + ride.status + ")",
ride.waitTime + " minutes",
true
);
console.log(
ride.name +
" (" +
ride.status +
") " +
ride.waitTime +
" minutes"
);
}
} else {
embed3.addField(ride.name + " (" + ride.status + ")", "Closed");
console.log(ride.name + " (" + ride.status + ") ");
}
});
console.log(rideTimes.length);
//sleep(5000).then(() => {
msg.reply(embed);
msg.reply(embed2);
msg.reply(embed3);
}
});
};
CheckWaitTimes();
} }
CheckWaitTimes(); });
};
})
client.login(config.token);
client.login(config.token);