Python 如何在字典的后台延迟运行任务?

Python 如何在字典的后台延迟运行任务?,python,dictionary,sleep,discord.py,discord.py-rewrite,Python,Dictionary,Sleep,Discord.py,Discord.py Rewrite,我正在尝试制作一个discord机器人,你可以在其中键入“iq math”,它会发送一个随机的数学问题。我想要一个延迟,这样如果用户键入“iq math”并正确或错误地回答,它就会产生延迟,这样用户必须等待24小时才能再次使用“iq math”。问题是,当我启动延迟时,它会一直等到完成,例如: users[user]['math']['timer'] = wait24hours() print('You can now ask a math question again.') 它会一直等到2

我正在尝试制作一个discord机器人,你可以在其中键入“iq math”,它会发送一个随机的数学问题。我想要一个延迟,这样如果用户键入“iq math”并正确或错误地回答,它就会产生延迟,这样用户必须等待24小时才能再次使用“iq math”。问题是,当我启动延迟时,它会一直等到完成,例如:

users[user]['math']['timer'] = wait24hours()

print('You can now ask a math question again.')
它会一直等到24小时过去,然后打印“你现在可以再问一个数学问题了。”


如何解决此问题?

在每个答案后存储
用户[user][topic][timestamp]
,而不是
计时器

然后,当用户询问任何问题时,您获取问题的当前时间戳,并将其与用户在
[user][topic][timestamp]
中就同一主题提出的最后一个问题的时间戳进行比较


根据经过的时间,您可以给他们一个新问题或一条消息,让他们等待更长的时间

存储
users[user][topic][timestamp]
而不是
timer
。然后,当用户询问任何问题时,您获取问题的当前时间戳,将其与用户在
[user][topic][timestamp]
中就同一主题提问的时间戳进行比较,然后给他们一个新问题或一条信息,让他们在问另一个问题之前等待更长的时间。这其实是一个不错的主意。谢谢,我看看这是否管用。谢谢:)你试用后,让我知道它是否管用?如果是这样的话,我会在这里加上“答案”,你可以接受。或者,如果你遇到了另一个问题,请让我知道,我会更新/详细说明以尝试帮助你。当然,我会尝试:)这很有效,你现在可以回答:)再次感谢