【发布时间】:2021-07-30 21:02:51
【问题描述】:
我正在使用async def on_raw_reaction_remove(payload) 来跟踪用户何时删除了反应。
如何获取触发事件的用户?在我的代码中,我的机器人通过在某些情况下删除反应来触发此事件 - 但是当这种情况发生时user = await client.fetch_user(user_id) 总是等于对删除的反应做出反应的用户而不是删除它的机器人(我需要获取机器人当机器人删除某人的反应时作为用户,所以我可以说 if user == bot: return
我也试过了
message = await channel.fetch_message(payload.message_id)
guild = message.guild
member = await guild.fetch_member(payload.user_id)
但它是相同的.. 成员始终指向已删除反应的所有者,而不是删除反应的机器人... 使用 on_raw_reaction_remove 时,我怎样才能得到消除反应的人?
(如果相关 - 我在 discord 的开发者门户中启用了意图并更新了我的代码
intents = discord.Intents.all()
client = discord.Client(intents=intents)
感谢您的帮助,我已经在这方面浪费了很多时间:皱眉:(不和谐 api 的新手)
【问题讨论】:
-
这其实不是discords API提供的,所以没办法做到这一点。
-
@Chuaat 没有直接的方法,但我的回答中有一种方法
标签: python discord discord.py