【问题标题】:Discord.Js options objectDiscord.Js 选项对象
【发布时间】:2019-10-28 17:50:19
【问题描述】:

我实际上是在执行一个命令,开始与玩家进行“对话”并接受他给我的回应。为此,我计划使用临时频道。我没有找到创建频道的完整方法。我看到了,我们必须创建通道,然后修改它以根据需要进行调整。所以我有这个代码:

m.guild.createChannel(`Candidature-${m.author.username}`, 'text', [{
    type: 'role',
    id: '605021521467146279',
    permission: 0x400
  }])

出现此错误:

(node:1904) DeprecationWarning: Guild#createChannel: Create channels with an options object instead of separate parameters

我没有找到关于options object 的真实文档。我可以提供一些关于它的工作原理的信息,以及一些了解更多信息的链接吗?

感谢您的帮助。

【问题讨论】:

  • 您需要使用ChannelData Object。此外,role 不是类型,id 不是选项,0x400 不是文本通道的权限
  • 好的,谢谢,我试试看。

标签: discord.js


【解决方案1】:

我可以看到这里的混乱,因为现在创建频道的方式已经改变,这里是创建它们的方法:(var name = "blah" 不是必需的,但会稍微清理一下)

var name = `ticket-${numbers}`;
message.guild.createChannel(name, { type: "text" })

并且要像这样使用.then 的频道权限:

message.guild.createChannel(name, { type: "text" }).then(
  (chan) => {
  chan.overwritePermissions(message.guild.roles.find('name', '@everyone'), {
     'VIEW_CHANNEL': false
  })

您可以更改角色或将其更改为其他内容,例如message.author.id 或提及的用户等。

希望这会有所帮助!

【讨论】:

【解决方案2】:

感谢您的回答。我已经这样做了:

m.guild.createChannel(
      `Candidature-${m.author.username}`, {
        type: 'text',
        topic: `Salon de candidature créé par ${m.author.username} | Id du joueur : ${m.author.id}`,
        parent: idCategorie,
        permissionOverwrites: [{
            id: m.guild.id,
            deny: ['VIEW_CHANNEL'],
          },
          {
            id: m.author.id,
            allow: ['VIEW_CHANNEL'],
          }
        ]
      })
    .then((chan) => {

      console.log("Channel create");

    });

通过这些链接: https://discord.js.org/#/docs/main/stable/typedef/ChannelData https://discordjs.guide/popular-topics/permissions.html#roles-as-bot-permissions

它正在创建一个具有名称、主题和类别作为父级的频道。只有玩家本身和管理员才能看到该频道。

【讨论】:

    猜你喜欢
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    • 2021-11-17
    • 2016-10-10
    • 2012-07-29
    • 1970-01-01
    • 2020-10-01
    • 1970-01-01
    相关资源
    最近更新 更多