mirror of
https://github.com/thewesker/Parkscord.git
synced 2025-12-20 04:11:06 -05:00
349 lines
12 KiB
JavaScript
349 lines
12 KiB
JavaScript
// include the Themeparks and Discord library
|
|
const ThemeParks = require("themeparks");
|
|
const Discord = require("discord.js");
|
|
const client = new Discord.Client();
|
|
const config = require("./config.json");
|
|
const prefix = config.prefix;
|
|
|
|
const sleep = (waitTimeInMs) =>
|
|
new Promise((resolve) => setTimeout(resolve, waitTimeInMs));
|
|
|
|
// Parks
|
|
const Parks = {};
|
|
for (const park in ThemeParks.Parks) {
|
|
Parks[park] = new ThemeParks.Parks[park]();
|
|
}
|
|
//const KI = new ThemeParks.Parks.KingsIsland();
|
|
//const CP = new ThemeParks.Parks.CedarPoint();
|
|
//const DAK = new ThemeParks.Parks.WaltDisneyWorldAnimalKingdom;
|
|
//const SFMM = new ThemeParks.Parks.SixFlagsMagicMountain;
|
|
// Test with Discord
|
|
client.on("ready", () => {
|
|
console.log(`Logged in as ${client.user.tag}!`);
|
|
});
|
|
var goodchannel = config.channel;
|
|
client.on("message", (msg) => {
|
|
if (msg.channel.name !== goodchannel) return;
|
|
else {
|
|
if (!msg.content.startsWith(prefix)) return;
|
|
console.log("Message received");
|
|
const args = msg.content.slice(prefix.length).trim().split(/ +/);
|
|
const command = args.shift().toLowerCase();
|
|
if (command === "ki") {
|
|
console.log("!q ki command");
|
|
var selectedpark = Parks.KingsIsland;
|
|
} else if (command === "cp") {
|
|
console.log("!q cp command");
|
|
var selectedpark = Parks.CedarPoint;
|
|
} else if (command === "dak") {
|
|
console.log("!q dak command");
|
|
var selectedpark = Parks.WaltDisneyWorldAnimalKingdom;
|
|
} else if (command === "sfmm") {
|
|
console.log("!q sfmm command");
|
|
var selectedpark = Parks.SixFlagsMagicMountain;
|
|
} else if (command === "dhs") {
|
|
console.log("!q dhs command");
|
|
var selectedpark = Parks.WaltDisneyWorldHollywoodStudios;
|
|
} else if (command === "dl") {
|
|
console.log("!q dl command");
|
|
var selectedpark = Parks.DisneylandResortMagicKingdom;
|
|
} else if (command == "caro") {
|
|
console.log("!q caro command");
|
|
var selectedpark = Parks.Carowinds;
|
|
} else if (command === "bgt") {
|
|
console.log("!q bgt command");
|
|
var selectedpark = Parks.BuschGardensTampa;
|
|
} else if (command === "sfgradv") {
|
|
console.log("!q sfgradv command");
|
|
var selectedpark = Parks.SixFlagsGreatAdventure;
|
|
} else if (command === "sfot") {
|
|
console.log("!q sfot command");
|
|
var selectedpark = Parks.SixFlagsOverTexas;
|
|
} else if (command === "kbf" || command === "knotts") {
|
|
console.log("!q kbf command");
|
|
var selectedpark = Parks.KnottsBerryFarm;
|
|
} else if (command === "cga") {
|
|
console.log("!q cga command");
|
|
var selectedpark = Parks.CaliforniasGreatAmerica;
|
|
} else if (command === "cw") {
|
|
console.log("!q cw command");
|
|
var selectedpark = Parks.CanadasWonderland;
|
|
} else if (command === "sfgam") {
|
|
console.log("!q sfgam command");
|
|
var selectedpark = Parks.SixFlagsGreatAmerica;
|
|
} else if (command === "bgw") {
|
|
console.log("!q bgw command");
|
|
var selectedpark = Parks.BuschGardensWilliamsburg;
|
|
// sleep(5000).then(() => {
|
|
} else if (command === "hershey" || command === "hp") {
|
|
console.log("!q hershey command");
|
|
var selectedpark = Parks.HersheyPark;
|
|
} else if (command === "sfa") {
|
|
console.log("!q sfa command");
|
|
var selectedpark = Parks.SixFlagsAmerica;
|
|
} else if (command === "sfft") {
|
|
console.log("!q sfft command");
|
|
var selectedpark = Parks.SixFlagsFiestaTexas;
|
|
} else if (command === "dw" || command === "dolly") {
|
|
console.log("!q dw command");
|
|
var selectedpark = Parks.Dollywood;
|
|
} else {
|
|
msg.reply(command + " is not available yet or is not a valid park.");
|
|
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) {
|
|
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, 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()
|
|
.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();
|
|
}
|
|
});
|
|
|
|
client.login(config.token);
|