diff --git a/telethon/tl/custom/dialog.py b/telethon/tl/custom/dialog.py index 6b386163..921a4c34 100644 --- a/telethon/tl/custom/dialog.py +++ b/telethon/tl/custom/dialog.py @@ -1,4 +1,5 @@ from . import Draft +from .. import TLObject from ... import utils @@ -73,3 +74,19 @@ class Dialog: ``client.send_message(dialog.input_entity, *args, **kwargs)``. """ return self._client.send_message(self.input_entity, *args, **kwargs) + + def to_dict(self): + return { + '_': 'Dialog', + 'name': self.name, + 'date': self.date, + 'draft': self.draft, + 'message': self.message, + 'entity': self.entity, + } + + def __str__(self): + return TLObject.pretty_format(self.to_dict()) + + def stringify(self): + return TLObject.pretty_format(self.to_dict(), indent=0) diff --git a/telethon/tl/custom/draft.py b/telethon/tl/custom/draft.py index f52ac6c9..09c0e6ac 100644 --- a/telethon/tl/custom/draft.py +++ b/telethon/tl/custom/draft.py @@ -1,7 +1,9 @@ import datetime +from .. import TLObject from ..functions.messages import SaveDraftRequest from ..types import UpdateDraftMessage, DraftMessage +from ...errors import RPCError from ...extensions import markdown @@ -141,3 +143,24 @@ class Draft: Deletes this draft, and returns ``True`` on success. """ return self.set_message(text='') + + def to_dict(self): + try: + entity = self.entity + except RPCError as e: + entity = e + + return { + '_': 'Draft', + 'text': self.text, + 'entity': entity, + 'date': self.date, + 'link_preview': self.link_preview, + 'reply_to_msg_id': self.reply_to_msg_id + } + + def __str__(self): + return TLObject.pretty_format(self.to_dict()) + + def stringify(self): + return TLObject.pretty_format(self.to_dict(), indent=0)