Как сделать команду clear для бота дискорд?

Мне нужен код команды clear для discord бота на JavaScript. Помогите пожалуйста, спасибо!


Ответы (3 шт):

Автор решения: neppedboy

channel.bulkDelete(количество) Всё подробно об этом в официальной документации discord.js https://discord.js.org/

→ Ссылка
Автор решения: Cipher

Вы можете сделать это следующим образом

const Discord = require('discord.js');
const client = new Discord.Client();
const prefix = '?';
client.on('message', (message) => {
    /* Проверяем что сообщение начинается с префикса */
    if (!message.content.startsWith(prefix)) return;
    /* Разделяем сообщение на массив из аргументов обрезая на длину префикса */
    let args = message.content.substring(prefix.length).split(' ');
    /* Получаем комманду, первый элемент массива */
    let command = args.shift();
    if (command === 'clear') {
        if (!message.member.hasPermission('MANAGE_MESSAGES')) return message.reply('Для использования данной команды тебе необходимы права для удаления сообщения');
        /* Получаем кол-во сообщений к удалению, проверяем, что колд-во указанно корректно, если нет задаем кол-во равным 100 */
        let count = Number.parseInt(args[0]);
        if (!count || count > 100 || count <= 0) count = 100;
        message.channel
            .bulkDelete(count)
            .then(() => {
                message.channel.send(`Успешно удалено ${count} сообщений`);
            })
            .catch((err) => {
                message.channel.send('Ошибка удаления сообщений');
            });
    }
});
→ Ссылка
Автор решения: Wonka

для боты если команды держишь в отдельных файлах а не в теле бота.

const Discord = require('discord.js');

module.exports.run = async (bot, message, args) => {

    if (!message.member.hasPermission('BAN_MEMBERS')) return message.reply('No.');
    if (!args[0]) return message.channel.send('no');
    message.channel.bulkDelete(args[0]).then(() => {
        message.channel.send(`Deleted: ${args[0]} messages.`)
        .then((msg) => msg.delete({ timeout : 5000 }));;
    });
};

module.exports.help = {
    name: 'clear',
};

→ Ссылка