向机器人邀请者发送消息

时间:2021-02-18 05:56:57

标签: discord.py

我想向邀请我的机器人到他们服务器的用户发送 dm,它的工作方式与其他机器人一样,或者在用户邀请机器人到他们的服务器时获得奖励。然而,在我下面的尝试中,我无法让它工作。

我不确定它是否需要找到审计日志用户,但我刚刚找到了这个代码。请帮助非常感谢!

@client.event
async def on_guild_join(member):

    bot_entry = await guild.AuditLogAction.bot_add).flatten()
    inviter = bot_entry[0].user
    
    await bot_entry[0].user.send("Thanks")

1 个答案:

答案 0 :(得分:1)

首先,您使用 member 作为您的事件参数,但您必须传递 guild 才能从它加入的公会中检索审核日志,然后是谁邀请机器人加入他们的公会。

我刚刚用 guild 修复了您的代码,而不是将 member 作为您的事件参数传递,然后 bot_entry 是公会的审计日志,它在添加机器人时获取事件,最近的操作将是机器人 inviter

@client.event
async def on_guild_join(guild):

    bot_entry = await guild.audit_logs(action=discord.AuditLogAction.bot_add).flatten()
    inviter = bot_entry[0].user

    await bot_entry[0].user.send(f"Thanks for inviting me {inviter}!")