gpt4 book ai didi

python - react 编辑,只编辑discord.py中最近的命令

转载 作者:行者123 更新时间:2023-12-04 09:14:19 33 4
gpt4 key购买 nike

大部分都很好,但我如何让它只编辑用户发送的最新消息?如果有人两次键入相同的命令,然后对第二条消息使用react,只要它在超时之前的 60 秒窗口中,它就会编辑两条消息。这是代码:

        px = await ctx.send(embed=e)
for name in reactions:
emoji = get(ctx.guild.emojis, name=name)
try: await px.add_reaction(emoji or name)
except: return


def check(reaction, user):
return user == ctx.author and str(reaction.emoji) in reactions

while True:
try:
reaction, user = await self.bot.wait_for("reaction_add", timeout=60, check=check)
if str(reaction.emoji) == "right":
p += 1
# doing the command again but + 1 page
await px.edit(embed=e)
elif str(reaction.emoji) == "left":
p -= 1
# doing the command again but - 1 page
await px.edit(embed=e)
else:
await px.remove_reaction(reaction, user)
except asyncio.TimeoutError:
break
我只希望它编辑该用户最近使用的命令。谢谢。

最佳答案

在我的手机上很难打字。但在检查添加

px.id == reaction.message.id
Px 应该是一个带有 ID 的消息对象
这将确保当他们单击嵌入的 react 时,正确的处理程序会收到它。你说你只想要最新的来处理它......这不会完全做到这一点。但是对最新的任何 react 都将被处理为最新的,而对较早的 react 的任何 react 将由较早的处理程序处理。如果这是有道理的。

关于python - react 编辑,只编辑discord.py中最近的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63285272/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com