Javascript 在discord.js中设置频道权限时出现问题
我有一个ticket命令,它创建了一个ticket通道,运行该命令的人和工作人员都可以看到。但最近,它突然停止了工作。它不设置权限。但频道是创建的。下面是给出错误的代码 注意:ssi、hos、ssi和类似内容都是返回角色id的变量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
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,而不是角色本身