diff --git a/cheuph/message.py b/cheuph/message.py new file mode 100644 index 0000000..2e0e06b --- /dev/null +++ b/cheuph/message.py @@ -0,0 +1,37 @@ +from typing import Hashable, Optional + +from .markup import AttributedText + +__all__ = ["Message"] + + +class Message: + def __init__(self, + message_id: Hashable, + parent_id: Optional[Hashable], + author: str, + content: str, + ) -> None: + self._message_id = message_id + self._parent_id = parent_id + self._author = author + self._content = content + + @property + def message_id(self) -> Hashable: + return self._message_id + + @property + def parent_id(self) -> Optional[Hashable]: + return self._parent_id + + @property + def author(self) -> str: + return self._author + + @property + def content(self) -> str: + return self._content + + def render_content(self) -> AttributedText: + return AttributedText(self.content)