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

Mik*_*key 3 javascript node.js 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);
    });
Run Code Online (Sandbox Code Playgroud)

并且,它显示以下内容:(顺便说一句,我是hieyou1#6009)[带有message.delete(); 禁用]

标签不存在

执行时没有控制台日志。

And*_*dré 5

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

message.channel.send(`Hey ${message.author} how's it going?`);
Run Code Online (Sandbox Code Playgroud)

或使用旧的方式连接字符串:

message.channel.send("Hey " + message.author + " how's it going?");
Run Code Online (Sandbox Code Playgroud)