File size: 689 Bytes
07fbc67
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import time
from typing import Dict

class MessageCache:
    def __init__(self, max_age_hours: int = 24):
        self.messages: Dict[str, float] = {}
        self.max_age_seconds = max_age_hours * 3600

    def add(self, message_id: str) -> None:
        self.cleanup()
        self.messages[message_id] = time.time()

    def exists(self, message_id: str) -> bool:
        self.cleanup()
        return message_id in self.messages

    def cleanup(self) -> None:
        current_time = time.time()
        self.messages = {
            msg_id: timestamp 
            for msg_id, timestamp in self.messages.items()
            if current_time - timestamp < self.max_age_seconds
        }