meridian-bot/events/midnightAlmanax.js
Yannis Perrot ed602b2643 1st
2024-02-19 15:43:17 +01:00

51 lines
2.1 KiB
JavaScript

const { Events, Client, Intents } = require('discord.js');
const { EmbedBuilder } = require('discord.js');
const cron = require('cron');
const dofusdude = require('dofusdude-js');
module.exports = {
name: Events.ClientReady,
once: true,
execute(client) {
const job = new cron.CronJob('55 23 * * *', () => {
// Example: sending a message to a specific channel
const api = new dofusdude.AlmanaxApi()
const language = 'fr'; // {String} code
const newDate = new Date();
newDate.setDate(newDate.getDate()+1);
newDate.setHours(newDate.getHours()+1);
const date = newDate.toISOString().slice(0,10); // {Date} yyyy-mm-dd
api.getAlmanaxDate(language, date, (error, data, response) => {
if (error) {
console.error(error);
return;
} else {
console.log('Dofusdude API called successfully.');
const channelId = '1202247793356316685';
const channel = client.channels.cache.get(channelId);
if (channel) {
channel.send({ embeds:
[new EmbedBuilder()
.setTitle('Almanax du ' + date.slice(8,10) + '/' + date.slice(5,7) + '/' + date.slice(0,4))
.setURL('https://www.krosmoz.com/fr/almanax/' + date)
.setThumbnail(data.tribute.item.image_urls.sd)
.addFields(
{ name: 'Offrande de demain', value: data.tribute.item.name+' x'+data.tribute.quantity},
{ name: data.bonus.type.name, value: data.bonus.description }
)
]
});
} else {
console.error('Channel not found!');
}
}
});
});
job.start();
console.log(`Daily Dofus API Call done.`);
},
};