Skip to content

Commit b946943

Browse files
KurimuzonAkumaCopilot
andcommitted
Fix edit_message_media
Co-authored-by: Copilot <copilot@github.com>
1 parent beb6b7c commit b946943

1 file changed

Lines changed: 26 additions & 27 deletions

File tree

pyrogram/methods/messages/edit_message_media.py

Lines changed: 26 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,10 @@
1717
# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>.
1818

1919
from datetime import datetime
20-
from typing import Union
20+
from typing import Optional, Union
2121

2222
import pyrogram
23-
from pyrogram import raw
24-
from pyrogram import types
25-
from pyrogram import utils
26-
from pyrogram import media_utils
23+
from pyrogram import raw, types, utils
2724

2825

2926
class EditMessageMedia:
@@ -32,11 +29,10 @@ async def edit_message_media(
3229
chat_id: Union[int, str],
3330
message_id: int,
3431
media: "types.InputMedia",
35-
show_caption_above_media: bool = None,
36-
schedule_date: datetime = None,
37-
business_connection_id: str = None,
38-
reply_markup: "types.InlineKeyboardMarkup" = None,
39-
file_name: str = None
32+
show_caption_above_media: Optional[bool] = None,
33+
schedule_date: Optional[datetime] = None,
34+
business_connection_id: Optional[str] = None,
35+
reply_markup: Optional["types.InlineKeyboardMarkup"] = None,
4036
) -> "types.Message":
4137
"""Edit animation, audio, document, photo or video messages, or to add media to text messages.
4238
@@ -104,18 +100,23 @@ async def edit_message_media(
104100
message, entities = None, None
105101

106102
if caption is not None:
107-
message, entities = (await utils.parse_text_entities(self, caption, parse_mode, caption_entities)).values()
108-
109-
if isinstance(media, types.InputMediaPhoto):
110-
raw_media = await media_utils.resolve_to_raw_photo(self, media, chat_id)
111-
elif isinstance(media, types.InputMediaVideo):
112-
raw_media = await media_utils.resolve_to_raw_video(self, media, file_name, chat_id)
113-
elif isinstance(media, types.InputMediaAudio):
114-
raw_media = await media_utils.resolve_to_raw_audio(self, media, file_name, chat_id)
115-
elif isinstance(media, types.InputMediaAnimation):
116-
raw_media = await media_utils.resolve_to_raw_animation(self, media, file_name, chat_id)
117-
elif isinstance(media, types.InputMediaDocument):
118-
raw_media = await media_utils.resolve_to_raw_document(self, media, file_name, chat_id)
103+
message, entities = (
104+
await utils.parse_text_entities(self, caption, parse_mode, caption_entities)
105+
).values()
106+
107+
raw_media = None
108+
109+
if isinstance(
110+
media,
111+
(
112+
types.InputMediaPhoto,
113+
types.InputMediaVideo,
114+
types.InputMediaAudio,
115+
types.InputMediaAnimation,
116+
types.InputMediaDocument,
117+
),
118+
):
119+
raw_media = await utils.resolve_raw_media(self, media)
119120
else:
120121
raise ValueError("Unsupported media type")
121122

@@ -128,15 +129,13 @@ async def edit_message_media(
128129
schedule_date=utils.datetime_to_timestamp(schedule_date),
129130
reply_markup=await reply_markup.write(self) if reply_markup else None,
130131
message=message,
131-
entities=entities
132+
entities=entities,
132133
),
133-
business_connection_id=business_connection_id
134+
business_connection_id=business_connection_id,
134135
)
135136

136137
for i in r.updates:
137138
if isinstance(i, (raw.types.UpdateEditMessage, raw.types.UpdateEditChannelMessage)):
138139
return await types.Message._parse(
139-
self, i.message,
140-
{i.id: i for i in r.users},
141-
{i.id: i for i in r.chats}
140+
self, i.message, {i.id: i for i in r.users}, {i.id: i for i in r.chats}
142141
)

0 commit comments

Comments
 (0)