@@ -1089,18 +1089,25 @@ def sendUri(self, uri, message=None, thread_id=None, thread_type=ThreadType.USER
10891089 if message is not None :
10901090 data .update (message ._to_send_data ())
10911091 data ["action_type" ] = "ma-type:user-generated-message"
1092- data ["has_attachment" ] = True
10931092 data ["shareable_attachment[share_type]" ] = urlData ["share_type" ]
1094- for key in urlData ["share_params" ]:
1095- if isinstance (urlData ["share_params" ][key ], dict ):
1096- for key2 in urlData ["share_params" ][key ]:
1097- data [
1098- "shareable_attachment[share_params][{}][{}]" .format (key , key2 )
1099- ] = urlData ["share_params" ][key ][key2 ]
1100- else :
1101- data ["shareable_attachment[share_params][{}]" .format (key )] = urlData [
1102- "share_params"
1103- ][key ]
1093+ # most uri params will come back as dict
1094+ if isinstance (urlData ['share_params' ], dict ):
1095+ data ["has_attachment" ] = True
1096+ for key in urlData ["share_params" ]:
1097+ if isinstance (urlData ["share_params" ][key ], dict ):
1098+ for key2 in urlData ["share_params" ][key ]:
1099+ data [
1100+ "shareable_attachment[share_params][{}][{}]" .format (key , key2 )
1101+ ] = urlData ["share_params" ][key ][key2 ]
1102+ else :
1103+ data ["shareable_attachment[share_params][{}]" .format (key )] = urlData [
1104+ "share_params"
1105+ ][key ]
1106+ # some (such as facebook profile pages) will just be a list
1107+ else :
1108+ data ["has_attachment" ] = False
1109+ for index , val in enumerate (urlData ['share_params' ]):
1110+ data ['shareable_attachment[share_params][{}]' .format (index )] = val
11041111 return self ._doSendRequest (data )
11051112
11061113 def sendEmoji (
0 commit comments