Digamos que quisiera que mi bot me saludara en mi cumpleaños y que mi bot me saludara en un mensaje directo todos los años. ¿Cómo podemos lograrlo?
Código:
const { Client, MessageEmbed, Intents } = require('discord.js'); const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES] }); const d = new Date(); const minutes = d.getMinutes(); client.once('ready', () => { console.log('beep boop thirdy is online'); } ) client.on('messageCreate', message => { if(message.content === '!dm') client.users.fetch('471298666586570762', false).then((user) => { user.send("test") }); }) client.login('token');Esto se puede lograr mediante una respuesta en esta publicación. Puede usar un método similar, pero deberá tener en cuenta un posible año bisiesto cada 4 años. También debe actualizar datestr1 cada año después de una verificación y guardarlo en una base de datos.
const datestr1 = "7/13/2015" const datestr2 = "7/13/2016" const date1 = new Date(datestr1); const date2 = new Date(datestr2); const diffTime = Math.abs(date2 - date1); const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24)); const currdateyear = parseInt(datestr2.substring(datestr2.length - 4)) if (currdateyear % 4 === 0) { if (diffDays === 366) console.log("happy bday") } else if (diffDays === 365) console.log("happy bday")