我想向邀请我的机器人到他们服务器的用户发送 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")
答案 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}!")