我如何通过其邀请链接获得公会? discord.js

时间:2020-07-10 16:46:16

标签: discord.js

我一直在互联网上浏览,找不到我的问题的答案,

我正在尝试通过其邀请链接获得公会,所以像我有一个不和谐的邀请链接,例如https://discord.com/invite/ainvitecodegoeshere,现在我希望我的discord.js机器人仅使用邀请代码来获取其公会ID。 , 那可能吗?如果可以,我该怎么办?

2 个答案:

答案 0 :(得分:1)

const Invite = "InviteCode"; // Example: bM2Ae2

client.guilds.cache.forEach(guild => { // Looping through all the guilds your bot is in.
    guild.fetchInvites().then(invites => { // Fetching the invites of the guild.
        invites.forEach(invite => { // Looping through all the invites of the guild.
            if (invite.code == Invite) { // Checking if the invite code matches.
                message.channel.send(`Found guild : ${guild.name} | ${guild.id}`);
            }
        })
    })
});

我个人使用普通循环,因为您无法停止.forEach()循环,即使找到了您要寻找的公会,它也会继续循环通过公会。

注意:您的漫游器必须位于要查找的公会中。

答案 1 :(得分:0)

我知道这是一个很老的帖子,但你可以通过 discord api 获取公会 ID。您可以找到指向文档 here

的链接

如果您有邀请链接,则可以通过获取 https://discord.com/api/invites/[code] 来使用该 API,其中 [code] 是邀请代码。 它会返回一些公会信息,包括公会 ID,即使你的机器人不在其中。要获取公会对象,您可以使用:

const guild = client.guilds.cache.get('guildID')