创建后检索通道的ID



我正在尝试同时创建一个类别和一个通道,将通道的父级设置为所述类别。不过,当我在频道缓存中搜索时,它会为我正在搜索的类别返回未定义的结果。

message.guild.channels.create(`Category ${f.number}`, {
type: 'category',
permissionOverwrites: [
{
//everyone
id: '762492106156539945',
deny: ['VIEW_CHANNEL']
},
{
//verified
id: '763048301552992346',
allow: ['VIEW_CHANNEL']
}
]
});
message.guild.channels.create(`cat-${f.number}-chat`, {
type: 'text'
}).then(channel => {
var category = message.guild.channels.cache.get("name", `Category ${f.number}`);
channel.setParent(category.id);
}).catch(console.error);

控制台正在打印";TypeError:无法读取未定义的"的属性"id";。稍后我还需要以某种方式删除频道和类别。

首先使用Promise.all等待两个创建完成

const categoryPromise = message.guild.channels.create(`Category ${f.number}`, {
type: 'category',
permissionOverwrites: [
{
//everyone
id: '762492106156539945',
deny: ['VIEW_CHANNEL']
},
{
//verified
id: '763048301552992346',
allow: ['VIEW_CHANNEL']
}
]
});
const channelPromise = message.guild.channels.create(`cat-${f.number}-chat`, {
type: 'text'
})
Promise.all([categoryPromise, channelPromise])
.then(([category, channel]) => {
channel.setParent(category);
}).catch(console.error);

最新更新