【问题标题】:Creating an invite in a GuildCreate event在 GuildCreate 事件中创建邀请
【发布时间】:2020-10-09 15:26:45
【问题描述】:

所以我试图让我的机器人向它加入的每台服务器发送一个 DM,但我不断收到 API 错误:Unkown Channel

我的代码:

bot.on("guildCreate", async guild => {
guild.channels.first().createInvite().then(inv =>
bot.users.get(ownerID).send(`I have been added to **${guild.name}** | ${inv.url}`)
)
}); 

【问题讨论】:

    标签: discord.js


    【解决方案1】:

    好的,这是你的问题。几个月前我犯了同样的错误,这里是如何解决它。

    由于您使用的是 discord.js 版本 11,guild.channels 确实是一个集合,您可以在其上使用 .first()。在这种情况下,您不能这样做。

    这是我的解决方法:

    bot.on("guildCreate", async guild => {
        var channel;
        guild.channels.forEach(c => {
            if (c.type === "text" && !channel) channel = c;
        });
        channel.createInvite({ maxAge: 0 }).then(inv => bot.users.get(ownerID).send(`I have been added to **${guild.name}** | https://discord.gg/${inv.code}`));
    }); 
    

    这基本上循环遍历每个频道并找到一个有效的 TextChannel 来创建邀请。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-22
      • 1970-01-01
      相关资源
      最近更新 更多