Recibo un error ( Cannot read property 'delete' of undefined ). Probablemente sea una solución fácil, pero parece que no puedo encontrar la manera de solucionarlo.
El error:
message.delete({timeout: 1000}) TypeError: Cannot read property 'delete' of undefinedMi código:
const client = new Client(); let count = 0; let timeout; client.on('message', ({ channel, content, member, message }) => { if (channel.id === '933939208102494270') { if (member.user.bot) return; if (Number(content) === count + 1) { count++; if (timeout) clearTimeout(timeout); timeout = setTimeout( () => channel.send(++count).catch(console.error), 100 ); } else if (member.id !== client.user.id) { message.delete({ timeout: 1000, }); channel.send(`${member} messed up!`).catch(console.error); message.delete({ timeout: 1000, }); // count = 0 if (timeout) clearTimeout(timeout); } } });de indefinido
mire a la izquierda de esto... así que el mensaje no está definido, registre lo que está en la parte superior de client.on , encontrará que el mensaje no está definido y, por lo tanto, la eliminación no existe.
El problema es que intenta desestructurar el primer parámetro de la devolución de llamada, que es un objeto de Message , y un Message no tiene una propiedad de message . Si necesita el message , puede desestructurarlo dentro de la función.
Entonces, en lugar de
client.on('message', ({ channel, content, member, message }) => { // ...debería ser
client.on('message', (message) => { let { channel, content, member } = message // ... De esta forma puede utilizar cualquier otra propiedad y método del message .