Как мне остановить команду очистки, использующую bulkDelete в Discord.JS, от отправки ошибки, если ей более 14 дней? Как спамит консоль и это изрядно раздражает. Я уже пробовал поместить его в блок try / catch, но это не помогло.

Любая помощь будет оценена :)

Код:

 if (Number.isNaN(+content)){;
            message.channel.send('Please enter a valid numerical digit.')
        } else{
            if(message.member.hasPermission('MANAGE_MESSAGES')){
                try{
                    if(content > 100){
                        message.reply("Unable to purge. Limit is 100.")
                    } else{
                        message.channel.bulkDelete(content)
                        
                        
                        message.reply(`successfully purged ${content} messages.`)
                        .then(msg => {
                        msg.delete({ timeout: 5000 })
                        .catch(console.error)
                        })
                    }
                }catch(error){
                    message.reply(`There was an error.`)
                    console.log(error)
                }
            } else{
                message.reply("You lack the required permissions to do that. (Required Permissions: ``MANAGE_MESSAGES``)")
            }
        }
1
beans 12 Фев 2021 в 16:43

1 ответ

Лучший ответ

.bulkDelete() принимает секунду аргумент (логическое значение), который, если установлен в true, фильтрует сообщения, удаляя сообщения старше двух недель. По умолчанию установлено значение false.

Следующее должно работать должным образом:

message.channel.bulkDelete(content, true)
1
Zsolt Meszaros 12 Фев 2021 в 14:46