彩虹一號
彩虹一號

Reputation: 43

Embed Message discord.js by module

I use module to create the command and then I want to use embed massage on there.There are my code

const { MessageEmbed } = require('discord.js')

module.exports = {
    data: new SlashCommandBuilder()
        .setName('info')
        .setDescription('Check info'),
    data: new MessageEmbed()
           .setTitle('Hello'),
    async execute(interaction) {
        await interaction.reply(`User info ${interaction.user.tag}\n Userid${interaction.user.id}\n Create Time ${interaction.user.createdAt}`);
    },
}

When I run the command,I get this.How I can fix it

0.name[BASE_TYPE_REQUIRED]: This field is required
0.type[NUMBER_TYPE_COERCE]: Value "rich" is not int.
rawError: {
    code: 50035,
    errors: { '0': [Object] },
    message: 'Invalid Form Body'
  }

Upvotes: 1

Views: 625

Answers (2)

userN08
userN08

Reputation: 101

You can try this:

const { MessageEmbed } = require('discord.js')

module.exports = {
    data: new SlashCommandBuilder()
        .setName('info')
        .setDescription('Check info'),
    async execute(interaction) {
        let embed = new MessageEmbed()
        .setTitle("Title...")
        .setDescription("Description...")
        await interaction.reply({ embeds: [embed] });
    },
}

Upvotes: 1

Compositr
Compositr

Reputation: 737

You are declaring the data key twice, which is probably what you don't want to do. Try this:

const { MessageEmbed } = require('discord.js')

module.exports = {
    data: new SlashCommandBuilder()
        .setName('info')
        .setDescription('Check info'),
    async execute(interaction) {
        await interaction.reply({
            embeds: [
                new MessageEmbed().setTitle("Title").setDescription("Description...")
            ]
        });
    },
}

Upvotes: 0

Related Questions