فرمانی برای ارسال متن و عکس به پیام رسان ایتا
سلام به همگی
من می خواهم با پیامرسان ایتا ارتباط برقرار کنم
یعنی من توکن و ای دی کانالم را دارم و میخواهم که پیام شامل عکس و متن و یا فیلم ارسال کنم هیچ راهی هم دراینترنت براش ندیدم
لطفا من را کمک کنید
سعی من اینه که تمام کار توسط خود دلفی انجام بشه :ناراحت:
نقل قول: فرمانی برای ارسال متن و عکس به پیام رسان ایتا
نقل قول: فرمانی برای ارسال متن و عکس به پیام رسان ایتا
نقل قول:
نوشته شده توسط
یوسف زالی
این را به زبان پی اچ پی نوشته و اگر میشد به دلفی برگرداندش عالی میشد
البته من از چت جی پی تی کمک گرفتم .که نتونستم به کار بگیرمش
بلد نیستم که کدها رو چطور باید در اینجا بیارم
نقل قول: فرمانی برای ارسال متن و عکس به پیام رسان ایتا
هیچ کس ایده ای نداره
سیگنال ونشانه ای چیزی که بشه از جایی شروع کرد
procedure TForm1.ButtonSendClick(Sender: TObject);
var
HTTP: TIdHTTP;
SSL: TIdSSLIOHandlerSocketOpenSSL;
FormData: TIdMultiPartFormDataStream;
APIUrl: string;
begin
HTTP := TIdHTTP.Create(nil);
SSL := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
FormData := TIdMultiPartFormDataStream.Create;
try
// SSL.SSLOptions.Method := sslvTLSv1_2;
HTTP.IOHandler := SSL;
// Replace YOUR_ETA_TOKEN with your actual ETA token
HTTP.Request.CustomHeaders.Add('Authorization: Bearer ' + Edit3.Text);
// Add text message parameter
FormData.AddFormField('text', Edit1.Text);
// Add image parameter
FormData.AddFile('image', Edit2.Text);
// Construct the API URL for sending a message to a specific channel
APIUrl := 'https://eitaayar.ir/api/'+Edit3.Text+'/URL query string';
// Send POST request to ETA API endpoint for a specific channel
HTTP.Post(APIUrl, FormData);
ShowMessage('Message sent successfully!');
except
on E: Exception do
ShowMessage('Error: ' + E.Message);
end;
FormData.Free;
SSL.Free;
HTTP.Free;
end;
این رو از چت جی پی تی گرفتن کارنمیکنه و خطا میده که اصلا به نظرم بی ربط به داده
خطاش اینه
could not load ssl library
در این مثال جایی برای دریافت ای دی کانال نیست
در ضمن در اینجا
// SSL.SSLOptions.Method := sslvTLSv1_2;
این متد را دلفی من ایراد میگیره و من غیر فعالش کردم برای همین احتمالا خطا داده
نمیدونم چرا خطا میده این متد را
sslvTLSv1_2
نقل قول: فرمانی برای ارسال متن و عکس به پیام رسان ایتا
دو تا فایل libeay32.dll ssleay32.dll کنار برنامه بزارید تست کنید
2 ضمیمه
نقل قول: فرمانی برای ارسال متن و عکس به پیام رسان ایتا
نقل قول:
نوشته شده توسط
اقا مجید
سلام به همگی
من می خواهم با پیامرسان ایتا ارتباط برقرار کنم
یعنی من توکن و ای دی کانالم را دارم و میخواهم که پیام شامل عکس و متن و یا فیلم ارسال کنم هیچ راهی هم دراینترنت براش ندیدم
لطفا من را کمک کنید
سعی من اینه که تمام کار توسط خود دلفی انجام بشه :ناراحت:
unit test;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdHTTP, Vcl.StdCtrls,
IdCustomTCPServer, IdCustomHTTPServer, IdHTTPServer,
IdContext, IdMultipartFormData, IdHeaderList, IdMessageCoder,
IdMessageCoderMIME, IdMessage, IdGlobalProtocols, System.DateUtils;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure SendtoEita;
var
token: string;
chat_id: Integer;
caption: string;
title: string;
request: TIdHTTP;
IdMulti : TIdMultiPartFormDataStream;
response: string;
MyTimestamp: Int64;
begin
token := 'bot******:97f***fec-***767565******-8860-****676***';
chat_id := 20****67;
caption := 'Test Caption';
title := 'API Tester';
request := TIdHTTP.Create(nil);
try
request.Request.ContentType := 'multipart/form-data';
try
MyTimestamp := DateTimeToUnix(Now);
IdMulti := TIdMultiPartFormDataStream.Create;
IdMulti.AddFile('file', 'C:\TestFile.jpg');
IdMulti.AddFormField('chat_id', IntToStr(chat_id));
IdMulti.AddFormField('title', title);
IdMulti.AddFormField('caption', caption);
IdMulti.AddFormField('date', IntToStr(MyTimestamp+30));
response := request.Post('https://eitaayar.ir/api/' + token + '/sendFile', IdMulti);
ShowMessage(response);
finally
IdMulti.Free;
end;
finally
request.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SendtoEita;
end;
end.
اینم از فایل های OpenSSL: