如何在后台延迟运行词典中的任务?

问题描述 投票:1回答:1

我正在尝试制作一个不和谐的机器人,您可以在其中键入'iq math',它会发送一个随机的数学问题。我希望有一个延迟,以便如果用户键入“ iq math”并正确回答或输入错误,则会造成延迟,因此用户必须等待24小时才能再次使用“ iq math”。问题是,当我开始延迟时,它会等待直到完成为止,例如:

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

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

它会等到24小时过去,然后打印出“您现在可以再次提出数学问题。”

我该如何解决?

python dictionary sleep discord.py discord.py-rewrite
1个回答
0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.