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")
解决方案
首先,您将member
其用作事件参数,但您必须通过guild
才能从它加入的公会中检索审核日志,然后是邀请机器人加入其公会的人。
我刚刚将您的代码修复为 with而不是作为您的事件参数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}!")
推荐阅读
- python - 如何在 python 中使用 gTTS?
- java - 如何计算java中任何一个月的工作日数?
- react-native - 避免 TextInput 专注于 React Native Android
- python - 在 cmd (windows) 或 Python 中重命名多个文件
- highcharts - Highchart - 使用 html 为标签自定义图像
- linux - 通过 O_DIRECT 读取是否首先刷新脏页?
- c# - 如何使用 LINQ 创建乘法 WHERE(并进行比较)?
- node.js - 无法安装 MERN 堆栈
- php - 无法从php中的特定目录下载文件
- alexa - 如果您说一个随机单词,为什么不会调用 Fallback Intent?