首页 > 解决方案 > 在嵌入中提及用户

问题描述

我目前正在发出拥抱命令。我试图让我的机器人提到曾经命令的用户以及用户在使用命令时提到的用户,我的主要问题是机器人在嵌入之外发送'@user has hugged @user',这里是我使用的代码

const messages = ["https://media.tenor.com/images/c6f27ebfd8657a83794329468c27197f/tenor.gif"]
module.exports = {
    name: 'embed',
    description: "hug embed",
    execute(message, args){
const randomMessage = messages[Math.floor(Math.random() * messages.length)]
const hugged = message.mentions.users.first();
const reply = message.reply(`has hugged! <@${hugged.id}>`);
if(!hugged) return message.reply('please mention who you want to hug');
    let embeddedHug = new Discord.MessageEmbed()
      .setDescription(reply)
      .setImage(randomMessage)
    message.channel.send(embeddedHug);
}
    }

有什么建议为什么机器人将它发送到嵌入之外?

标签: node.jsdiscord.js

解决方案


你没有正确地做到这一点。

message.reply()用于发送普通消息并在消息开头自动提及作者。

这就是你想要的。

const hugged = message.mentions.users.first();
const embedMessage = `<@!${message.author.id}> has hugged <@!${hugged.id}>`;

let embeddedHug = new Discord.MessageEmbed()
      .setDescription(embedMessage)
      .setImage(randomMessage)
message.channel.send(embeddedHug);

推荐阅读