tg-channel-analysis/bot/models.py
2026-02-22 21:33:23 +02:00

35 lines
948 B
Python

from dataclasses import dataclass
from datetime import datetime
from enum import Enum
class ReportType(Enum):
CONTENT = "content"
CONTENT_STATS = "content_stats"
FULL_AUDIT = "full_audit"
@property
def label(self) -> str:
return {
ReportType.CONTENT: "Content Analysis",
ReportType.CONTENT_STATS: "Content + Stats",
ReportType.FULL_AUDIT: "Full Audit",
}[self]
@property
def description(self) -> str:
return {
ReportType.CONTENT: "Topics, tone, themes, content strategy",
ReportType.CONTENT_STATS: "Above + posting frequency, engagement patterns",
ReportType.FULL_AUDIT: "All above + sentiment, audience insights, recommendations",
}[self]
@dataclass
class ChannelMessage:
id: int
date: datetime
text: str
views: int | None = None
forwards: int | None = None
replies: int | None = None