Javascript 如何与家长创建不和谐频道?
我正在Discord.js中制作一个Discord机器人。我有一个函数可以做到这一点:Javascript 如何与家长创建不和谐频道?,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,我正在Discord.js中制作一个Discord机器人。我有一个函数可以做到这一点: 函数createChannel(){ randomString=crypto.randomBytes(12).toString('hex'); const randomCategory=message.guild.channels.create(随机字符串{ 类型:'类别', 许可证覆盖:[ { id:message.guild.id, 允许:[“查看频道”], }, ], }); message.guild
函数createChannel(){
randomString=crypto.randomBytes(12).toString('hex');
const randomCategory=message.guild.channels.create(随机字符串{
类型:'类别',
许可证覆盖:[
{
id:message.guild.id,
允许:[“查看频道”],
},
],
});
message.guild.channels.create(随机字符串{
键入:“文本”,
父项:randomCategory.id,
许可证覆盖:[
{
id:message.guild.id,
允许:[“查看频道”],
},
],
});
message.guild.channels.create(随机字符串{
键入:“声音”,
父项:randomCategory.id,
许可证覆盖:[
{
id:message.guild.id,
允许:[“查看频道”],
},
],
});
}
这将创建一个类别,并使用具有相同名称的语音和文本频道填充该类别。但是,当我运行它时,频道无法正确设置其父频道。根据,您应该将频道作为父频道而不是id进行传递。在创建子频道之前,您可能还应该等待类别创建
异步函数createChannel(){
const randomString=crypto.randomBytes(12).toString('hex');//在此处添加了const,因为您从未覆盖
const randomCategory=wait message.guild.channels.create(随机字符串,{
类型:'类别',
权限覆盖:[{
id:message.guild.id,
允许:[“查看频道”],
}]
});
等待消息。帮会。频道。创建(随机字符串{
键入:“文本”,
父:随机类别,
权限覆盖:[{
id:message.guild.id,
允许:[“查看频道”],
}]
});
等待消息.guild.channels.create(随机字符串,{
键入:“声音”,
父:随机类别,
权限覆盖:[{
id:message.guild.id,
允许:[“查看频道”],
}]
});
}
guild.channels.create
返回一个承诺,因此您需要使用.then()
方法或异步等待以获取randomCategory
。目前,这只是一个待定的承诺,而不是返回的类别:
//使函数成为异步函数
异步函数createChannel(){
randomString=crypto.randomBytes(12).toString('hex');
//用等待来等待承诺的解决
const randomCategory=wait message.guild.channels.create(随机字符串{
类型:'类别',
许可证覆盖:[
{
id:message.guild.id,
允许:[“查看频道”],
},
],
});
message.guild.channels.create(随机字符串{
键入:“文本”,
//传递randomCategory对象,而不仅仅是id
父:随机类别,
许可证覆盖:[
{
id:message.guild.id,
允许:[“查看频道”],
},
],
});
message.guild.channels.create(随机字符串{
键入:“声音”,
//传递randomCategory对象,而不仅仅是id
父:随机类别,
许可证覆盖:[
{
id:message.guild.id,
允许:[“查看频道”],
},
],
});
}
它似乎工作得很好:
也许您正在寻找randomCategory.parentID