Invitation.uses返回无

时间:2018-09-30 17:50:59

标签: python python-3.x discord.py discord.py-rewrite

我试图找出谁邀请了用户加入,但是当我尝试获得邀请使用次数时,我会不断得到None。这是我的代码:

 @client.event
    async def on_ready(self):
        global before_invites
        before_invites = []
        for guild in self.client.guilds:
            for invite in await guild.invites():
                invite = await self.client.get_invite(invite)
                x = [invite.url, invite.uses, invite.inviter.id]
                before_invites.append(x)
            print(before_invites)

然后打印出[['http://discord.gg/xxxxxxx', None, 01234567890123456789], ['http://discord.gg/xxxxxxx', None, 01234567890123456789], ...]

到目前为止,我已经仔细检查过,并且该漫游器拥有服务器中的所有权限,并确保有已使用服务器的邀请。只能自我帐户查看邀请用途吗?

1 个答案:

答案 0 :(得分:1)

问题是您正在呼叫get_invite而不是使用Invite中的Guild.invitesget_invite使用Discord API的GET Invite端点,该端点仅返回邀请对象,不包括其元数据。相反,Guild.invites使用GET Channel Invites端点,该端点确实返回元数据对象。

只需直接使用来自Guild.invites的邀请:

@client.event
async def on_ready(self):
    global before_invites
    before_invites = []
    for guild in self.client.guilds:
        for invite in await guild.invites():
            x = [invite.url, invite.uses, invite.inviter.id]
            before_invites.append(x)
        print(before_invites)