node.js - 在嵌入中提及用户
问题描述
我目前正在发出拥抱命令。我试图让我的机器人提到曾经命令的用户以及用户在使用命令时提到的用户,我的主要问题是机器人在嵌入之外发送'@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);
}
}
有什么建议为什么机器人将它发送到嵌入之外?
解决方案
你没有正确地做到这一点。
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);
推荐阅读
- ios - 在后台调用 ios 应用程序并在应用程序关闭或终止时执行一些代码
- javascript - 关于 mxGraph:如何先添加 Edge,然后添加自己的自定义属性,然后添加到图形中?
- c# - SSH.NET 中的 MySQL 端口转发 - 尝试以访问权限禁止的方式访问套接字
- powerbi - Power BI - 使用切片器从文件夹中获取文件
- c# - 单击按钮使用 Angular 打开带有附件的电子邮件(Outlook)
- amazon-web-services - AWS 放大身份验证如何删除重定向 uri
- spring - 无法在 STS 中创建 spring starter 项目
- java - 房间模式导出目录 - 找不到参数的方法 javaCompileOptions()
- ffmpeg - 为输出流 #1:2 打开编码器时出错 - 可能是不正确的参数,例如 bit_rate、rate、width 或 height
- angular - 在 Angular 中测试 utils 文件。最佳实践是什么?