如何获取对discord.py中的反应做出反应的人的ID
Posted
技术标签:
【中文标题】如何获取对discord.py中的反应做出反应的人的ID【英文标题】:how to get id of people who reacted to a reaction in discord.py 【发布时间】:2021-12-31 01:28:03 【问题描述】:我正在使用此代码来获取对反应做出反应的人的列表
new_msg = await channel.fetch_message(id)
users = await new_msg.reactions[0].users().flatten()
users.pop(users.index(client.user))
if ctx.author in users:
users.pop(users.index(ctx.author))
但我希望它返回对它做出反应的人的 ID,所以之后我可以使用这样的命令
user = bot.get_user(userId)
await ctx.send(user.created_at)
并找出有多少用户的帐户超过 n 天
【问题讨论】:
【参考方案1】:ID是根据discord-py Documentation在用户对象中的一个字段。
因此,您只需执行 [user.id for user in users]
即可获取 ID 列表。
但既然你无论如何都想要用户对象,你可以
for user in users:
await ctx.send(user.created_at)
【讨论】:
并且有什么方法可以找出用户帐户“以天为单位”的年龄,基本上我在这里做的是,要求作者在命令中添加一个要求'将指定帐户的年龄应该对这条消息做出反应,我可以获得创建帐户的日期,但我无法弄清楚如何在几天内获得该日期user.created_at
返回一个 datetime.datetime 对象。所以你可以先timespan = datetime.now() - created_at
然后timespan.days
以上是关于如何获取对discord.py中的反应做出反应的人的ID的主要内容,如果未能解决你的问题,请参考以下文章