Permissions 从TextChannel-Discord.js获取权限

Permissions 从TextChannel-Discord.js获取权限,permissions,discord,discord.js,channel,Permissions,Discord,Discord.js,Channel,基本上,我需要从用户所在的当前文本频道获取权限。我已经得到了频道名称,如果我需要得到ID,这应该很容易做到 const Discord=require(“Discord.js”); module.exports.run=async(客户端、消息、参数)=>{ 让currentChannel=message.channel.name; let category=message.channel.parent;; message.guild.createChannel(当前频道)。然后(mcchann

基本上,我需要从用户所在的当前文本频道获取权限。我已经得到了频道名称,如果我需要得到ID,这应该很容易做到

const Discord=require(“Discord.js”);
module.exports.run=async(客户端、消息、参数)=>{
让currentChannel=message.channel.name;
let category=message.channel.parent;;
message.guild.createChannel(当前频道)。然后(mcchannel=>{
mchannel.setParent(类别)。然后(()=>{
message.channel.delete();
});
});
}
module.exports.help={
名称:“a.cleanchannel”
}
//需要频道权限才能用旧频道权限覆盖新频道的权限

预期结果是该频道应具有与旧频道相同的权限。

要直接回答您的问题,您可以使用以与旧频道相同的权限创建新频道。例如

message.guild.createChannel(message.channel.name{
键入:“文本”,
权限覆盖:message.channel.permissionOverwrites
});
但是,看起来您正在尝试克隆频道。为了简化这一过程,Discord.js中内置了一个方法。你可以这样使用它

message.channel.clone(未定义,true,true)//相同的名称,相同的权限,相同的主题
。然后(异步克隆=>{
等待clone.setParent(message.channel.parent);
等待clone.setPosition(message.channel.position);
等待message.channel.delete();
console.log(`Cloned#${message.channel.name}`);
})
.catch(控制台错误);

要直接回答您的问题,您可以使用创建与旧频道具有相同权限的新频道。例如

message.guild.createChannel(message.channel.name{
键入:“文本”,
权限覆盖:message.channel.permissionOverwrites
});
但是,看起来您正在尝试克隆频道。为了简化这一过程,Discord.js中内置了一个方法。你可以这样使用它

message.channel.clone(未定义,true,true)//相同的名称,相同的权限,相同的主题
。然后(异步克隆=>{
等待clone.setParent(message.channel.parent);
等待clone.setPosition(message.channel.position);
等待message.channel.delete();
console.log(`Cloned#${message.channel.name}`);
})
.catch(控制台错误);

我不知道克隆,它真的很棒!唯一需要记住的是,它不会保留父项和位置,因此您必须在之后设置它们。谢谢!你是个救命恩人。我不知道克隆人,真的很好!唯一需要记住的是,它不会保留父项和位置,因此您必须在之后设置它们。谢谢!你是救命恩人。