#MemberAdd

1 messages · Page 1 of 1 (latest)

worthy shoal
#

How can I send member add by and the username of that who add them,Extra how to know wchich invite link did he used to join

steady jasperBOT
#

Hey! Once your issue is solved, press the button below to close this thread!

worthy shoal
#

I found a way

#
import interactions 
from interactions import listen
from interactions.api.events import MemberAdd,MemberRemove

bot = interactions.Client()

invites = {}

@listen()
async def on_startup():
    for guild in bot.guilds:
        invites[guild.id] = await guild.fetch_invites()
    print(f"INFO     {bot.user} Starts")

def find_invite_by_code(invite_list, code):
    for inv in invite_list:
        if inv.code == code:
            return inv

@listen()
async def memberjoin(event:MemberAdd):
    member = event.member
    invites_before_join = invites[member.guild.id]
    invites_after_join = await member.guild.fetch_invites()
    for invite in invites_before_join:
        if invite.uses < find_invite_by_code(invites_after_join, invite.code).uses:
            print(f"Member {member.display_name} Joined")
            print(f"Invite Code: {invite.code}")
            print(f"Inviter: {invite.inviter}")
            invites[member.guild.id] = invites_after_join
            return

@listen()
async def memberleave(event:MemberRemove):
    member=event.member
    invites[member.guild.id] = await member.guild.fetch_invites()

bot.start("YOURTOKEN")