21 lines
658 B
Python
21 lines
658 B
Python
from dataclasses import dataclass, field
|
|
from typing import List, Dict
|
|
from datetime import datetime
|
|
|
|
@dataclass
|
|
class Room:
|
|
code: str
|
|
created_at: datetime = field(default_factory=datetime.utcnow)
|
|
messages: List[Dict] = field(default_factory=list) # Could include sender, timestamp, etc.
|
|
password: str = None # Optional
|
|
|
|
def add_message(self, sender: str, text: str):
|
|
self.messages.append({
|
|
"sender": sender,
|
|
"text": text,
|
|
"timestamp": datetime.now().isoformat()
|
|
})
|
|
|
|
def check_password(self, attempt: str) -> bool:
|
|
return self.password is None or self.password == attempt
|