Quelqu'un peut-il montrer comment effacer les messages de compensation de moins de 14 jours
Exemple: si la commande effective purge 50 msgs, mais il n'y a que 20 msgs de moins de 14 jours, je n'ai besoin que de 20 msgs, même sans mettre un nombre merci. p> p >
3 Réponses :
Pour capturer toute erreur qui se produit, do Cela attrapera des erreurs qui se produisent. P>
J'espère que cela aide. P> message.channel.bulkdelete (récupéré) .Catch (console.error); code>. p>.
Vous pouvez voir dans le Docs que Vous pouvez également simplifier votre commande en utilisant le fait que quelque chose comme ça devrait mieux fonctionner: p> canal.bulkdelete () code> accepte un deuxième argument,
filtrantold code>, qui devrait être un booléen indiquant si la fonction devrait automatiquement filtrer les messages âgés de plus de 2 semaines pour éviter une Erreur par discorde.
Bulkdelete () code> peut accepter un numéro au lieu d'une collection de messages, de sorte que vous n'avez pas besoin de chercher manuellement les messages à supprimer. Il se résout avec une collection des messages qui ont été supprimés, vous pouvez donc retourner la taille de cette collection à votre utilisateur. P>
if(command === 'clear') {
message.delete();
if (!message.member.hasPermission('MANAGE_MESSAGES')) return message.channel.send('```You don\'t have the permission```').then(mes => mes.delete(3000)) .catch();
const messagesDeleted = await message.channel.bulkDelete(deleteCount, true);
message.channel.send('```php\n' + messagesDeleted.size + ' messages have been deleted\n```').then(mes => mes.delete(3000)).catch();
}
Au début, je ne savais pas que je peux utiliser l'utilisateur (Supprimer, true) code> à filtrant actif. Mais maintenant, cela a bien fonctionné pour moi après avoir utilisé ce code:
if(command === 'clear') {
message.delete();
if (!message.member.hasPermission('MANAGE_MESSAGES')) return message.channel.send('```You don\'t have the permission```').then(mes => mes.delete(3000)) .catch();
const fetched = await message.channel.fetchMessages({ limit:deleteCount }, true);
const msgsDeleted = await message.channel.bulkDelete(fetched, true);
message.channel.send('```php\n' + msgsDeleted.size + ' messages have been deleted\n```').then(mes => mes.delete(3000)) .catch();
}
});