Как отправить сообщение человеку, который добавил бота

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

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

Вопрос:

У меня есть событие, и когда кто-то приглашает бота, он отправляет сообщение с благодарственным письмом, но владельцу сервера. Как сделать так, чтобы оно отправлялось человеку, который добавил бота, а не владельцу сервера?

 @bot.event
async def on_guild_join(guild):
    embed = discord.Embed(description=f"Здрастии! Аз съм <@789920350796251198> и много ти благодаря, че ме покани в **{guild.name}**! Използвай .help, за да видиш списък с командите ми! Целта ми е да мога да се използвам във всеки български сървър. През времето ще се усъвършенствам и ще имам модули за музика, билети, логове и много други <:bcbwelcome:789925513748676638>",color=0x33AB8B,)
    embed.set_footer(text=f"За въпроси - .support | Версия - 0.1")
    await guild.owner.send(embed=embed)
 

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

1. Это, безусловно, невозможно

2. Я думаю, что это возможно, потому что так много ботов отправили мне сообщения типа «Привет, спасибо, что пригласили меня на свой сервер»

3. Вероятно, потому, что вы являетесь владельцем сервера, это невозможно с discord.py

4. О, хорошо, большое спасибо

Ответ №1:

Вы должны использовать журналы аудита, чтобы сделать так, как bot_add было добавлено новое

 @bot.event
async def on_guild_join(guild):
    entry = await guild.audit_logs(limit=1, action=discord.AuditLogAction.bot_add).flatten()
    entry = entry[0]
    embed = discord.Embed(description=f"Здрастии! Аз съм <@789920350796251198> и много ти благодаря, че ме покани в **{guild.name}**! Използвай .help, за да видиш списък с командите ми! Целта ми е да мога да се използвам във всеки български сървър. През времето ще се усъвършенствам и ще имам модули за музика, билети, логове и много други <:bcbwelcome:789925513748676638>",color=0x33AB8B,)
    embed.set_footer(text=f"За въпроси - .support | Версия - 0.1")
    await entry.user.send(embed=embed)
 

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

1. Большое спасибо, приятель! 🙂 Удачи и будьте в безопасности! 🙂