Discount any history times older than 6 months
This commit is contained in:
parent
647c0266e1
commit
3675430390
1 changed files with 6 additions and 4 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
"""Store bot state"""
|
"""Store bot state"""
|
||||||
import os
|
import os
|
||||||
from datetime import datetime
|
from datetime import datetime, timedelta
|
||||||
from schema import Schema, Use, Optional
|
from schema import Schema, Use, Optional
|
||||||
from collections.abc import Generator
|
from collections.abc import Generator
|
||||||
from typing import Protocol
|
from typing import Protocol
|
||||||
|
|
@ -243,18 +243,20 @@ class _State():
|
||||||
|
|
||||||
def get_history_timestamps(self, users: list[Member]) -> list[datetime]:
|
def get_history_timestamps(self, users: list[Member]) -> list[datetime]:
|
||||||
"""Grab all timestamps in the history"""
|
"""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
|
# Fetch all the interaction times in history
|
||||||
# But only for interactions in the given user group
|
# But only for interactions in the given user group
|
||||||
times = set()
|
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, {})
|
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)
|
times.add(ts)
|
||||||
|
|
||||||
# Convert to datetimes and sort
|
# Convert to datetimes and sort
|
||||||
datetimes = [ts_to_datetime(ts) for ts in times]
|
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()
|
datetimes.sort()
|
||||||
return datetimes
|
return datetimes
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue