3636 Button ,
3737 CallPermissionRequestButton ,
3838 ButtonUrl ,
39+ MessageType ,
3940)
4041from pywa .types .others import InteractiveType
4142from .types .media import Media
@@ -86,11 +87,24 @@ def resolve_buttons_param(
8687 return InteractiveType .BUTTON , {"buttons" : tuple (b .to_dict () for b in buttons )}
8788
8889
90+ _header_format_to_message_type = {
91+ HeaderFormatType .IMAGE : MessageType .IMAGE ,
92+ HeaderFormatType .VIDEO : MessageType .VIDEO ,
93+ HeaderFormatType .DOCUMENT : MessageType .DOCUMENT ,
94+ }
8995_media_types_default_filenames = {
90- "IMAGE" : "pywa-image.jpg" ,
91- "VIDEO" : "pywa-video.mp4" ,
92- "AUDIO" : "pywa-audio.mp3" ,
93- "STICKER" : "pywa-sticker.webp" ,
96+ MessageType .IMAGE : "pywa-image.jpg" ,
97+ MessageType .VIDEO : "pywa-video.mp4" ,
98+ MessageType .AUDIO : "pywa-audio.mp3" ,
99+ MessageType .STICKER : "pywa-sticker.webp" ,
100+ MessageType .DOCUMENT : "pywa-document.pdf" ,
101+ }
102+ _media_types_default_mime_types = {
103+ MessageType .IMAGE : "image/jpeg" ,
104+ MessageType .VIDEO : "video/mp4" ,
105+ MessageType .AUDIO : "audio/mpeg" ,
106+ MessageType .STICKER : "image/webp" ,
107+ MessageType .DOCUMENT : "application/pdf" ,
94108}
95109_template_header_formats_filename = {
96110 HeaderFormatType .IMAGE : "pywa-template-header-image.jpg" ,
@@ -109,7 +123,7 @@ def resolve_media_param(
109123 media : str | Media | pathlib .Path | bytes | BinaryIO ,
110124 mime_type : str | None ,
111125 filename : str | None ,
112- media_type : str | None ,
126+ media_type : MessageType | None ,
113127 phone_id : str ,
114128) -> tuple [bool , str ]:
115129 """
@@ -126,8 +140,8 @@ def resolve_media_param(
126140 return False , wa .upload_media (
127141 phone_id = phone_id ,
128142 media = media ,
129- mime_type = mime_type ,
130- filename = _media_types_default_filenames .get (media_type , filename ),
143+ mime_type = mime_type or _media_types_default_mime_types . get ( media_type ) ,
144+ filename = filename or _media_types_default_filenames .get (media_type ),
131145 ).id
132146
133147
@@ -302,7 +316,7 @@ def _upload_params_media(
302316 media = media ,
303317 mime_type = None ,
304318 filename = None ,
305- media_type = first_param .format . value ,
319+ media_type = _header_format_to_message_type [ first_param .format ] ,
306320 phone_id = sender ,
307321 )
308322 for p in params :
0 commit comments