首页 > 解决方案 > TypeError [INVALID_TYPE]:提供的参数不是用户也不是角色

问题描述

我收到此错误:(节点:11624)UnhandledPromiseRejectionWarning:TypeError [INVALID_TYPE]:提供的参数不是用户也不是角色。

这是我的代码:

const sr = message.guild.roles.cache.get(supportrole)
const everyone = message.guild.roles.cache.find((role) => role.name === "@everyone")

c.updateOverwrite(sr, {
    SEND_MESSAGE: true,
    VIEW_CHANNEL: true
});

c.updateOverwrite(everyone, {
    SEND_MESSAGE: false,
    VIEW_CHANNEL: false
});

c.updateOverwrite(message.author, {
    SEND_MESSAGE: true,
    VIEW_CHANNEL: true
});

我该如何解决?

标签: javascriptnode.jsdiscorddiscord.js

解决方案


这一行:

const everyone = message.guild.roles.cache.find((role) => role.name === "@everyone")

是问题。您将无法在这些条件下找到职位。有趣的是,@everyone 角色与其所在的公会共享相同的 ID。因此,您可以改为使用:

const everyone = message.guild.roles.cache.get(message.guild.id)

推荐阅读