mi código es:
client.ws.on('INTERACTION_CREATE', async interaction => { const command = interaction.data.name.toLowerCase(); const args = interaction.data.options; if (command === 'test'){ console.log("Test executed") client.api.interactions(interaction.id, interaction.token).callback.post({ data: { type: 4, data: { content: "Check" } } }) } });Quiero eliminar la respuesta pero realmente no entiendo cómo (Muy nuevo en esto de discord.js xd)
Vi esta publicación pero no puedo hacer que la respuesta funcione
¿Alguien puede ayudarme? :(
EDITAR: ¿También es posible tener un tiempo de reutilización para un comando de barra?
Para eliminar una respuesta a una interacción (según Discord Developer Portal ) con discord.js v12, use lo siguiente:
client.api.webhooks(client.user.id, interaction.token) .messages("@original").delete();¿También es posible tener un tiempo de reutilización para un comando de barra?
Sí, definitivamente es posible. Debería ser muy similar a los tiempos de reutilización para los comandos sin barra. Aquí puedes echarle un vistazo a este post, sistema de enfriamiento muy simple. O aquí tienes algo más complejo.
Aquí puede echar un vistazo a mi ejemplo simple y lejos de ser perfecto sobre el sistema de enfriamiento para los comandos de barra:
const cooldowns = new Set(); client.ws.on("INTERACTION_CREATE", (interaction) => { const userId = interaction.member.user.id; const commandName = interaction.data.name.toLowerCase(); const cooldownId = `${commandName}_${userId}`; const cooldownDuration = 60000; // 60 000 ms = 1 minute if (cooldowns.has(cooldownId)) { // There is a cooldown, notify user and return client.api.interactions(interaction.id, interaction.token).callback.post({ data: { type: 4, data: { content: "Wait 1 minute before typing this again!", flags: 64, // make reply ephemeral } } }); return; } // Create cooldown for next use cooldowns.add(cooldownId); setTimeout(() => { // Schedule cooldown deletion cooldowns.delete(cooldownId); }, cooldownDuration); // ... Execute the command ... });