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

Discord Bot使用/get info member命令时出现TypeError: Cannot read properties of undefined (reading 'getMember')错误求助

Discord Bot使用/get info member命令时出现TypeError: Cannot read properties of undefined (reading 'getMember')错误求助

嘿,我帮你揪出了几个问题,咱们一个个来解决:

1. 最直接的错误:属性名拼写错误

你在info.js的member子命令里写了interaction.option.getMember("member"),这里的option是单数,但正确的属性名是复数的options!因为interaction对象里存储命令选项的是options属性,单数的option根本不存在,所以才会抛出“Cannot read properties of undefined”的错误——你在一个不存在的属性上调用getMember方法,自然会报错。

2. 隐藏的拼写小问题

还有个容易忽略的细节:member.user.avaterURL里的avater拼错了,正确的是avatar,写成avatarURL才对,不然后面生成嵌入消息的时候会因为找不到这个方法而报错。

3. 必要的权限意图补充

你的Bot客户端初始化时只加了GatewayIntentBits.Guilds意图,但要获取成员的加入时间这类信息,还需要添加GatewayIntentBits.GuildMembers意图,不然Discord API不会返回这些成员相关的敏感数据,后续可能还会出现其他报错。


修正后的代码片段

首先是index.js里的客户端初始化部分:

const client = new Client({
  intents: [
    GatewayIntentBits.Guilds,
    GatewayIntentBits.GuildMembers // 新增这个意图
  ]
})

然后是info.js里的member子命令部分:

case "member": {
  // 修正:用interaction.options(复数)
  const member = interaction.options.getMember("member")
  interaction.reply({embeds: [
    new EmbedBuilder()
      .setTitle(`Infos über ${member.user.tag}`)
      // 修正拼写:avatarURL
      .setThumbnail(member.user.avatarURL({dynamic: true}))
      .addFields([
        {
          name: "Account erstellt",
          value: `<t:${Math.round(member.user.createdTimestamp/1000)}>`,
        },
        {
          name: "Joined Server",
          value: `<t:${Math.round(member.joinedTimestamp/1000)}>`,
          inline:true
        }
      ])
  ]})
  break
}

把这些修改完之后,你的/info member命令应该就能正常工作啦!

备注:内容来源于stack exchange,提问作者Gilles

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 14:19:28