Una vez que un usuario crea una interacción en un canal de discordia, quiero escuchar nuevos mensajes entrantes en ese canal. Aquí está el código que obtuve
if (interaction.customId.startsWith('TRIGGER')) { let filter = (m) => m.author.id === interaction.author.id; interaction.channel .send(`Are you sure to delete all data? \`YES\` / \`NO\``) .then(() => { interaction.channel .awaitMessages(filter, { max: 1, time: 30000, errors: ['time'], }) .then((message) => { message = message.first(); if ( message.content.toUpperCase() == 'YES' || message.content.toUpperCase() == 'Y' ) { message.channel.send(`Deleted`); } else if ( message.content.toUpperCase() == 'NO' || message.content.toUpperCase() == 'N' ) { message.channel.send(`Terminated`); } else { message.channel.send(`Terminated: Invalid Response`); } }) .catch((collected) => { interaction.channel.send('Timeout'); }); }); }Sin embargo, no recibo los objetos del mensaje. Es como si no se enviaran mensajes.
¿Cómo puedo solucionar este problema?
Lo más probable es que su problema resida en su filtro, ya que ninguna interacción tiene una propiedad de author . Considere cambiar su filtro a lo siguiente:
let filter = m => m.author.id === interaction.user.id;