【问题标题】:Discord.js: Bot should mention user who did the commandDiscord.js:机器人应该提到执行命令的用户
【发布时间】: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"]});
}

});

【问题讨论】:

    标签: javascript discord.js


    【解决方案1】:

    您可以使用msg.author.id

    msg.channel.send(`<@${msg.author.id}> any text`);
    

    将允许您在同一条消息中以提及的方式向用户提及

    &lt;@UserID&gt; 提到了一个用户

    &lt;#ChannelID&gt; 提到了一个频道

    &lt;@&amp;RoleID&gt; 提到了一个角色

    【讨论】:

      【解决方案2】:

      字符串化的用户对象将解析为提及。 发送 2 条消息,1 条用于提及,2 条用于内容

      msg.channel.send(msg.author);
      msg.channel.send(texts, {files: ["./jpg/" + randomJpg + ".jpg"]});
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-08-21
        • 2020-11-02
        • 2021-11-21
        • 2021-04-18
        • 2021-11-10
        • 2021-09-04
        • 2021-08-30
        • 2021-06-02
        相关资源
        最近更新 更多