Skip to content

Commit

Permalink
Bot API 6.8 - TInjectTelegram v.1.4.5
Browse files Browse the repository at this point in the history
August 18, 2023
Bot API 6.8

Added the field story to the class Message for messages with forwarded stories. Currently, it holds no information.
Added the field voter_chat to the class PollAnswer, to contain channel chat voters in Polls. For backward compatibility, the field user in such objects will contain the user 136817688 (@Channel_Bot).
Added the field emoji_status_expiration_date to the class Chat.
Added the method unpinAllGeneralForumTopicMessages.
Increased to 512 characters the maximum length of the startapp parameter in direct Web App links.
  • Loading branch information
dieletro committed Aug 22, 2023
1 parent fc201b3 commit 4cfb4ef
Show file tree
Hide file tree
Showing 114 changed files with 42,317 additions and 0 deletions.
94 changes: 94 additions & 0 deletions v1.4.5/CrossUrl/Core/CrossUrl.HttpClient.pas
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
unit CrossUrl.HttpClient;

interface

uses
System.Classes,
System.SysUtils;

type
TcuProxy = record
private
FHost: string;
FPort: Integer;
FUserName: string;
FPassword: string;
public
constructor Create(const AHost: string; APort: Integer; const AUserName:
string = ''; const APassword: string = '');
property Host: string read FHost write FHost;
property Port: Integer read FPort write FPort;
property UserName: string read FUserName write FUserName;
property Password: string read FPassword write FPassword;
end;

IcuUri = interface
['{46DF4232-C572-45F8-8CAB-86096F32FA66}']
function GetScheme: string;
procedure SetScheme(const Value: string);
property Scheme: string read GetScheme write SetScheme;
end;

IcuMultipartFormData = interface
['{C1FEF918-67B9-4503-B67F-AD942F16FEB3}']
function GetStream: TStream;
//
procedure AddField(const AField, AValue: string);
procedure AddFile(const AFieldName, AFilePath: string);
/// <summary>
/// Add a form data Stream
/// </summary>
/// <param name="AFieldName">
/// Field Name
/// </param>
/// <param name="Data">
/// Stream
/// </param>
/// <param name="AFileName">
/// file name: "File.ext"
/// </param>
procedure AddStream(const AFieldName: string; Data: TStream; const AFileName:
string = '');
property Stream: TStream read GetStream;
end;

IcuHttpResponse = interface
['{44F74F9B-CCD2-475E-95E0-02DA30AC749D}']
//private
function GetStatusCode: Integer;
function GetStatusText: string;
function GetContentStream: TStream;
//public
property StatusText: string read GetStatusText;
property StatusCode: Integer read GetStatusCode;
property ContentStream: TStream read GetContentStream;
function ContentAsString(const AnEncoding: TEncoding = nil): string;
end;

IcuHttpClient = interface
['{EB3348C4-5651-4BAB-988D-A28794FEB149}']
function GetProxy: TcuProxy;
procedure SetProxy(const AProxy: TcuProxy);
//
function CreateMultipartFormData: IcuMultipartFormData;
function Get(const AUrl: string): IcuHttpResponse;
function Post(const AURL: string; const ASource: IcuMultipartFormData):
IcuHttpResponse;
property Proxy: TcuProxy read GetProxy write SetProxy;
end;

implementation

{ TcuProxy }

constructor TcuProxy.Create(const AHost: string; APort: Integer; const AUserName,
APassword: string);
begin
FHost := AHost;
FPort := APort;
FUserName := AUserName;
FPassword := APassword;
end;

end.

37 changes: 37 additions & 0 deletions v1.4.5/CrossUrl/Core/CrossUrl.dpk
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package CrossUrl;

{$R *.res}
{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO OFF}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION OFF}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES ON}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$DEFINE DEBUG}
{$ENDIF IMPLICITBUILDING}
{$DESCRIPTION 'Cross URL'}
{$IMPLICITBUILD ON}

requires
rtl;

contains
CrossUrl.HttpClient in 'CrossUrl.HttpClient.pas';

end.
1,027 changes: 1,027 additions & 0 deletions v1.4.5/CrossUrl/Core/CrossUrl.dproj

Large diffs are not rendered by default.

Binary file added v1.4.5/CrossUrl/Core/CrossUrl.res
Binary file not shown.
7 changes: 7 additions & 0 deletions v1.4.5/CrossUrl/CrossUrl.pas
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
unit CrossUrl;

interface

implementation

end.
84 changes: 84 additions & 0 deletions v1.4.5/CrossUrl/CrossUrlProject.groupproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{B1B0AA9C-8DE4-40E6-99FA-1601E40DC0D5}</ProjectGuid>
</PropertyGroup>
<ItemGroup>
<Projects Include="Core\CrossUrl.dproj">
<Dependencies/>
</Projects>
<Projects Include="System.Net\CrossUrl.SystemNet.dproj">
<Dependencies>Core\CrossUrl.dproj</Dependencies>
</Projects>
<Projects Include="Indy\CrossUrl.Indy.dproj">
<Dependencies/>
</Projects>
<Projects Include="..\TelegaPI\Packages\TInjectTelegramCollection.dproj">
<Dependencies/>
</Projects>
<Projects Include="..\..\Exemplo\ExemplosTInjectTelegram.dproj">
<Dependencies/>
</Projects>
</ItemGroup>
<ProjectExtensions>
<Borland.Personality>Default.Personality.12</Borland.Personality>
<Borland.ProjectType/>
<BorlandProject>
<Default.Personality/>
</BorlandProject>
</ProjectExtensions>
<Target Name="CrossUrl">
<MSBuild Projects="Core\CrossUrl.dproj"/>
</Target>
<Target Name="CrossUrl:Clean">
<MSBuild Projects="Core\CrossUrl.dproj" Targets="Clean"/>
</Target>
<Target Name="CrossUrl:Make">
<MSBuild Projects="Core\CrossUrl.dproj" Targets="Make"/>
</Target>
<Target Name="CrossUrl_SystemNet" DependsOnTargets="CrossUrl">
<MSBuild Projects="System.Net\CrossUrl.SystemNet.dproj"/>
</Target>
<Target Name="CrossUrl_SystemNet:Clean" DependsOnTargets="CrossUrl:Clean">
<MSBuild Projects="System.Net\CrossUrl.SystemNet.dproj" Targets="Clean"/>
</Target>
<Target Name="CrossUrl_SystemNet:Make" DependsOnTargets="CrossUrl:Make">
<MSBuild Projects="System.Net\CrossUrl.SystemNet.dproj" Targets="Make"/>
</Target>
<Target Name="CrossUrl_Indy">
<MSBuild Projects="Indy\CrossUrl.Indy.dproj"/>
</Target>
<Target Name="CrossUrl_Indy:Clean">
<MSBuild Projects="Indy\CrossUrl.Indy.dproj" Targets="Clean"/>
</Target>
<Target Name="CrossUrl_Indy:Make">
<MSBuild Projects="Indy\CrossUrl.Indy.dproj" Targets="Make"/>
</Target>
<Target Name="TInjectTelegramCollection">
<MSBuild Projects="..\TelegaPI\Packages\TInjectTelegramCollection.dproj"/>
</Target>
<Target Name="TInjectTelegramCollection:Clean">
<MSBuild Projects="..\TelegaPI\Packages\TInjectTelegramCollection.dproj" Targets="Clean"/>
</Target>
<Target Name="TInjectTelegramCollection:Make">
<MSBuild Projects="..\TelegaPI\Packages\TInjectTelegramCollection.dproj" Targets="Make"/>
</Target>
<Target Name="ExemplosTInjectTelegram">
<MSBuild Projects="..\..\Exemplo\ExemplosTInjectTelegram.dproj"/>
</Target>
<Target Name="ExemplosTInjectTelegram:Clean">
<MSBuild Projects="..\..\Exemplo\ExemplosTInjectTelegram.dproj" Targets="Clean"/>
</Target>
<Target Name="ExemplosTInjectTelegram:Make">
<MSBuild Projects="..\..\Exemplo\ExemplosTInjectTelegram.dproj" Targets="Make"/>
</Target>
<Target Name="Build">
<CallTarget Targets="CrossUrl;CrossUrl_SystemNet;CrossUrl_Indy;TInjectTelegramCollection;ExemplosTInjectTelegram"/>
</Target>
<Target Name="Clean">
<CallTarget Targets="CrossUrl:Clean;CrossUrl_SystemNet:Clean;CrossUrl_Indy:Clean;TInjectTelegramCollection:Clean;ExemplosTInjectTelegram:Clean"/>
</Target>
<Target Name="Make">
<CallTarget Targets="CrossUrl:Make;CrossUrl_SystemNet:Make;CrossUrl_Indy:Make;TInjectTelegramCollection:Make;ExemplosTInjectTelegram:Make"/>
</Target>
<Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/>
</Project>
49 changes: 49 additions & 0 deletions v1.4.5/CrossUrl/Demo/Demo.dpr
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
program Demo;

{$APPTYPE CONSOLE}

{$R *.res}

uses
CrossUrl.HttpClient,
CrossUrl.SystemNet.HttpClient,
CrossUrl.Indy.HttpClient,
System.SysUtils;

const
SERVER = 'http://example.com/';

procedure TestCore(Client: IcuHttpClient);
var
r: IcuHttpResponse;
begin
r := Client.Get(SERVER);
Writeln(r.StatusText);
Writeln(r.StatusCode);
Writeln(r.ContentAsString);
end;

procedure TestSysNet;
begin
Writeln('Test System.Net: ');
TestCore(TcuHttpClientSysNet.Create(nil));
end;

procedure TestIndy;
begin
Writeln('Test Indy: ');
TestCore(TcuHttpClientIndy.Create(nil));
end;

begin
try
{ TODO -oUser -cConsole Main : Insert code here }
TestSysNet;
TestIndy;
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
Readln;
end.

Loading

0 comments on commit 4cfb4ef

Please sign in to comment.