提供的参数既不是用户也不是角色。 DiscordJS v12

时间:2020-10-07 07:22:58

标签: node.js discord discord.js

我试图创建一个突变角色,我不能限制消息和反应。

(节点:7044)UnhandledPromiseRejectionWarning:TypeError [INVALID_TYPE]:提供的参数既不是用户也不是角色。

const muteRole = message.guild.roles.create({
                    data: {
                        name: 'test - Muted',
                        color: '#F3FF00',
                    },
                });
                message.guild.channels.cache.forEach(async (channel)=> {
                    await channel.overwritePermissions([
                        {
                            SEND_MESSAGES: false,
                            ADD_REACTIONS: false,
                        },
                    ]);
                });

1 个答案:

答案 0 :(得分:0)

我相信您实际上是在寻找Channel.updateOverwrite()。无论哪种方式,您都会收到此错误,因为两个功能都需要一个角色或用户ID(否则,他们将如何知道谁更改权限 for )。

// create the role
message.guild.roles.create({
  data: {
    name: 'test - Muted',
    color: '#F3FF00',
  },
}).then((role) => {
  message.guild.channels.each((channel) => { // iterate through all channels
    channel.updatePermissions(role,  { // identify the role to update
      {
        SEND_MESSAGES: false, // set the overwrites
        ADD_REACTIONS: false,
      },
   );
  });
});