How can I remove from the invites from a user that has left the guild?

Viewed 247

This is my current code :

@client.event
async def on_member_join(member):
    guild = client.get_guild(761604402142248960)
    channel = client.get_channel(762721485193740348)
    inviter = await tracker.fetch_inviter(member)
    emoji = discord.utils.get(guild.emojis, name='verify')
    totalInvites = 0
    for i in await guild.invites():
        if i.inviter == inviter:
            totalInvites += i.uses
    await channel.send(f"{member.mention} a été invité par {inviter} qui possède désormais {totalInvites} invitations {emoji} !")

But I don't know how to remove the users that left the guild. Can anybody help?

1 Answers

As derw said in his reply, you will want to use the on_member_remove event. You will also want to iterate through the guild invites, find the one who's inviter id matches the invite id, and delete the invite.

@client.event
async def on_member_remove(member):
    for i in member.guild.invites: # Iterate through every invite...

        if i.inviter.id == member.id: # Check if the invite's inviter id is the member id

            await invite.delete(reason="User left the guild") # Delete the invite!
Related