Skip to content

Commit f5433f2

Browse files
committed
Add MessageImportInfo
1 parent 5f55b70 commit f5433f2

File tree

4 files changed

+59
-1
lines changed

4 files changed

+59
-1
lines changed

compiler/docs/compiler.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -499,6 +499,7 @@ def get_title_list(s: str) -> list:
499499
Location
500500
Message
501501
MessageEntity
502+
MessageImportInfo
502503
MessageOrigin
503504
MessageOriginChannel
504505
MessageOriginChat

pyrogram/types/message_origin/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,10 @@
2121
from .message_origin_chat import MessageOriginChat
2222
from .message_origin_hidden_user import MessageOriginHiddenUser
2323
from .message_origin_user import MessageOriginUser
24+
from .message_import_info import MessageImportInfo
2425

2526
__all__ = [
27+
"MessageImportInfo",
2628
"MessageOrigin",
2729
"MessageOriginChannel",
2830
"MessageOriginChat",
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Pyrogram - Telegram MTProto API Client Library for Python
2+
# Copyright (C) 2017-present Dan <https://github.com/delivrance>
3+
#
4+
# This file is part of Pyrogram.
5+
#
6+
# Pyrogram is free software: you can redistribute it and/or modify
7+
# it under the terms of the GNU Lesser General Public License as published
8+
# by the Free Software Foundation, either version 3 of the License, or
9+
# (at your option) any later version.
10+
#
11+
# Pyrogram is distributed in the hope that it will be useful,
12+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+
# GNU Lesser General Public License for more details.
15+
#
16+
# You should have received a copy of the GNU Lesser General Public License
17+
# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>.
18+
19+
from datetime import datetime
20+
21+
from .message_origin import MessageOrigin
22+
23+
import pyrogram
24+
from pyrogram import types
25+
26+
27+
class MessageImportInfo(MessageOrigin):
28+
"""Contains information about a message created with `importMessages <https://t.me/telegram/142>`_.
29+
30+
Parameters:
31+
date (:py:obj:`~datetime.datetime`):
32+
Date the message was sent originally in Unix time
33+
34+
sender_user_name (``str``):
35+
Name of the original sender
36+
37+
"""
38+
39+
def __init__(
40+
self,
41+
*,
42+
date: datetime = None,
43+
sender_user_name: str = None
44+
):
45+
super().__init__(
46+
type="import_info",
47+
date=date
48+
)
49+
50+
self.sender_user_name = sender_user_name

pyrogram/types/message_origin/message_origin.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ def _parse(
5555
if not forward_header:
5656
return None
5757
forward_date = utils.timestamp_to_datetime(forward_header.date)
58+
forward_signature = getattr(forward_header, "post_author", None)
5859
if forward_header.from_id:
5960
raw_peer_id = utils.get_raw_peer_id(forward_header.from_id)
6061
peer_id = utils.get_peer_id(forward_header.from_id)
@@ -67,7 +68,6 @@ def _parse(
6768
else:
6869
forward_from_chat = types.Chat._parse_channel_chat(client, chats[raw_peer_id])
6970
forward_from_message_id = forward_header.channel_post
70-
forward_signature = forward_header.post_author
7171
if forward_from_message_id:
7272
return types.MessageOriginChannel(
7373
date=forward_date,
@@ -87,3 +87,8 @@ def _parse(
8787
date=forward_date,
8888
sender_user_name=forward_sender_name
8989
)
90+
elif forward_header.imported:
91+
return types.MessageImportInfo(
92+
date=forward_date,
93+
sender_user_name=forward_signature
94+
)

0 commit comments

Comments
 (0)