Javascript 在discord.js中设置频道权限时出现问题

Javascript 在discord.js中设置频道权限时出现问题,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,我有一个ticket命令,它创建了一个ticket通道,运行该命令的人和工作人员都可以看到。但最近,它突然停止了工作。它不设置权限。但频道是创建的。下面是给出错误的代码 注意:ssi、hos、ssi和类似内容都是返回角色id的变量 message.guild.channels .create(message.author.username + "-" + String(ticketid), "text") .then(channel => { let

我有一个ticket命令,它创建了一个ticket通道,运行该命令的人和工作人员都可以看到。但最近,它突然停止了工作。它不设置权限。但频道是创建的。下面是给出错误的代码

注意:ssi、hos、ssi和类似内容都是返回角色id的变量

      message.guild.channels
    .create(message.author.username + "-" + String(ticketid), "text")
    .then(channel => {
      let category = client.channels
        .fetch("693131250667356272")
        .then(category => {
          channel.setParent(category);
        });
      channel.overwritePermissions([
        {
          id: message.member.id,
          allow: [
            "VIEW_CHANNEL",
            "SEND_MESSAGES",
            "READ_MESSAGE_HISTORY",
            "ATTACH_FILES"
          ]
        },
        {
          id: sm,
          allow: [
            "VIEW_CHANNEL",
            "SEND_MESSAGES",
            "READ_MESSAGE_HISTORY",
            "ATTACH_FILES"
          ]
        },
        {
          id: channel.guild.roles.everyone,
          deny: [
            "VIEW_CHANNEL",
            "SEND_MESSAGES",
            "READ_MESSAGE_HISTORY",
            "ATTACH_FILES"
          ]
        },
        {
          id: ssi,
          allow: [
            "VIEW_CHANNEL",
            "SEND_MESSAGES",
            "READ_MESSAGE_HISTORY",
            "ATTACH_FILES"
          ]
        },
        {
          id: hos,
          allow: [
            "VIEW_CHANNEL",
            "SEND_MESSAGES",
            "READ_MESSAGE_HISTORY",
            "ATTACH_FILES"
          ]
        },
        {
          id: m,
          allow: [
            "VIEW_CHANNEL",
            "SEND_MESSAGES",
            "READ_MESSAGE_HISTORY",
            "ATTACH_FILES"
          ]
        },
        {
          id: si,
          allow: [
            "VIEW_CHANNEL",
            "SEND_MESSAGES",
            "READ_MESSAGE_HISTORY",
            "ATTACH_FILES"
          ]
        },
        {
          id: tm,
          allow: [
            "VIEW_CHANNEL",
            "SEND_MESSAGES",
            "READ_MESSAGE_HISTORY",
            "ATTACH_FILES"
          ]
        },
        {
          id: tsi,
          allow: [
            "VIEW_CHANNEL",
            "SEND_MESSAGES",
            "READ_MESSAGE_HISTORY",
            "ATTACH_FILES"
          ]
        }
      ]);
      channel.send(
        "<@" +
          message.author.id +
          "> Here is your ticket channel. Please explain your problem in detail and a staff member will reply in this channel soon. When you want to close the ticket, do `,ticket close`"
      );
    });
message.guild.channels
.create(message.author.username+“-”+字符串(ticketid),“text”)
。然后(频道=>{
让category=client.channels
.fetch(“693131250667356272”)
。然后(类别=>{
channel.setParent(类别);
});
channel.overwritePermissions([
{
id:message.member.id,
允许:[
“查看频道”,
“发送消息”,
“读取消息和历史记录”,
“附加文件”
]
},
{
id:sm,
允许:[
“查看频道”,
“发送消息”,
“读取消息和历史记录”,
“附加文件”
]
},
{
id:channel.guild.roles.everyone,
否认:[
“查看频道”,
“发送消息”,
“读取消息和历史记录”,
“附加文件”
]
},
{
id:ssi,
允许:[
“查看频道”,
“发送消息”,
“读取消息和历史记录”,
“附加文件”
]
},
{
id:居屋,
允许:[
“查看频道”,
“发送消息”,
“读取消息和历史记录”,
“附加文件”
]
},
{
id:m,
允许:[
“查看频道”,
“发送消息”,
“读取消息和历史记录”,
“附加文件”
]
},
{
id:si,
允许:[
“查看频道”,
“发送消息”,
“读取消息和历史记录”,
“附加文件”
]
},
{
id:tm,
允许:[
“查看频道”,
“发送消息”,
“读取消息和历史记录”,
“附加文件”
]
},
{
id:tsi,
允许:[
“查看频道”,
“发送消息”,
“读取消息和历史记录”,
“附加文件”
]
}
]);
频道发送(
“这是您的票务频道。请详细解释您的问题,工作人员将很快在此频道回复。当您要关闭票务时,请执行”“票务关闭”“。”
);
});
错误是它设置权限的地方。这是印刷品

(node:2507) UnhandledPromiseRejectionWarning: TypeError [INVALID_TYPE]: Supplied parameter is not an User nor a Role.
   at Function.resolve (/rbd/pnpm-volume/1610b021-5dc3-42d8-a00c-f4489c1bc502/node_modules/.registry.npmjs.org/discord.js/12.0.2/node_modules/discord.js/src/structures/PermissionOverwrites.js:177:28)
    at /rbd/pnpm-volume/1610b021-5dc3-42d8-a00c-f4489c1bc502/node_modules/.registry.npmjs.org/discord.js/12.0.2/node_modules/discord.js/src/structures/GuildChannel.js:338:92
    at Array.map (<anonymous>)
    at TextChannel.edit (/rbd/pnpm-volume/1610b021-5dc3-42d8-a00c-f4489c1bc502/node_modules/.registry.npmjs.org/discord.js/12.0.2/node_modules/discord.js/src/structures/GuildChannel.js:338:62)
    at TextChannel.overwritePermissions (/rbd/pnpm-volume/1610b021-5dc3-42d8-a00c-f4489c1bc502/node_modules/.registry.npmjs.org/discord.js/12.0.2/node_modules/discord.js/src/structures/GuildChannel.js:211:17)
at /app/server.js:264:19
    at processTicksAndRejections (internal/process/task_queues.js:88:5)
(node:2507) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
(node:2507) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
(节点:2507)未处理的PromisejectionWarning:TypeError[无效类型]:提供的参数既不是用户也不是角色。
位于Function.resolve(/rbd/pnpm volume/1610b021-5dc3-42d8-a00c-f4489c1bc502/node_modules/.registry.npmjs.org/discord.js/12.0.2/node_modules/discord.js/src/structures/permissions overwrites.js:177:28)
at/rbd/pnpm volume/1610b021-5dc3-42d8-a00c-f4489c1bc502/node_modules/.registry.npmjs.org/discord.js/12.0.2/node_modules/discord.js/src/structures/GuildChannel.js:338:92
在Array.map()处
在TextChannel.edit(/rbd/pnpm volume/1610b021-5dc3-42d8-a00c-f4489c1bc502/node_modules/.registry.npmjs.org/discord.js/12.0.2/node_modules/discord.js/src/structures/GuildChannel.js:338:62)
在TextChannel.overwritePermissions(/rbd/pnpm volume/1610b021-5dc3-42d8-a00c-f4489c1bc502/node_modules/.registry.npmjs.org/discord.js/12.0.2/node_modules/discord.js/src/structures/GuildChannel.js:211:17)
at/app/server.js:264:19
在处理和拒绝时(内部/process/task_queues.js:88:5)
(节点:2507)未处理的PromisejectionWarning:未处理的承诺拒绝。此错误源于在没有catch块的异步函数中抛出,或者拒绝未使用.catch()处理的承诺。(拒绝id:2)
(节点:2507)[DEP0018]弃用警告:未处理的承诺拒绝已弃用。将来,未处理的承诺拒绝将使用非零退出代码终止Node.js进程。

当您想要编辑everyone角色的权限时,您必须输入公会id,而不是角色本身