首页 > 解决方案 > DiscordJS 发送嵌入 DM

问题描述

我正在开发一个命令来 DM 特定用户嵌入,这是我项目中的帮助菜单。我成功发送了正常消息,但我不知道如何在 DM 中发送嵌入!,我读到它需要另一种类型的嵌入。

module.exports = {
    name: 'costietare',
    description: "This is a help command.",
    async execute(client, message, args, Discord) {
        

   
        message.delete({timeout: 10});
        let dUser =
        message.guild.member(message.mentions.users.first()) ||
        message.guild.members.get(args[0]);
        if (!dUser) return message.channel.send("Can't find user!");
        if (!message.member.hasPermission('ADMINISTRATOR'))
        return message.reply("Insufficient Permissions!");


        let embed = new Discord.MessageEmbed()
        .setTitle('General Information')
        .setColor('YELLOW')
        .addFields(
            {name: 'Developer', value: '[m1](https://steamcommunity.com/id/catshvh)', inline:false},
            {name: '!commands', value: 'More Commands & Usage for the bot', inline:true},
            {name: 'BUY/Support', value: "[Click here to buy](https://discord.gg/4Qt3238jCy)", inline:true},
        )
        .setTimestamp()
    
 
        dUser.send(`Sunt tare, stiu`); << Here is the normal message that its perfectly fine and 
        dUser.send(`${embed}`); << this reply with **[object Object]**

        message.author.send(
            `${message.author} You have sent your message to ${dUser}`
           );    
        }

    
}

标签: javascriptdiscordembed

解决方案


假设您使用的是不和谐版本 12 或更低版本,请使用它来发送嵌入

const embed = new Discord.MessageEmbed().setDescription('test');
message.channel.send(embed);
// for users
dUser.send(embed); // 

如果您使用的是不和谐版本 13

const embed = new Discord.MessageEmbed().setDescription('test');
message.channel.send({ embeds: [embed] });
//for users (dms)
dUser.send({ embeds: [embed] });

它发送对象范围又名 [object Object] 因为您将嵌入对象包装在模板文字${}中,只需将嵌入对象作为普通参数传入,它应该可以工作


推荐阅读