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.`); }, };