Discord.js 欢迎消息将用户显示为一堆数字而不是实际用户名

Alf*_*008 -2 javascript node.js discord discord.js

bot.on('guildMemberAdd', member =>{

    const welcomeEmbed = new Discord.MessageEmbed()
    .setTitle(`A new user has joined the server, everyone welcome ${member.user}!`)

    const channel = member.guild.channels.cache.find(channel => channel.name === "welcome-channel");
    if(!channel) return;

    channel.send(welcomeEmbed)
});
Run Code Online (Sandbox Code Playgroud)

小智 5

那是因为你不能在嵌入的标题中提及某人,

所以它所做的是将其转换为 user_id 模式,例如 <@id_here>

使用用户类来提及某人为实际消息工作,例如:

message.chanenl.send(`${message.user} hey`);
Run Code Online (Sandbox Code Playgroud)

那会提到用户,并回复“嘿”,

但就像我之前在嵌入标题中所说的那样,您不能提及某人。

所以最好的选择是使用他们的用户名:

const welcomeEmbed = new Discord.MessageEmbed()
.setTitle(`A new user has joined the server, everyone welcome ${member.user.username}!`);
Run Code Online (Sandbox Code Playgroud)