51 lines
2.1 KiB
JavaScript
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.`);
|
|
},
|
|
};
|