Files
Roblox-Buyer/models/stats.py
T

33 lines
987 B
Python

from dataclasses import dataclass
from typing import Any
@dataclass(slots=True)
class BotStats:
total_users: int = 0
total_cookies: int = 0
total_paid_direct: float = 0.0
total_paid_referral: float = 0.0
@classmethod
def default(cls) -> "BotStats":
return cls()
@classmethod
def from_dict(cls, data: dict[str, Any] | None) -> "BotStats":
data = data or {}
return cls(
total_users=int(data.get("total_users", 0)),
total_cookies=int(data.get("total_cookies", 0)),
total_paid_direct=float(data.get("total_paid_direct", 0.0)),
total_paid_referral=float(data.get("total_paid_referral", 0.0)),
)
def to_dict(self) -> dict[str, Any]:
return {
"total_users": self.total_users,
"total_cookies": self.total_cookies,
"total_paid_direct": self.total_paid_direct,
"total_paid_referral": self.total_paid_referral,
}