|
|
Oct 27, 2025 08:18 PM
|
|
Administrator
Rating:
29
Joined: Oct 3, 2019
Company: |
Hello Ertuğrul,
try pls next code:
| Code |
|---|
Function sendFileToTelegram(pathToFile)
AccessToken = "Access token";
ServerTg = "api.telegram.org";
ChatID = "123456789";
Boundary = "----" + String(New UUID());
File = New File(pathToFile);
arrayFilesToMerge = New Array;
arrayFilesToMerge.Add(GetTempFileName("txt"));
fileToSendBegin = New TextWriter(arrayFilesToMerge[0], TextEncoding.UTF8);
initialData = "--%Boundary%
|Content-Disposition: form-data; name=""chat_id""
|
|%ChatID%
|--%Boundary%
|Content-Disposition: form-data; name=""document""; filename=""%FileName%""
|";
initialData = StrReplace(initialData,"%Boundary%", Boundary);
initialData = StrReplace(initialData,"%ChatID%", ChatID);
initialData = StrReplace(initialData,"%FileName%", File.Name);
fileToSendBegin.WriteLine(initialData );
fileToSendBegin.Close();
arrayFilesToMerge.Add(pathToFile);
arrayFilesToMerge.Add(GetTempFileName("txt"));
fileToSendEnd = New TextWriter(arrayFilesToMerge[2], TextEncoding.UTF8);
finalData = "
|--%Boundary%--";
finalData = StrReplace(finalData,"%Boundary%",Boundary);
fileToSendEnd.WriteLine(finalData);
fileToSendEnd.Close();
outputFileName = GetTempFileName("txt");
MergeFiles(arrayFilesToMerge, outputFileName);
HTTPConnection = New HTTPConnection(ServerTg,443,,,,,New OpenSSLSecureConnection());
query = "bot"
+ AccessToken
+ "/sendDocument";
HTTPRequest = New HTTPRequest(query);
HTTPRequest.Headers.Insert("Connection", "keep-alive");
HTTPRequest.Headers.Insert("Content-Type", "multipart/form-data; boundary=" + Boundary);
HTTPRequest.SetBodyFileName(outputFileName);
Try
HTTPResponse = HTTPConnection.Post(HTTPRequest);
Except
Message(ErrorDescription());
EndTry;
EndFunction |
|
|
|