【问题标题】:I am unsure why it cannot read property 'id' even though the code was working yesterday我不确定为什么即使代码昨天工作它也无法读取属性“id”
【发布时间】:2021-08-27 14:39:30
【问题描述】:

我想知道为什么没有定义 id 以及如何解决它。我真的坚持这一点,因为该命令昨天工作得很好。有我不知道的更新吗?我的编码是不是完全错了?

这是我的代码:

const { Permissions } = require('discord.js')

module.exports = {
    name: 'test',
    description: "A test command",
    execute(client, message, args) {
        const member = message.mentions.users.first();
        const memberTarget = message.guild.members.cache.get(member.id);
        const roleOne = message.guild.roles.cache.find(role => role.name === "Role Name 1")
        const roleTwo = message.guild.roles.cache.find(role => role.name === "Role Name 2")

        if (!message.guild.roles.cache.find(role => role.name === "Role Name 1")) {

            message.guild.roles.create({
                data: {
                    name: "Role Name 1",
                    color: "#FF8CC5",
                    permissions: [Permissions.FLAGS.MANAGE_MESSAGES]
                }
            });
        }

        if (!memberTarget.roles.cache.has(roleOne.id)) {

            if (!memberTarget.roles.cache.has(roleTwo.id)) {
                message.channel.send("This member doesn't have either role!")
            } else {
                message.channel.send("This member has Role Two")
            }

        } else {
            message.channel.send("This member has Role One")
        }
    }
}

确切的错误是:

const memberTarget = message.guild.members.cache.get(member.id); ^ TypeError:无法读取未定义的属性“id”

【问题讨论】:

  • 这表明没有用户提及。确保您提及的是成员。
  • 我明白了,但是,我想问另一件事。昨天,我使用它的主要命令运行良好,它允许我在不提及玩家的情况下键入命令,导致它返回一条消息,说您需要提及某人。但是现在突然之间,我不得不提及别人,弹出一个错误。我真的很困惑为什么会突然发生这种情况。我不确定我是否稍微改变了我的命令,但我真的很想知道,如果你知道的话,我怎么能做到这一点
  • 您可能更改了代码或其他内容。要检查是否提到了用户,您只需在设置 memberTarget 之前检查 member 是否为空/未定义

标签: javascript discord discord.js


【解决方案1】:

在声明membertarget之前添加这个

if (!message.mentions.members.first()) return message.reply("Please mention a user")

编辑:if (!member) return message.reply("Mention a user first")

【讨论】:

    猜你喜欢
    • 2022-01-20
    • 1970-01-01
    • 2023-03-10
    • 2016-06-15
    • 1970-01-01
    • 1970-01-01
    • 2021-06-18
    • 2017-05-21
    • 2017-10-08
    相关资源
    最近更新 更多