from functools import lru_cache from datetime import datetime, timedelta
class UsernameCache: def init(self, ttl_minutes: int = 60): self.cache = {} self.ttl = timedelta(minutes=ttl_minutes)
async def is_valid(self, username: str, session: aiohttp.ClientSession) -> bool: # Check cache if username in self.cache: is_valid, timestamp = self.cache[username] if datetime.now() - timestamp < self.ttl: return is_valid # Fetch from API url = f'https://api.mojang.com/users/profiles/minecraft/{username}' try: async with session.get(url) as response: is_valid = response.status == 200 self.cache[username] = (is_valid, datetime.now()) return is_valid except Exception as e: logger.error(f"Error validating username: {e}") return False
username_cache = UsernameCache(ttl_minutes=60)
No dependencies set.
The note is not visible to the blocked user.
from functools import lru_cache
from datetime import datetime, timedelta
class UsernameCache:
def init(self, ttl_minutes: int = 60):
self.cache = {}
self.ttl = timedelta(minutes=ttl_minutes)
username_cache = UsernameCache(ttl_minutes=60)