Как отправить сообщение в лс в дискорде при заходе на сервер?

Итак, у меня есть такой код:

@client.event
async def on_member_join(member):
    await member.create_dm()
    await member.dm_channel.send(random.choice([
        f'Привет, {member.name}, добро пожаловать!',
        f'Дарова {member.name}, обсутраивайся на сервере)',
        f'{member.name}! Добро пожаловать)']
                                               )
    )

Он отправляет сообщение о заходе на сервер. Мне бы хотелось, чтобы он отправлял в личные сообщения тоже самое. Т. е. что-то по типу member.отправить('Спс за джоин на сервер!').


Ответы (3 шт):

Автор решения: Ma3rX

Все очень просто. Просто возьмите вашего участника и введите member.send('Ку! Спс за джоин на сервер!').

→ Ссылка
Автор решения: Universall

Как говорит документация, это можно сделать через client.fetch_user(). Он возвращает объект discord.User, а потом этому пользователю можно отправлять сообщения. Как пример:

@client.event
async def on_member_join(member):
    await client.fetch_user(user_id=member.id).send('Спс за джоин на сервер!')
→ Ссылка
Автор решения: Forevor Base

Вот код с подробным объяснением.

Код

@client.event ## Создаем инвент)
async def on_member_join(member): ## Далее в через member в скобоччках берем нашего пользователя
  await member.send(random.choice([ f'Привет, {member.name}, добро пожаловать!', f'Дарова {member.name}, обсутраивайся на сервере)', f'{member.name}! Добро пожаловать)'])) 
## И последняя строчка. Бот выбирает рандомное сообщение нашему пользователю.

Итоги

И так, теперь мы сделали так, что при заходе мы берем пользователя, а дальше уже отправляем ему в личные сообщения случайное сообщение. Надеюсь, я вам помог! Удачного вечера)

Скиншот

→ Ссылка