|
21 | 21 | from typing import Union, List |
22 | 22 |
|
23 | 23 | import pyrogram |
24 | | -from pyrogram import types, utils, raw |
| 24 | +from pyrogram import enums, raw, types, utils |
25 | 25 |
|
26 | 26 | log = logging.getLogger(__name__) |
27 | 27 |
|
@@ -124,17 +124,23 @@ async def copy_media_group( |
124 | 124 | raise ValueError("Message with this type can't be copied.") |
125 | 125 |
|
126 | 126 | media = utils.get_input_media_from_file_id(file_id=file_id) |
| 127 | + |
| 128 | + sent_message, sent_entities = None, None |
| 129 | + if isinstance(captions, list) and i < len(captions) and isinstance(captions[i], str): |
| 130 | + sent_message, sent_entities = (await utils.parse_text_entities(self, captions[i], self.parse_mode, None)).values() |
| 131 | + elif isinstance(captions, str) and i == 0: |
| 132 | + sent_message, sent_entities = (await utils.parse_text_entities(self, captions, self.parse_mode, None)).values() |
| 133 | + elif message.caption and message.caption != "None" and not type(captions) is str: # TODO |
| 134 | + sent_message, sent_entities = (await utils.parse_text_entities(self, message.caption, None, message.caption_entities)).values() |
| 135 | + else: |
| 136 | + sent_message, sent_entities = "", None |
| 137 | + |
127 | 138 | multi_media.append( |
128 | 139 | raw.types.InputSingleMedia( |
129 | 140 | media=media, |
130 | 141 | random_id=self.rnd_id(), |
131 | | - # TODO |
132 | | - **await self.parser.parse( |
133 | | - captions[i] if isinstance(captions, list) and i < len(captions) and isinstance(captions[i], str) else |
134 | | - captions if isinstance(captions, str) and i == 0 else |
135 | | - message.caption if message.caption and message.caption != "None" and not type( |
136 | | - captions) is str else "" |
137 | | - ) |
| 142 | + message=sent_message, |
| 143 | + entities=sent_entities |
138 | 144 | ) |
139 | 145 | ) |
140 | 146 | show_caption_above_media.append(message.show_caption_above_media) |
|
0 commit comments