Discord.js如何获取用户用户名和标签 修复serverInfo命令setFooter返回undefined问题
问题原因
你代码中setFooter传入的${message.author.username.id}写法错误:message.author.username返回的是字符串类型的用户全局用户名,本身没有id子属性,因此调用后返回undefined。
修复方案
根据你需要展示的内容调整取值即可,示例修复代码如下:
let embed = new Discord.MessageEmbed() .setColor("GREEN") .setTitle("Server Information") .setDescription(`Server Name: **${message.guild.name}** \n ────────────────── \n Member Count: **${message.guild.memberCount}** \n ────────────────── \n Server ID: **${message.guild.id}** \n ──────────────────`) .setTimestamp() // 仅展示用户名就用message.author.username,要展示完整标签就用message.author.tag .setFooter(`Ran by: ${message.author.tag}`) message.channel.send(embed)
Discord.js 正确获取用户信息的方法
- 取用户全局用户名(不带#后缀):
message.author.username - 取用户完整标签(用户名+#四位识别码):
message.author.tag - 取用户唯一数字ID:
message.author.id - 取用户在当前服务器的自定义昵称(没有设置则返回全局用户名):
message.member.displayName
内容的提问来源于stack exchange,提问作者Simon Beya
相关产品推荐
相关产品推荐

