我正在尝试制作一个不和谐的机器人,您可以在其中键入'iq math',它会发送一个随机的数学问题。我希望有一个延迟,以便如果用户键入“ iq math”并正确回答或输入错误,则会造成延迟,因此用户必须等待24小时才能再次使用“ iq math”。问题是,当我开始延迟时,它会等待直到完成为止,例如:
users[user]['math']['timer'] = wait24hours()
print('You can now ask a math question again.')
它会等到24小时过去,然后打印出“您现在可以再次提出数学问题。”
我该如何解决?
而不是timer
,请在每个答案后存储users[user][topic][timestamp]
。
然后,当用户提出任何问题时,您可以获取问题的当前时间戳,并将其与用户从[user][topic][timestamp]
中针对同一主题询问最后一个问题的时间戳进行比较。
根据所经过的时间,您可以给他们一个新的问题或一条消息,等待更长的时间。