Discord Я не могу найти способ создать сообщение для участника Join

#python #python-3.x #bots #discord.py #discord.py-rewrite

#python #python-3.x #боты #discord.py

Вопрос:

Я пытался создать сообщение о присоединении к участнику в discord.py (Переписать) Я получаю сообщение об ошибке. Первая моя команда приведена ниже.

 @bot.event
async def on_member_join(member):
guild = member.guild
channel = (553090886683197451)
message ='Hello {}, Welcome to {} Discord server, We hope u good day at our server. Also please read the rules carefully'.format(member.mention, guild.name)
await user.send(channel, message)
  

Ошибка приведена ниже

 line 15, in on_member_join
await user.send(channel, message)
NameError: name 'user' is not defined
  

я хочу, чтобы мой бот отправил сообщение на определенный канал и сообщение, которое я написал выше. кто-нибудь мог бы помочь, это было бы здорово!.

Комментарии:

1. Что вы ожидаете от этого? Вы либо хотите сделать, await member.send(message) чтобы отправить личное сообщение пользователю, либо await member.guild.get_channel(channel).send(message) отправить сообщение на какой-либо канал объявлений.

2. Спасибо, сэр, но я нашел решение

Ответ №1:

В отличие от асинхронной версии, вы должны сначала найти канал, используя get_channel() метод

 @bot.event
async def on_member_join(member):
    channel = bot.get_channel(553090886683197451)
    guild=member.guild
    message ='Hello {}, Welcome to {} Discord server, We hope u good day at our server. Also please read the rules carefully'.format(member.mention, guild.name)
    await channel.send(message)
  

И, как упоминал Патрик Хоу, вы бы сделали member.send() с личным сообщением