You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 04:06:04