-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bot API 6.8 - TInjectTelegram v.1.4.5
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
Showing
114 changed files
with
42,317 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |
Large diffs are not rendered by default.
Oops, something went wrong.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
unit CrossUrl; | ||
|
||
interface | ||
|
||
implementation | ||
|
||
end. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. | ||
|
Oops, something went wrong.