首页 > 解决方案 > 向机器人邀请者发送消息

问题描述

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

标签: discord.py

解决方案


首先,您将member其用作事件参数,但您必须通过guild才能从它加入的公会中检索审核日志,然后是邀请机器人加入其公会的人。

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

@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}!")

推荐阅读