Отправить сообщение на определенный канал (команда на модуле.экспорт)

#javascript #node.js #discord #discord.js

Вопрос:

Так что я не хочу устраивать беспорядок в своей Main.js поэтому я стараюсь выполнять все возможные команды через module.exports в других documents.js

В принципе, мне нужно, чтобы, если я отправлю команду, бот удалит мое сообщение и опубликует комментарий встраивание на определенном канале. Это то, что у меня есть (упрощение):

 module.exports = {
    name: 'chtest',
    execute(message, args, Discord) {
        let chComment = 'Normal comment';
            chComment  = 'nLine2';
            message.channel.send(chComment)
        const chEmbed = blablaEmbedCode
            message.channel.send(chEmbed)
        message.delete();
    },s
};
 

Я прочитал другие вопросы, и они используют

client.channels.cache.get(`Channel_ID`).send('Text')

Я попытался использовать его, но получил ошибку ReferenceError: client is not defined

Я добавил клиента в свою строку выполнения: execute(client, message, args, Discord) {

И теперь у меня есть еще одна ошибка TypeError: Cannot read property 'cache' of undefined

И… Я не знаю, что теперь делать. Есть какие-нибудь решения? Заранее спасибо.

Ответ №1:

Попробуйте сделать это, используя свойство Message класса. client Вот документы для этого.

 module.exports = {
    name: 'chtest',
    execute(message, args, Discord) {
        let channel = message.client.channels.cache.get('CHANNEL_ID');
   //channel is now the channel, unless it could not be found.
channel.send('Message');     
/*let chComment = 'Normal comment';
            chComment  = 'nLine2';
            message.channel.send(chComment)
        const chEmbed = blablaEmbedCode
            message.channel.send(chEmbed)
        message.delete();*/
    },
};
 

Комментарии:

1. О, я понимаю, большое вам спасибо!! Я проверил это, это сработало!