Всем привет. Что-то меня заклинило, может кто подскажет? Проблема в следующем: В фб поменяли отправку сообщений. Старая, в общем-то работает, но не прикрепляются картинки, поэтому нужно переделать на новую. И хоть ты плач, но не работает, да, и к тому же, не понятно откуда некоторые параметры брать. ХЗ сколько уже бьюсь. ИССЯК! Code: function PostMessageToUser(HTTP:TidHTTP;Victim:string;message:string):Boolean; var Data,UrlData:TStringList; Multi:TIdMultiPartFormDataStream; res,res2,res_composer,fb_dtsg,id,metadata,url,appid,user__,tmp:string; s:TStringStream; i:integer; han:Boolean; reg:TRegExpr; Name,LastName:string; Files:TStringList; t_now:TDateTime; h,m,ss,ms:word; begin Result:=False; Data:=TStringList.Create; UrlData:=TStringList.Create; Multi:=TIdMultiPartFormDataStream.Create; s:=TStringStream.Create(''); han:=HTTP.HandleRedirects; reg:=TRegExpr.Create; regvkcom:=TRegExpr.Create; Files:=TStringList.Create; try user__:=Pars('c_user=',(HTTP.CookieManager.CookieCollection.Cookie['c_user','facebook.com'].ClientCookie),''); HTTP.HandleRedirects:=True; reg.Expression:='\d+'; if reg.Exec(Victim) then if reg.Match[0]<>Victim then begin try HTTP.Get('http://www.facebook.com/'+Victim,s); except end; res:=s.DataString; Victim:=Pars('profile_owner":"',res,'"'); end else begin try HTTP.Get('http://www.facebook.com/profile.php?id='+Victim,s); except end; res:=s.DataString; end; fb_dtsg:=Pars('"fb_dtsg":"',res,'"'); Name:=UTF8Decode(Pars('<title id="pageTitle">',res,'</title>')); LastName:=Trim(Copy(Name,Pos(' ',Name)+1,Length(Name))); Name:=Trim(Copy(Name,1,Pos(' ',Name)-1)); if (Pos(NAMETAG,LowerCase(Message))>0)or(Pos(LASTNAMETAG,LowerCase(Message))>0) then Message:=StrReplace(StrReplace(Message,NAMETAG,Name),LASTNAMETAG,LastName); try res:=HTTP.Get('https://www.facebook.com/messages/'+Victim); except end; t_now:=now; DecodeTime(t_now,h,m,ss,ms); Data.Clear; Data.Add('message_batch[0][action_type]=ma-type:user-generated-message'); Data.Add('message_batch[0][thread_id]='+Pars('"thread_id":"',res,'"')); Data.Add('message_batch[0][author]=fbid:'+user__); Data.Add('message_batch[0][author_email]='); Data.Add('message_batch[0][coordinates]='); Data.Add('message_batch[0][timestamp]='+IntToStr(DateTimeToUnixTime(t_now,0))); Data.Add('message_batch[0][timestamp_absolute]=Сегодня'); Data.Add('message_batch[0][timestamp_relative]='+IntToStr(h)+':'+IntToStr(m)); Data.Add('message_batch[0][timestamp_time_passed]=0'); Data.Add('message_batch[0][is_unread]=false'); Data.Add('message_batch[0][is_cleared]=false'); Data.Add('message_batch[0][is_forward]=false'); Data.Add('message_batch[0][is_filtered_content]=false'); Data.Add('message_batch[0][spoof_warning]=false'); Data.Add('message_batch[0][source]=source:titan:web'); Data.Add('message_batch[0][body]=ыва'); Data.Add('message_batch[0][has_attachment]=false'); Data.Add('message_batch[0][html_body]=false'); Data.Add('message_batch[0][specific_to_list][0]=fbid:'+Victim); Data.Add('message_batch[0][specific_to_list][1]=fbid:'+user__); Data.Add('message_batch[0][forward_count]=0'); Data.Add('message_batch[0][force_sms]=true'); Data.Add('message_batch[0][ui_push_phase]=V3'); Data.Add('message_batch[0][status]=0'); //не понятно откуда message_id берется... Data.Add('message_batch[0][message_id]='); Data.Add('client=mercury'); Data.Add('__user='+user__); Data.Add('__a=1'); //а это откуда берется? вроде для аккаунта не меняется, поэтому на рез-т испытаний не влияет Data.Add('__dyn=7n8ahxoNoYwd8'); Data.Add('__req=8'); Data.Add('fb_dtsg='+fb_dtsg); Data.Add('phstamp='); try res:=HTTP.Post('https://www.facebook.com/ajax/messaging/send.php',Data); except end; if Pos('error',LowerCase(res))=0 then Result:=True; finally reg.Free; HTTP.HandleRedirects:=han; HTTP.Request.ContentType:='application/x-www-form-urlencoded'; s.Free; Multi.Free; UrlData.Free; Data.Free; Files.Free; end; end;