Discord.py Как сделать отправку личных сообщений новым пользователям. По типу приветствия
Помогите с отправкой личных сообщений Как делать эту команду на то чтоб она отправляла в лс не по команде, а при заходе нового пользователя? Команда работает и все отправляет, нужно только исправить на то чтоб отправляла при подключении.
@bot.command()
async def hello(ctx,member:discord.Member):
await ctx.message.delete()
emb = discord.Embed(title='Добро пожаловать на DrainProject', color=0xff0000)
await ctx.channel.purge(limit=0)
emb.add_field(name="Если не знаешь что делать", value='К твоему прочтению обязателен канал <#965359487416418306>. (Галочка в конце)', inline=False)
emb.add_field(name="Также чтоб не было притензий и разногласий", value='Тебе необходимо прочитать канал <#927297696761528392>', inline=False)
emb.add_field(name= "Команды бота", value='Чтоб узнать подробнее команды пропиши !help в канале <#972431181624791060>', inline=False)
emb.set_thumbnail(url=member.avatar_url)
emb.set_author(name=ctx.message.author, icon_url=ctx.message.author.avatar_url)
await ctx.author.send(embed = emb)
msg = await ctx.send(('***Приветственное сообщение было отправленно в личные сообщения.***'))
await asyncio.sleep(30)
await msg.delete()
Ответы (1 шт):
Автор решения: Corrygan
→ Ссылка
Я написал свой код для приветствия нового участника и у меня всё работает(кстати про отправку эмбедов я действительно не знал), попробуйте скопировать мой код и отредактировать Скорее всего ошибка в том, что после @bot.event не требуются скобки.
@bot.event
async def on_member_join(member):
now = datetime.now()
embed = discord.Embed(
title='Добро пожаловать на "Тестовый сервер"!',
description='',
color=0x0000FF
)
embed.set_author(name=f'{member.name}#{member.discriminator}', icon_url=member.avatar_url)
embed.set_footer(text=f'Ваш ID: {member.id} • {now.hour}:{now.minute}')
await member.send(embed=embed)
