diff --git a/matchy/state.py b/matchy/state.py index 5af6096..0dbed7a 100644 --- a/matchy/state.py +++ b/matchy/state.py @@ -1,6 +1,6 @@ """Store bot state""" import os -from datetime import datetime +from datetime import datetime, timedelta from schema import Schema, Use, Optional from collections.abc import Generator from typing import Protocol @@ -243,18 +243,20 @@ class _State(): def get_history_timestamps(self, users: list[Member]) -> list[datetime]: """Grab all timestamps in the history""" - others = [m.id for m in users] + ids = [int(m.id) for m in users] # Fetch all the interaction times in history # But only for interactions in the given user group times = set() - for data in (data for id, data in self._users.items() if int(id) in others): + for data in (data for id, data in self._users.items() if id in ids): matches = data.get(_Key.MATCHES, {}) - for ts in (ts for id, ts in matches.items() if int(id) in others): + for ts in (ts for id, ts in matches.items() if id in ids): times.add(ts) # Convert to datetimes and sort datetimes = [ts_to_datetime(ts) for ts in times] + # Remove any entries older than 6 months ago + datetimes = [t for t in datetimes if t >= datetime.now() - timedelta(months=3)] datetimes.sort() return datetimes