Estoy tratando de lograr un contador de la cantidad de mensajes en mi canal para sugerencias. El código para contar hacia arriba funciona perfectamente. Pero estoy luchando por restar la activación de la eliminación del mensaje y solo hacerlo si el autor del mensaje es un bot. De ahí el (target.id === '953904462701948938') .
Estoy usando quick.db como mi base de datos.
Soy nuevo en Discord JS y en la codificación en general: dos semanas en el juego, por lo que también se agradece cualquier sugerencia para mejorar mi código.
var dbSuggestionMinus = new db.table('counterM'); dbSuggestionMinus.set('minus', 0); let dbSuggestionSubtract = parseInt(); client.on('messageDelete', async message => { let logs = await message.guild.fetchAuditLogs({ type: 72 }); let entry = logs.entries.first(); const {executor, target} = entry; if (target.id === '953904462701948938') { db.subtract('counterM.minus', 1); dbSuggestionSubtract = await db.fetch('counterM.minus'); } })Tengo un canal para sugerencias que incrusta el mensaje enviado por el usuario y elimina el mensaje del usuario. Esto parece desencadenar el evento, que creo que es el problema. Si registro target.id, obtengo la identificación del bot cuando el bot realiza la eliminación. Solo quiero restar si la víctima es el bot.
Algo a lo que no he llegado es a hacer que este evento sea específico para un canal, lo cual solicito en el título. Pero ese es el siguiente paso.
Supongo que estaba complicando demasiado las cosas. Esto funcionó bien.
var dbSuggestionMinus = new db.table('counterM'); dbSuggestionMinus.set('minus', 0); let dbSuggestionSubtract = parseInt(); client.on('messageDelete', async message => { if (message.channel.id === '918462969975812166' && message.author.bot) { db.subtract('counterM.minus', 1) } })Hay algunos inconvenientes obvios con lo que quería lograr. Pero espero que esto se pueda usar para otras cosas.
target.id // gives you message id target.author.id // this is what you need