我如何 运行 在字典中延迟执行后台任务?

How do I run a task in the background in a dictionary with a delay?

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

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

print('You can now ask a math question again.')

它会等到 24 小时后打印 'You can now ask a math question again.'

我该如何解决这个问题?

而不是 timer,在每个答案后存储 users[user][topic][timestamp]

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

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