我想制作一个设计服务器的机器人,以便它的工作是建立频道和角色,以便所有者不必浪费时间来设置服务器。这是我的代码:
if (message.content === 'tchannel') {
message.guild.channels.create('Important', {
type: 'category',
permissionOverwrites: [
{
id: message.guild.id,
allow: ['VIEW_CHANNEL'],
}]
})
message.guild.channels.create('Rules', {
type: 'text',
permissionOverwrites: [
{
id: message.guild.id,
allow: ['VIEW_CHANNEL'],
}]
})
message.channel.send("Channel Created!")
}
我想知道的是,是否有一种方法可以使文本通道连接到类别而不是单独创建?
(https://media.discordapp.net/attachments/730705963018879007/730771756784156752/lol.PNG)
答案 0 :(得分:1)
参数cat
不需要具有cat.parentID
。只需放入cat
,就可以了。
示例代码:
message.guild.channels.create('Important ', {
type: 'category',
position: 1,
permissionOverwrites: [
{
id: message.guild.id,
allow: ['VIEW_CHANNEL'],
}]
}).then(cat => {
message.guild.channels.create('Rules', {
type: 'text',
parent: cat,
permissionOverwrites: [
{
id: message.guild.id,
allow: ['VIEW_CHANNEL'],
}]
})
答案 1 :(得分:0)
只需添加.then方法并从中获取parentID即可。您可以将类别分配给变量,然后再将其分配给其他人。
message.guild.channels.create('Important', {
type: 'category',
permissionOverwrites: [
{
id: message.guild.id,
allow: ['VIEW_CHANNEL'],
}]
}).then(cat => {
message.guild.channels.create('Rules', {
type: 'text',
parent: cat.parentID,
permissionOverwrites: [
{
id: message.guild.id,
allow: ['VIEW_CHANNEL'],
}]
})
})
答案 2 :(得分:0)
我认为您的意思是执行命令创建通道时,它必须在当前通道的类别下创建它。
如果是这样,您需要这样做:
const category = client.channels.cache.get(message.channel.parentID)