javascript 如何使用Discord.JS标记用户?

i2loujxw  于 2023-02-07  发布在  Java
关注(0)|答案(3)|浏览(137)

我希望创建一个命令,以标记某些用户自动使用他们的用户名,如"@RYAN#9602 "每当开关语句的情况下执行。目前的问题,我正在经历的,每当我尝试标记用户,它只是写"@RYAN#9602"到文本通道,并没有真正标记他们。
这是我曾经尝试过的:

var players = [
"@RYAN#9602"
]


switch(args[0].toLowerCase()){

 case "play":
            message.channel.send(players.join('\n'));
            break;
}

总之,使用Discord.JS,我如何让机器人真正标记用户,使他们得到'ping',而不是只是发送他们的名字到文本通道的消息?

8yoxcaq7

8yoxcaq71#

你有两个选择。
您可以在User对象上使用toString方法,也可以使用用户的ID自己创建提及。
下面是一个使用toString的示例:

client.on("message", => {
    const channel = message.channel;
    channel.send(message.author.toString());
});

下面是一个使用ID的示例

client.on("message", => {
    const channel = message.channel;
    channel.send("<@" + message.author.id + ">");
});
yzckvree

yzckvree2#

尝试使用toString方法。

client.on("message", => {
    const channel = message.channel;
    channel.send(message.author.toString());
});
lsmepo6l

lsmepo6l3#

2023年更新:现在您可以使用userMention()

const { Client, userMention } = require('discord.js');

client.on('interactionCreate', async interaction => {
    if (!interaction.isChatInputCommand()) return;

    ...

    interaction.reply(userMention(member.id));
});

相关问题