Discord.js:机器人应该提到执行命令的用户
Posted
技术标签:
【中文标题】Discord.js:机器人应该提到执行命令的用户【英文标题】:Discord.js: Bot should mention user who did the command 【发布时间】:2021-08-04 20:48:45 【问题描述】:我正在为 Discord 制作一个机器人,作为第一个 JS 项目,它会在用户编写 !GIF 或 !JPG 命令后打印出 GIF 或图像。此外,它将添加一条消息。 如何在 GIF / 图片上方的消息中提及发出命令的用户?我尝试并进行了搜索,但找不到解决方案。
client.on("message", msg =>
const sentences = ["Here is your sh*", "Take that image and shove it!", "Lol ok..."]
const texts = sentences[Math.floor(Math.random() * sentences.length)];
if (msg.content === "!Commands")
msg.reply("Use '!GIF' for random GIFs and '!JPG'for random JPGs");
if (msg.content === "!GIF")
gifNumber = 6
var randomGif = Math.floor (Math.random() * (gifNumber - 1 + 1)) + 1;
msg.reply(texts, files: ["./gif/" + randomGif + ".gif"]);
if (msg.content ==="!JPG")
jpgNumber = 2
var randomJpg = Math.floor (Math.random() * (jpgNumber - 1 + 1)) + 1;
msg.reply(texts, files: ["./jpg/" + randomJpg + ".jpg"]);
);
【问题讨论】:
【参考方案1】:您可以使用msg.author.id
msg.channel.send(`<@$msg.author.id> any text`);
将允许您在同一条消息中以提及的方式向用户提及
<@UserID>
提到了一个用户
<#ChannelID>
提到了一个频道
<@&RoleID>
提到了一个角色
【讨论】:
【参考方案2】:字符串化的用户对象将解析为提及。 发送 2 条消息,1 条用于提及,2 条用于内容
msg.channel.send(msg.author);
msg.channel.send(texts, files: ["./jpg/" + randomJpg + ".jpg"]);
【讨论】:
以上是关于Discord.js:机器人应该提到执行命令的用户的主要内容,如果未能解决你的问题,请参考以下文章
检查用户是不是可以在提到的频道 discord.js 中发送消息