【问题标题】:Discord js, TypeError: Supplied parameter was neither a User nor a RoleDiscord js,TypeError:提供的参数既不是用户也不是角色
【发布时间】:2020-08-20 04:34:32
【问题描述】:

我正在尝试制作一个机器人,当输入命令时,它会更改该用户的频道权限。但是,在尝试覆盖权限时,我不断收到此类型错误。

TypeError: 提供的参数既不是用户也不是角色。

我不断收到错误,指向 message.member.id ,任何与此相关的问题都与角色而不是用户有关。


        const permissions = new Permissions([  
        'MANAGE_CHANNELS',
        'EMBED_LINKS',
        'ATTACH_FILES',
        'READ_MESSAGE_HISTORY',
        'MANAGE_ROLES',
        ]);

        const nextChannel = message.guild.channels.find(channel => channel.name === "b2");
        nextChannel.overwritePermissions([
            {
                id: message.member.id,
                deny: permissions,
            },
        ]);

【问题讨论】:

    标签: node.js discord discord.js


    【解决方案1】:

    这是下面的解决方案 - 假设您使用的是 v11

    nextChannel.overwritePermissions(message.author.id
                {
                  SEND_MESSAGES: false
                },
            );
    

    我希望这可以帮助您继续。

    【讨论】:

    • 感谢您的帮助。但是,这也出现了同样的错误。
    • 为之前的错误信息道歉。这应该可以解决您的问题。但是,我不知道new Permissions([]) 在这方面的效果如何。
    【解决方案2】:

    如错误所述,您没有提供UserRole 您提供了GuildMember

    您需要将message.member.id 替换为message.user.id

    【讨论】:

    • 谢谢,但是在尝试这个时,它给了我以下错误。 ```TypeError:无法读取未定义的属性“id”
    • 你试过message.author吗?没有.id
    • 您使用的是什么版本的 discord.js?你使用的是什么版本的节点?
    猜你喜欢
    • 2021-08-13
    • 2021-01-22
    • 2019-09-23
    • 2021-11-15
    • 1970-01-01
    • 2021-04-06
    • 1970-01-01
    • 2019-05-13
    • 1970-01-01
    相关资源
    最近更新 更多