mirror of
https://github.com/Ninluc/Dat_Boi.git
synced 2025-08-09 23:26:13 +02:00
44 lines
1.5 KiB
JavaScript
44 lines
1.5 KiB
JavaScript
const { readdirSync } = require("fs");
|
|
const ascii = require("ascii-table");
|
|
let table = new ascii("Timed messages");
|
|
table.setHeading("Name", "Load status");
|
|
module.exports = (client) => {
|
|
try{
|
|
const timesMessagesFiles = readdirSync(`./timedMessages/`).filter((file) => file.endsWith(".js")); // Get all the js files
|
|
for (let file of timesMessagesFiles) {
|
|
let pull = require(`../timedMessages/${file}`);
|
|
if (pull.name && pull.time) {
|
|
([hour, second] = pull.time.split(":"))
|
|
|
|
function getNextRunETA(hour, second) {
|
|
var todayDate = new Date();
|
|
var nextRunDate = new Date();
|
|
nextRunDate.setHours(hour, second, 0)
|
|
if (nextRunDate <= todayDate) {
|
|
nextRunDate.setDate(todayDate.getDate() + 1)
|
|
}
|
|
return nextRunDate - todayDate;
|
|
}
|
|
|
|
function runMessage(hour, second) {
|
|
pull.run(client)
|
|
|
|
setTimeout(runMessage, getNextRunETA(hour, second), hour, second)
|
|
}
|
|
|
|
setTimeout(runMessage, getNextRunETA(hour, second), hour, second)
|
|
|
|
table.addRow(pull.name, "Ready");
|
|
} else {
|
|
table.addRow(file, `error->missing a name or time or is not a string.`);
|
|
continue;
|
|
}
|
|
}
|
|
console.log(table.toString().cyan);
|
|
}catch (e){
|
|
console.log(String(e.stack).bgRed)
|
|
}
|
|
};
|
|
|
|
/** Template by Tomato#6966 | https://github.com/Tomato6966/Discord-Js-Handler-Template */
|