javascript - 创建后检索频道 ID
问题描述
我正在尝试同时创建一个类别和一个频道,将频道的父级设置为所述类别。但是,当我搜索通道缓存时,它会为我正在搜索的类别返回 undefined。
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);
推荐阅读
- visual-studio-code - 我可以在 VSCode 编辑器中关联代码行吗?
- sql - SQL - 查找所有组合
- javascript - 使用透镜在数组上映射柯里化函数
- python-3.x - 使用标签创建和过滤 EC2
- matlab - Audioread 和 Audioinfo 返回不同数量的总样本?
- python - 如何使用基于 tolreance 的 python 比较两个列表值是否在同一范围内
- react-native - componentDidMount() 中的 setState() 在 APK 中引发错误
- c# - SOAP Web 服务 XML 区分大小写
- java - java.lang.IllegalStateException:已经连接(Discord JDA)
- google-api - Google 自定义搜索是否仍支持 XML 输出?