@kendric
Живу в свое удовольствие

Как сделать проверку действий в минуту?

Не могу понять как работать с таймом в python? Как мне сделать допустим что бы бот считал кол-во сообщений за минуту? А если минута прошла то обнулять это значение? Помогите
  • Вопрос задан
  • 69 просмотров
Пригласить эксперта
Ответы на вопрос 2
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
Для этого используют структуру данных очередь (FIFO - First In First Out).
Туда будут добавляться таймштампы сообщений, а очередь должна хранить "минутное окно" этих таймштампов.
То есть последнее сообщение (в хвосте очереди) - это самое старое сообщение, а первое (в голове) - самое новое. Ко времени последнего сообщения на текущий момент прибавляем минуту и получаем время, когда нужно вытащить из очереди хвостовой элемент. Текущая длина очереди - это и есть количество сообщений за текущую минуту.
Это если вам надо без выравнивания.
Если нужно знать сколько сообщений было каждую минуту дискретно, то да, накапливаете счётчик и обнуляете его каждую целую минуту. Всё зависит от задачи.
Ответ написан
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
Если используется кеш - то нет ничего проще:

count = 42
cache.set('count', count, 60)


>>> cache.get_or_set('count', 0, 60)
42
# по истечении 1 минуты
>>> cache.get_or_set('count', 0, 60)
0
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы