【问题标题】:Make an invite to every server bot is in向每个服务器机器人发出邀请
【发布时间】:2020-10-14 14:47:04
【问题描述】:

所以我想邀请每个服务器机器人在里面。 该机器人需要频道内的"CREATE_INSTANT_INVITE" 权限。

我做了这样的东西,但它似乎不起作用。

    client.guilds.cache.forEach(guild => {
        guild.channels.cache.first().createInvite()
          .then(inv => console.log(`${guild.name} | ${inv.url}`));
      });

错误:

DiscordAPIError: Unknown Channel

我认为我收到错误是因为 bot 尝试发出邀请,但他没有这样做的权限。

【问题讨论】:

    标签: bots discord discord.js


    【解决方案1】:

    下午好,

    first() 频道可能是一个类别。您无法在类别中发出邀请 :sob: 但是,您可以过滤公会的频道,以便不包括类别。 然后你需要获得一个random() 频道并记录它。

        client.guilds.cache.forEach(guild => {
            guild.channels.cache.filter(x => x.type != "category").random().createInvite()
              .then(inv => console.log(`${guild.name} | ${inv.url}`));
          });
    

    您的代码的其余部分很好,应该可以按预期工作。

    我希望这会有所帮助,别忘了给答案点赞,如果可行,请用打勾标记。

    【讨论】:

    • 是的,它可能是一个类别,另一个问题是机器人可能无权为该频道创建邀请
    • 您也可以使用.map() 来映射邀请列表,而不是单独遍历每个公会
    • 感谢您的帮助。
    • 没问题 :D 随时。
    猜你喜欢
    • 2021-11-20
    • 1970-01-01
    • 2021-01-28
    • 1970-01-01
    • 2021-09-05
    • 2020-11-19
    • 2022-07-01
    • 2021-11-10
    • 2021-09-13
    相关资源
    最近更新 更多