import dataclasses
import datetime

__all__ = ['MYSELF', 'Message']

MYSELF = 'MYSELF'


@dataclasses.dataclass(frozen=True, order=True)
class Message:
    sent_at: datetime.datetime
    sender: str
    text: str
    chat_id: str

    def __post_init__(self):
        assert self.sent_at is not None
        assert self.sender is not None
        assert self.text is not None
        assert self.chat_id is not None