我试图找出谁邀请了用户加入,但是当我尝试获得邀请使用次数时,我会不断得到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], ...]
到目前为止,我已经仔细检查过,并且该漫游器拥有服务器中的所有权限,并确保有已使用服务器的邀请。只能自我帐户查看邀请用途吗?
答案 0 :(得分:1)
问题是您正在呼叫get_invite
而不是使用Invite
中的Guild.invites
。 get_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)