Lo que quiero es un temporizador en el mensaje incrustado de obsequio de mi bot que funciona cuando el bot está apagado y el temporizador aún se actualiza sin mostrar que el mensaje fue editado.
Así que solo estoy mostrando lo que he hecho en incrustar:
const embed = new MessageEmbed(); embed.setAuthor({ name: `${message.guild.name} GiveAways!`, iconURL: `${message.guild.iconURL({ dynamic: true })}` }); embed.setThumbnail(`${message.guild.iconURL({ dynamic: true })}`); embed.setTitle(`${title.toUpperCase()}`); embed.setColor("BLURPLE"); embed.setDescription( ` **React With 🎉 To Enter!** **Ends In: ${time} ${}!** **Hosted By: ${message.author}!** ` ); embed.setFooter({ text: `${winnerCount.toString().slice(0, -1)} Winners | Ends` }); embed.setTimestamp(Date.now() + ms(duration)); const sentGiveaway = await channel.send({ content: "||@everyone|| **🥳 GIVEAWAY 🥳**", embeds: [embed] }); sentGiveaway.react("🎉"); title - Esto proporciona el título para el sorteo. time - Esto cubre la duración ingresada por el usuario al nombre completo. Ej: 4d => 4 Días. winnerCount : indica cuántos ganadores ganarán el sorteo. duration - Esto toma el argumento del usuario. Date.now + ms(duration) : proporciona la hora exacta en que finalizará el sorteo.
¿Qué está haciendo mi inserción? Esta es mi inserción de obsequio en la que proporciono la duración y todo embed.setTimestamp() no hace lo que quiero, solo dice cuándo finalizará el obsequio. (No estoy proporcionando el código completo porque algunas personas me dijeron que no pegara el código completo)
Lo que quiero: quiero que en la descripción junto a la hora variable, quiero una actualización automática de la hora que las personas puedan enviar y los bots puedan enviar, pero no sé cómo hacerlo, he visto que muchos bots envían el temporizador. en allí mensajes.
Consulte las marcas de tiempo de Unix .
Usan segundos en lugar de milisegundos, por lo que deberá hacer la división necesaria cuando trabaje con milisegundos (dividir por 1000 & Math.floor() it)
Por ejemplo:
const timestamp = new Date().getTime() + 600000 // (in 10 minutes) const timestampInSecs = Math.floor(timestamp / 1000); // Necessary division // Choose appropriate formatting option - the one GiveawayBot uses is R const timestampString = `<t:${timestampInSecs}:R>`;