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)
});

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

所以它的作用是将其转换为user_id模式,就像<@id_here>

使用用户类提及某人适用于实际消息,例如:

message.chanenl.send(`${message.user} hey`);

这将提到用户,并回答"嘿",

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

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

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

如果你想提到他们,你可以使用他们的 ID :

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

最新更新