如何在 discord.js 中使用 message.channel.send 正确标记用户

How to properly tag a user using message.channel.send in discord.js

如何在 discord.js 中使用 message.channel.send 正确标记用户?

这是我的代码:

function replaceAll(str, find, replacer) {
      return str.replace(new RegExp(find, 'g'), replacer);
    }
    Bot.on('message', (message) => {
      var mcontent = message.content;
      var mauth = message.author;
      var mtag = mauth.tag;
      if (mcontent.includes("@p")) {
        var newmsg = replaceAll(mcontent, "@p", "@" + mtag);
        message.delete();
        message.channel.send(newmsg);
    });

并且,它打印了这个:(顺便说一句,我是 hieyou1#6009)[使用 message.delete();禁用]

执行时没有控制台日志。

机器人的提及有点不同。您需要使用 <@userid>.
但是 Discord.JS 有一种更简洁的方式来提及用户,而不是使用 message.author.tag,只需使用 message.author。这将标记发送消息的用户。

message.channel.send(`Hey ${message.author} how's it going?`);

或者用老方法连接字符串:

message.channel.send("Hey " + message.author + " how's it going?");