Создание команды BulkDelete | Раздор. JS - PullRequest
0 голосов
/ 01 августа 2020

Судя по названию, я пытаюсь создать четкую команду для своего бота Discord, но не могу заставить его работать.

Вот фрагмент:

client.on('message', message => {
    if (message.content = "clear") {
        let args = message.content.substring(prefix.length).split(" ");
        var deleteCount = message.guild.members.cache.get(args[1]);
        if (message.member.hasPermission("MANAGE_MESSAGES")) {
            const deleteCount = args[2];
            const fetched = ({
                limit: deleteCount
            });
            message.delete(fetched)
            try {

            } catch (error) {

            }(error => message.reply(`Couldn't delete messages because of: ${error}`));
            if (!deleteCount || deleteCount < 2 || deleteCount > 100)
                return message.reply("Please provide a number between 2 and 100 for the number of messages to delete");
            message.channel.send('Successfully deleted ' + `${deleteCount}` + 'messages!');
        }
    }
});

Кроме того, не спрашивайте меня, что я делаю и почему я скопировал кое-что у других людей, пытающихся сделать это, но код устарел. Кто-нибудь может мне помочь?

1 Ответ

2 голосов
/ 01 августа 2020
client.on("message", message => {
    if (message.content.indexOf(prefix) !== 0) {return false};

    const arguments = message.content.slice(prefix.length).trim().split(/ +/g);
    const command = arguments.shift().toLowerCase();

    if (command == "clear") {
        if (!message.member.hasPermission("MANAGE_MESSAGES")) return message.channel.send("You are not allowed to use this command.");
        if (!arguments[0]) return message.channel.send("Please provide a number between 2 and 100.")
        if (arguments[0] < 2 || arguments[0] > 100) return message.channel.send("Please provide a number between 2 and 100.")

        message.channel.bulkDelete(arguments[0]).then(messages => {
            message.channel.send(`Deleted ${messages.size} messages.`);
        }).catch(e => console.log(e));
    };
});
...