Discord. js Удалить сообщение через существующую функцию - PullRequest
0 голосов
/ 23 марта 2020

Проблема При выполнении моего кода в настоящий момент я действительно не получаю ошибок, но хотел бы добавить функцию, но перепробовал почти все способы ее обработки. На данный момент переменная была удалена из-за путаницы и разочарования.

Что должно произойти, пользователь, который запускает команду, его сообщение удаляется после небольшой задержки. Я пробовал message.delete (1000) и другие варианты для v12, но не повезло. Не можете передать переменную «message» из моей активной функции?

Может быть, я полностью отключен и просто усложняю себе работу, я не знаю. Честно говоря, стыдно, что я не мог понять сообщение. Пожалуйста помоги. Извиняюсь за невежество.

const Discord = require('discord.js');
const bot = new Discord.Client();
const token = "";
const PREFIX = "!";

const fs = require('fs');
bot.commands = new Discord.Collection();

const commandFiles = fs.readdirSync('./commands/').filter(file => file.endsWith('.js'));
for(const file of commandFiles){
    const command = require(`./commands/${file}`);

    bot.commands.set(command.name, command);
}


bot.on('ready', () => {
    console.log("The bot is active and ready to go!");
});

      bot.on('message', function(message) {
        if(message.content[0] === PREFIX) {
            let command = message.content.substring(message.content.indexOf(" ") + 1, message.content.length);

        }
    });

bot.on('message', message => {
    let args = message.content.substring(PREFIX.length).split(" ");

    switch (args[0]) {

        case "crash":
            bot.commands.get('crash').execute(message, args);
        break;

        case "hello":
            bot.commands.get('hello').execute(message, args);
        break;

        case "purge":
            bot.commands.get('purge').execute(message, args);
        break;
    }

});

bot.login(token);

Вот пример "cra sh. js" для справки. Не знаете, если мне нужно выполнить удаление оттуда?

module.exports = {
    name: 'crash',
    description: "Crash",
    execute(message, args){
        message.author.send("Here is the link you requested");
    }
}

1 Ответ

0 голосов
/ 23 марта 2020

Вы можете выполнить удаление из вашего модуля. Сообщение передается как полный объект, поэтому вы просто вызываете метод delete для него. Тем не менее, Опции являются Объектом, что означает, что его необходимо определить как таковое. Для ясности, я собираюсь использовать другую переменную, но это может быть сделано inline.

let options = {
    timeout: 1000,
    reason: 'Because I said so.'
}

message.delete(options);

или inline ...

message.delete({timeout: 1000});
...