From d54df18d5e460db76c477b1ab9f1f4280bfd7f98 Mon Sep 17 00:00:00 2001 From: Joscha Date: Tue, 23 Apr 2019 09:28:52 +0000 Subject: [PATCH] Add basic message class --- cheuph/message.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 cheuph/message.py 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)