1717# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>.
1818
1919import os
20+ import re
2021from typing import Union
2122
2223import pyrogram
@@ -78,7 +79,7 @@ def edit_message_media(
7879 parse_mode = media .parse_mode
7980
8081 if isinstance (media , InputMediaPhoto ):
81- if os .path .exists (media .media ):
82+ if os .path .isfile (media .media ):
8283 media = self .send (
8384 functions .messages .UploadMedia (
8485 peer = self .resolve_peer (chat_id ),
@@ -95,14 +96,14 @@ def edit_message_media(
9596 file_reference = media .photo .file_reference
9697 )
9798 )
98- elif media . media . startswith ( "http" ):
99+ elif re . match ( "^https?://" , media . media ):
99100 media = types .InputMediaPhotoExternal (
100101 url = media .media
101102 )
102103 else :
103104 media = utils .get_input_media_from_file_id (media .media , media .file_ref , 2 )
104105 elif isinstance (media , InputMediaVideo ):
105- if os .path .exists (media .media ):
106+ if os .path .isfile (media .media ):
106107 media = self .send (
107108 functions .messages .UploadMedia (
108109 peer = self .resolve_peer (chat_id ),
@@ -132,14 +133,14 @@ def edit_message_media(
132133 file_reference = media .document .file_reference
133134 )
134135 )
135- elif media . media . startswith ( "http" ):
136+ elif re . match ( "^https?://" , media . media ):
136137 media = types .InputMediaDocumentExternal (
137138 url = media .media
138139 )
139140 else :
140141 media = utils .get_input_media_from_file_id (media .media , media .file_ref , 4 )
141142 elif isinstance (media , InputMediaAudio ):
142- if os .path .exists (media .media ):
143+ if os .path .isfile (media .media ):
143144 media = self .send (
144145 functions .messages .UploadMedia (
145146 peer = self .resolve_peer (chat_id ),
@@ -168,14 +169,14 @@ def edit_message_media(
168169 file_reference = media .document .file_reference
169170 )
170171 )
171- elif media . media . startswith ( "http" ):
172+ elif re . match ( "^https?://" , media . media ):
172173 media = types .InputMediaDocumentExternal (
173174 url = media .media
174175 )
175176 else :
176177 media = utils .get_input_media_from_file_id (media .media , media .file_ref , 9 )
177178 elif isinstance (media , InputMediaAnimation ):
178- if os .path .exists (media .media ):
179+ if os .path .isfile (media .media ):
179180 media = self .send (
180181 functions .messages .UploadMedia (
181182 peer = self .resolve_peer (chat_id ),
@@ -206,14 +207,14 @@ def edit_message_media(
206207 file_reference = media .document .file_reference
207208 )
208209 )
209- elif media . media . startswith ( "http" ):
210+ elif re . match ( "^https?://" , media . media ):
210211 media = types .InputMediaDocumentExternal (
211212 url = media .media
212213 )
213214 else :
214215 media = utils .get_input_media_from_file_id (media .media , media .file_ref , 10 )
215216 elif isinstance (media , InputMediaDocument ):
216- if os .path .exists (media .media ):
217+ if os .path .isfile (media .media ):
217218 media = self .send (
218219 functions .messages .UploadMedia (
219220 peer = self .resolve_peer (chat_id ),
@@ -237,7 +238,7 @@ def edit_message_media(
237238 file_reference = media .document .file_reference
238239 )
239240 )
240- elif media . media . startswith ( "http" ):
241+ elif re . match ( "^https?://" , media . media ):
241242 media = types .InputMediaDocumentExternal (
242243 url = media .media
243244 )
0 commit comments