【问题标题】:Create synced category and channel创建同步的类别和频道
【发布时间】:2018-11-03 23:49:50
【问题描述】:

如果您手动创建新的子频道,它将同步到类别;但如果我用 js 创建一个就不行了。

我花了几个小时在谷歌上搜索和阅读文档,但我找不到任何东西。
这是我用来创建频道的:

message.guild.createChannel("Test", 'text').then(m => {
  m.setParent(category.id);
});

手动创建:

JS 创建的:

我可以手动设置权限,但我真的希望创建它们同步。

【问题讨论】:

标签: node.js discord.js


【解决方案1】:

编辑:我发现由于库中的错误,这不起作用。该错误已在11.4-dev 分支中使用this PR 修复。
如果你想使用它,你需要等待这个版本稳定或者在它正在开发的时候使用它。

您创建频道的方式是正确的。
对于权限,请尝试使用TextChannel.lockPermissions():它应该将该通道的权限绑定到父通道(类别通道)的权限。

message.guild.createChannel("Test", 'text').then(async m => {
  await m.setParent(category.id);
  await m.lockPermissions();
});

【讨论】:

  • 我不得不对其进行一些更改,以便通过将 setParent 包装在自己的 .then(m => m.setParent(category.id)) 上来运行它;但它似乎没有做我想要的。附言。我正在测试格式。
  • 我编辑了我的答案:没有注意到 .setParent() 是异步的。使用此代码重试。
  • 它运行正确但不同步权限,这使我的方向正确,所以我会看看我能找到什么。
  • 我发现:这段代码是对的,因为库中的一个错误它不起作用。您可以在答案中找到更多详细信息
  • 感谢您的帮助!我不想再要求了;但是我将如何安装开发分支? npm install discord.js@11.4-dev 没用
猜你喜欢
  • 2021-05-30
  • 1970-01-01
  • 1970-01-01
  • 2020-11-05
  • 1970-01-01
  • 2021-06-03
  • 1970-01-01
  • 2012-02-10
  • 2021-09-15
相关资源
最近更新 更多