How to send private message to member in on_member_join() discord.py?

MicasiO :

This is what I have:

@client.command(pass_context=True)
@client.event
async def on_member_join(ctx, member):
    print(f'{member} has joined a server.')
    await ctx.send(f"Hello {member}!")
    await ctx.member.send(f"Welcome to the server!")

I need the bot to send a private message containing rules and commands list when he joins.

Please help!

Deru :

The event on_member_join() only accepts member as a valid parameter (see doc). Thus what you try to do: on_member_join(ctx, member) ,wont work. You need to use this instead: on_member_join(member).

If you used the event as follows:

@client.event
async def on_member_join(member):
    await member.send('Private message')

You can send messages directly to members who joined the server. Because you get an member object using this event.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=279187&siteId=1