From e2ce55871ed2020aba975f0e04b3e53d31cf5d4a Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Fri, 1 Jun 2018 21:20:34 +0200 Subject: [PATCH] Replace custom.Message's class on creation --- telethon/tl/custom/message.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/telethon/tl/custom/message.py b/telethon/tl/custom/message.py index 28b7cdb8..7088784e 100644 --- a/telethon/tl/custom/message.py +++ b/telethon/tl/custom/message.py @@ -41,6 +41,14 @@ class Message: self._fwd_from_entity = entities.get(get_peer_id( types.PeerChannel(fwd.channel_id))) + def __new__(cls, client, original, entities, input_chat): + if isinstance(original, types.Message): + return super().__new__(_CustomMessage) + elif isinstance(original, types.MessageService): + return super().__new__(_CustomMessageService) + else: + return cls + def __getattr__(self, item): return getattr(self.original_message, item) @@ -328,3 +336,11 @@ class Message: return self._buttons_flat[i].click() else: return self._buttons[i][j].click() + + +class _CustomMessage(Message, types.Message): + pass + + +class _CustomMessageService(Message, types.MessageService): + pass