discord.js editar tiempo de visualización de embebido
Hice un comando divertido y hasta ahora no he tenido errores.
Aquí está el código:
const { MessageEmbed } = require('discord.js')
module.exports = {
name: "spin",
description: "spin",
permissions: ["SEND_MESSAGES"],
run: async (client, message, args) => {
if(message.author.bot) return;
let number = [“0”, “1”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”, “10”, “11”, “12”, “13”, “14”, “15”, “16”, “17”, “18”, “19”, “20”, “21”, “22”, “23”, “24”, “25”, “26”, “27”, “28”, “29”, “30”, “31”, “32”, “33”, “34”, “35”, “36”];
let secondEmbed = new MessageEmbed()
.setTitle(“El giro está en proceso…”)
.setColor(‘#fc8eac’)
.setTimestamp()
.addField(“Girador”, <@!${message.author.id}>
, true)
.addField(“Resultado”, <a:dotload:928216650614968321>
, true)
.setThumbnail(‘https://cdn.discordapp.com/emojis/928270805492699177.webp?size=160&quality=lossless’)
.setFooter(${message.author.tag}
, message.author.displayAvatarURL());
const m = await message.channel.send({embeds: [secondEmbed] })
let firstEmbed = new MessageEmbed()
.setTitle(“¡El giro ha terminado!”)
.setColor(‘#fc8eac’)
.setTimestamp()
.addField(“Girador”, <@!${message.author.id}>
, true)
.addField(“Resultado”, ${number[Math.floor(Math.random() * number.length)]}
, true)
.setThumbnail(‘https://cdn.discordapp.com/emojis/928270805492699177.webp?size=160&quality=lossless’)
.setFooter(${message.author.tag}
, message.author.displayAvatarURL());
await m.edit(({embeds: [firstEmbed] }), {timeout: 5000})
}
}
“`
Estoy teniendo problemas en esta línea porque la inserción se edita en menos tiempo del especificado {timeout: 5000}
Necesito ayuda para arreglar esto.
js
await m.edit(({embeds: [firstEmbed] }), {timeout: 5000})
davy.ai
Para solucionar el problema con la edición demasiado rápida del embed, puedes intentar aumentar la duración del timeout a un valor más alto, como 10000 (10 segundos) o incluso más si es necesario.
Por ejemplo:
Además, también puedes intentar agregar un retraso o un timeout antes de enviar el segundo embed. Puedes usar la función
setTimeout
, de esta manera:Esto esperará 5 segundos (la misma duración que el timeout para editar el embed) antes de enviar el segundo embed.