@@ -84,6 +84,10 @@ def _make_request(
8484 data : Any = None ,
8585 ) -> StreamResponse :
8686 params = params or {}
87+ # Convert boolean values to lowercase strings for consistency with async implementation
88+ params = {
89+ k : str (v ).lower () if isinstance (v , bool ) else v for k , v in params .items ()
90+ }
8791 data = data or {}
8892 serialized = None
8993 default_params = self .get_default_params ()
@@ -94,7 +98,7 @@ def _make_request(
9498
9599 url = f"{ self .base_url } /{ relative_url } "
96100
97- if method .__name__ in ["post" , "put" , "patch" ]:
101+ if method .__name__ in ["post" , "put" , "patch" , "delete" ]:
98102 serialized = json .dumps (data )
99103
100104 response = method (
@@ -119,8 +123,8 @@ def post(
119123 def get (self , relative_url : str , params : Dict = None ) -> StreamResponse :
120124 return self ._make_request (self .session .get , relative_url , params , None )
121125
122- def delete (self , relative_url : str , params : Dict = None ) -> StreamResponse :
123- return self ._make_request (self .session .delete , relative_url , params , None )
126+ def delete (self , relative_url : str , params : Dict = None , data : Any = None ) -> StreamResponse :
127+ return self ._make_request (self .session .delete , relative_url , params , data )
124128
125129 def patch (
126130 self , relative_url : str , params : Dict = None , data : Any = None
@@ -352,14 +356,14 @@ def delete_message(
352356 if delete_for_me and not deleted_by :
353357 raise ValueError ("deleted_by is required when delete_for_me is True" )
354358
355- data = options .copy ()
359+ params = options .copy ()
356360 if delete_for_me :
357- data [ "delete_for_me" ] = True
358- data [ "deleted_by" ] = deleted_by
359- elif deleted_by :
360- data [ " deleted_by" ] = deleted_by
361-
362- return self .delete (f"messages/{ message_id } " , data )
361+ # Send acting user in the request body for server-side auth compatibility
362+ body = { "delete_for_me" : True , "user" : { "id" : deleted_by }}
363+ return self . delete ( f"messages/ { message_id } " , None , body )
364+ if deleted_by :
365+ params [ "deleted_by" ] = deleted_by
366+ return self .delete (f"messages/{ message_id } " , params )
363367
364368 def undelete_message (self , message_id : str , user_id : str ) -> StreamResponse :
365369 return self .post (
0 commit comments