使用计时器跟踪数组中的项目

Keep track of items in array with timer

很抱歉我找不到合适的标题,让我解释一下我在做什么:

我有一个 Python IRC 机器人,我希望能够跟踪用户在频道中闲置了多长时间,并允许他们赚取东西(我将其绑定到 Skype/Minecraft/my 网站)每 x 他们在频道中空闲的小时数。

我已经掌握了所有信息来跟踪每个用户并让他们通过网站和内容进行验证,但我不确定如何跟踪他们闲置的时间。

我让它捕获了 join/leave/part 条消息。我如何在他们加入时设置计时器,并保持该计时器 运行,以及该频道中所有用户的其他时间,以及他们空闲的每个小时(并非全部相同时间)做点什么然后为他们重新启动计时器?

两种通用方式:

  1. 为每个用户创建一个单独的计时器,当他加入时,当计时器触发时做一些事情,当用户离开时销毁它。

  2. 将一个计时器设置为每秒(或十秒)触发一次,并在触发时遍历所有用户以查看他们空闲了多长时间。

恐怕需要更深入地了解您的架构才能得到更准确的答案。