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

时间:2019-12-22 14:16:26

标签: python dictionary sleep discord.py discord.py-rewrite

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

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

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

它一直等到24小时后才显示“您现在可以再次提出数学问题。”

我该如何解决?

1 个答案:

答案 0 :(得分:0)

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

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

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