Как я могу исправить это встроенное сообщение в discord.js . я использовал обработчик команд

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

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

Вопрос:

вот код =

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

если кто-нибудь может мне помочь и, пожалуйста, быстро

пожалуйста, исправьте эту ошибку. или помогите мне исправить эту ошибку

tst.js =

 module.exports = {
    name: 'tst',
    description: "this is a ping command!",
    execute(message, args, Discord) {
        const embed = new Discord.MessageEmbed()
        .setAuthor(message.author.username)
        .setDescription("testcmd")
        .setColor("#3535353")
        .addField("Usuario", '${message.author.username}#${message.author.discriminator}')
        .addField("ID", message.author.id)
        .addField("JunayedRafi", message.author.createdAt);
    
    message.channel.send(embed);
    }
}
 

index.js =

 const Discord = require('discord.js');
const client = new Discord.Client();
 
const prefix = '-';
 
const fs = require('fs');
 
client.commands = new Discord.Collection();
 
const commandFiles = fs.readdirSync('./commands/').filter(file => file.endsWith('.js'));
for(const file of commandFiles){
    const command = require(`./commands/${file}`);
 
    client.commands.set(command.name, command);
}
 
 
client.once('ready', () => {
    console.log('Muricraft is online!');
});
 
client.on('message', message =>{
    if(!message.content.startsWith(prefix) || message.author.bot) return;
 
    const args = message.content.slice(prefix.length).split(/  /);
    const command = args.shift().toLowerCase();
 
    if(command === 'ping'){
        client.commands.get('ping').execute(message, args);
    } else {
        if(command === 'tst'){
            client.commands.get('tst').execute(client, message, args, Discord)

        }
        
    }
});

client.login('token');
 

вот ошибка = (если я набираю -tst в discord, появляется эта ошибка

 PS E:SOFTOWER INFODiscord botMuricraft> node .
Muricraft is online!
E:SOFTOWER INFODiscord botMuricraftcommandstst.js:5
        const embed = new Discord.MessageEmbed()
                      ^

TypeError: Discord.MessageEmbed is not a constructor
 

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

1. Какая версия discord.js вы употребляете?

2. @ArunKumarMohan собирался спросить то же самое.

3. @Арун Кумар Мохан новая версия discord.js

4. @JunayedRafi Ваш код должен работать нормально, если вы используете v12.

Ответ №1:

Сначала вам нужно импортировать Discord пакет перед использованием MessageEmbed() . Затем ваш скрипт должен начинаться так

 const Discord = require('discord.js');
module.exports = {
    name: 'tst',
  
//The rest of the code

 

Или вызывайте MessageEmbed конструктор только так

 const { MessageEmbed: Embed } = require('discord.js'); //Embed is the name of variable
module.exports = {
    name: 'tst',
  
//The rest of the code
 

С помощью последнего варианта вы можете создать новую вставку, подобную этому примеру

 const embed = new Embed().setDescription("Hello World");
 

Надеюсь, я помог 🙂