Así que estoy tratando de hacer que mi bot registre pines y desanclajes de mensajes. Este código solía funcionar hasta hace poco, pero ahora, por alguna razón, los registros obtenidos no tienen una entrada para el mensaje cuya fijación desencadenó el evento messageUpdate.
const fetchedLogs = await oldMessage.guild.fetchAuditLogs({ type: 'MESSAGE_PIN', }); const pinLog = fetchedLogs.entries.filter(f => f.extra.messageID == oldMessage.id).first(); const { executor } = pinLog;El error que se muestra es:
Uncaught Promise Rejection TypeError: Cannot destructure property 'executor' of 'pinLog' as it is undefined.Este código exacto solía funcionar hasta hace poco.
Cosas que he probado:
A partir de v13, se cambiaron los nombres de las propiedades de identificación (como se muestra en la guía ). En lugar de .xxxID , ahora es .xxxId
// messageID -> messageId const pinLog = fetchedLogs.entries.filter(f => f.extra.messageId == oldMessage.id).first() También tenga en cuenta que .find() sería más adecuado para esto, ya que obtiene el primer objeto que coincide con la devolución de llamada
const pinLog = fetchedLogs.entries.find(f => f.extra.messageId == oldMessage.id)