Отправка сообщения о событии присоединения пользователя - discord.py - PullRequest
0 голосов
/ 29 мая 2020

Я программировал бота, который приветствует пользователя, когда он присоединяется, но, похоже, он не работает.

async def on_member_join(member):
    channel = member.channel
    await channel.send(f'{member} has arrived')

Ответы [ 2 ]

0 голосов
/ 29 мая 2020
@client.event
async def on_member_join(member):
    for channel in member.guild.channels:
        if str(channel) == "member-log":
            await channel.send(f"""Welcome {member.mention}!""")

Это тоже может помочь. Здесь мы проверяем, является ли имя канала member-log, а затем отправляем приветственное сообщение на этот канал.

0 голосов
/ 29 мая 2020

Вы не указали , где - это канал, на который вы хотите отправить сообщение, а discord.Member не имеет атрибута с именем channel.

You ' Вам нужно будет получить канал по его идентификатору, например:

async def on_member_join(member):
    channel = bot.get_channel(112233445566778899) # replace id with the welcome channel's id
    await channel.send(f"{member} has arrived!")

Если хотите, вы также можете получить его по его имени:

async def on_member_join(member):
    channel = discord.utils.get(member.guild.text_channels, name="welcome")
    await channel.send(f"{member} has arrived!")

Каталожные номера:

...