From 7b90a0e7c56cd2566179c751f3f00be4ed0956a1 Mon Sep 17 00:00:00 2001 From: Dan <14043624+delivrance@users.noreply.github.com> Date: Mon, 17 Dec 2018 14:18:15 +0100 Subject: [PATCH] Refactor Messages --- .../client/types/messages_and_media/messages.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pyrogram/client/types/messages_and_media/messages.py b/pyrogram/client/types/messages_and_media/messages.py index 48907940..5619b968 100644 --- a/pyrogram/client/types/messages_and_media/messages.py +++ b/pyrogram/client/types/messages_and_media/messages.py @@ -16,6 +16,8 @@ # You should have received a copy of the GNU Lesser General Public License # along with Pyrogram. If not, see . +from pyrogram.api import types +from .message import Message from ..pyrogram_type import PyrogramType @@ -35,3 +37,17 @@ class Messages(PyrogramType): self.total_count = total_count self.messages = messages + + @staticmethod + def parse(client, messages: types.messages.Messages) -> "Messages": + users = {i.id: i for i in messages.users} + chats = {i.id: i for i in messages.chats} + + total_count = getattr(messages, "count", len(messages.messages)) + + return Messages( + total_count=total_count, + messages=[Message.parse(client, message, users, chats) for message in messages.messages], + client=client, + raw=messages + )