当用户加入时,我试图找出是谁邀请的,但是当我试图获取使用了一个邀请的次数时,我就一直得到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], ...]
到目前为止,我已经进行了两次检查,并且bot在服务器中拥有所有权限,并确保已经使用的服务器有邀请。只有自己的帐户才能看到邀请的用途?
发布于 2018-09-30 19:42:14
问题是,您正在调用get_invite,而不是使用来自Guild.invites的Invite。get_invite使用不和谐API的GET Invite端点,它只返回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)https://stackoverflow.com/questions/52580564
复制相似问题