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

Я не могу реализовать сообщение при входе и выходе с канала дискорд на python

async def on_member_join(member):
    print("Recognised that a member called " + member.name + " joined")
    try: 
        await client.send_message(member, STARTER_MESSAGE)
        print("Sent message to " + member.name)
    except:
        await client.send_message(member, STARTER_MESSAGE)
        print("Couldn't message " + member.name)
    embed=discord.Embed(
        title="Welcome "+member.name+"!",
        description="We're so glad you're here!",
        color=discord.Color.green()
    )
@client.event
async def on_member_leave(member):
    print("Recognised that a member called " + member.name + " left")
    embed=discord.Embed(
        title="? Goodbye "+member.name+"!",
        description="Until we meet again old friend.",
        color=discord.Color.red())

Мне выдает ошибку:
Мне выдает ошибку

Код ошибки


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

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

смотри. у тебя ошибка в том что у объекта client нет метода, который ты хочешь вызвать. это раз. у тебя member это объект пользователя. я предположу что ты для работы с дискордом юзаешь пакет discord.py. Тогда для отправки сообщения в канал тебе нужен будет ID чата в гильдии куда ты зашлешь сообщение.

DISCORD_LOG_CHANNEL_ID: int

async def on_member_join(member):
    print("Recognised that a member called " + member.name + " joined")
    try: 
        logs_channel = client.get_channel(DISCORD_LOG_CHANNEL_ID)
        await logs_channel.send("Recognised that a member called " + member.name + " joined")
        print("Sent message to " + member.name)
    except Exception as e:
        print(f"{type(e).__name__}{getattr(e, 'args', None)}")
        print("Couldn't message " + member.name)
    embed=discord.Embed(
        title="Welcome "+member.name+"!",
        description="We're so glad you're here!",
        color=discord.Color.green()
    )

DISCORD_LOG_CHANNEL_ID - должен быть идшником чата.

→ Ссылка