Tengo un bot en mi servidor Discord para reproducir música. Como funciona con comandos, y responde si hay algo como una lista de reproducción, el canal se llena de canciones o mensajes que luego no tienen sentido. Así que quiero que el bot, cada vez que abandone un canal de voz, borre los mensajes de comando que se le enviaron y los mensajes de respuesta que envió.
Así que busqué un poco y llegué a este código, pero no funciona. Agregué algunos registros de la consola para ver dónde entra, y llega a la BANDERA 1 pero no a la BANDERA 2. Entonces, ¿qué está mal en esa condición? PREFIJO es el "!" con el que comienzan los comandos, y 0123456789 es el ID del bot
else if (msg.content.trim().toLowerCase() == _CMD_LEAVE) { const channel = msg.channel; const messageManager = channel.messages; messageManager.fetch({ limit: 100 }).then((messages) => { messages.forEach((message) => { console.log("FLAG 1: "+ util.inspect(message)) if ( (message.content.startWith(PREFIX)) || (message.author.id == 0123456789)) { console.log("FLAG 2: "+ util.inspect(message)) message.delete(); } }); }); }Gracias por adelantado
Dos cosas aquí: startWith en realidad debería ser startsWith ya que no mencionaste ningún error. Asumiré que esto es solo un error tipográfico del código de ejemplo.
En segundo lugar, message.author.id == 0123456789 no funcionará ya que las ID deben ser cadenas, no números.