Я не могу реализовать сообщение при входе и выходе с канала дискорд на пайтон
Я не могу реализовать сообщение при входе и выходе с канала дискорд на 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 - должен быть идшником чата.

