Klient API Telegram dla Delphi & C++ Builder | eSeGeCe

Klient Telegram TDLib

Buduj aplikacje Telegram (konta użytkowników lub boty) w Delphi/C++ Builder. Owija oficjalną bibliotekę Telegram TDLib, udostępniając uwierzytelnianie, czaty, wiadomości i zdarzenia aktualizacji.

TsgcTDLib_Telegram

Wrapper Delphi/C++ Builder dla oficjalnej biblioteki Telegram TDLib (tdjson). Steruje maszyną stanów uwierzytelniania, udostępnia typowane zdarzenia wysyłania/odbierania wiadomości i dostarcza każdą pozostałą aktualizację TDLib przez OnEvent.

Klasa komponentu

TsgcTDLib_Telegram

Protokół

Telegram TDLib

Platformy

Windows, macOS, Linux, iOS, Android

Edycja

Standard / Professional / Enterprise

Ustaw TDLib, uwierzytelnij, wysyłaj wiadomości

Ustaw Telegram.API.ApiId / ApiHash oraz Telegram.PhoneNumber, podłącz OnAuthenticationCode do obsługi logowania, a następnie wysyłaj wiadomości, gdy OnAuthorizationStatus zgłosi authorizationStateReady.

uses
  sgcLibs;

var
  Telegram: TsgcTDLib_Telegram;
begin
  Telegram := TsgcTDLib_Telegram.Create(nil);
  Telegram.Telegram.API.ApiId   := '123456';
  Telegram.Telegram.API.ApiHash := 'your-api-hash';
  Telegram.Telegram.PhoneNumber := '+34600111222';

  Telegram.OnAuthenticationCode := TelegramAuthenticationCode;
  Telegram.OnAuthorizationStatus := TelegramAuthorizationStatus;
  Telegram.OnMessageText         := TelegramMessageText;

  Telegram.Active := True;
end;

procedure TForm1.TelegramAuthenticationCode(Sender: TObject;
  var Code: string);
begin
  Code := InputBox('Telegram', 'Enter the code you received', '');
end;

procedure TForm1.TelegramAuthorizationStatus(Sender: TObject;
  const Status: string);
begin
  if Status = 'authorizationStateReady' then
    Telegram.GetChats;
end;

procedure TForm1.TelegramMessageText(Sender: TObject;
  MessageText: TsgcTelegramMessageText);
begin
  Memo1.Lines.Add(MessageText.ChatId + ': ' + MessageText.Text);
  Telegram.SendTextMessage(MessageText.ChatId, 'received!');
end;
// include: sgcLibs.hpp

TsgcTDLib_Telegram *Telegram = new TsgcTDLib_Telegram(this);
Telegram->Telegram->API->ApiId   = "123456";
Telegram->Telegram->API->ApiHash = "your-api-hash";
Telegram->Telegram->PhoneNumber = "+34600111222";

Telegram->OnAuthenticationCode = TelegramAuthenticationCode;
Telegram->OnAuthorizationStatus = TelegramAuthorizationStatus;
Telegram->OnMessageText = TelegramMessageText;

Telegram->Active = true;

void __fastcall TForm1::TelegramAuthenticationCode(TObject *Sender, AnsiString &Code)
{
  Code = InputBox("Telegram", "Enter the code you received", "");
}

void __fastcall TForm1::TelegramAuthorizationStatus(TObject *Sender, const AnsiString Status)
{
  if (Status == "authorizationStateReady")
    Telegram->GetChats();
}

void __fastcall TForm1::TelegramMessageText(TObject *Sender, TsgcTelegramMessageText *MessageText)
{
  Memo1->Lines->Add(MessageText->ChatId + ": " + MessageText->Text);
  Telegram->SendTextMessage(MessageText->ChatId, "received!");
}

Co jest w środku

Delphi-owa fasada nad oficjalną biblioteką współdzieloną TDLib (tdjson) — ten sam protokół, którego używają oficjalni klienci Telegram.

Przebieg uwierzytelniania

Komponent steruje maszyną stanów uwierzytelniania TDLib: numer telefonu, kod, opcjonalne hasło 2FA, a sesja jest utrwalana w lokalnym katalogu bazy danych.

Wysyłanie wiadomości

SendTextMessage, SendPhotoMessage, SendVideoMessage, SendDocumentMessage i SendMessageAlbum pokrywają główne typy treści wiadomości TDLib.

Czaty i kontakty

GetChats, GetChat, SearchPublicChat i GetUser udostępniają książkę adresową Telegram oraz dołączone kanały/grupy jako typowane odpowiedzi.

Strumień aktualizacji

OnEvent dostarcza każde zdarzenie TDLib updateXxx — nowe wiadomości, pisanie użytkownika, posty kanałów, edycje, usunięcia — jako nazwę zdarzenia i surowy JSON do dalszego routingu, obok typowanych zdarzeń OnMessageText, OnNewChat i OnNewCallbackQuery dla typowych przypadków.

Natywna TDLib

Używa oficjalnej tdjson.dll / libtdjson.so / libtdjson.dylib — te same gwarancje szyfrowania end-to-end co oficjalny klient Telegram.

Wieloplatformowy

TDLib jest dostępna dla Windows, macOS, Linux, Android i iOS. Komponent automatycznie lokalizuje i ładuje natywną bibliotekę dla danej platformy; Ty zajmujesz się jedynie typowaną integracją poprzez powyższe zdarzenia i metody.

Specyfikacje i źródła

Autorytatywne źródła API implementowanego przez ten komponent.

Dokumentacja i dema

Bezpośredni link do dokumentacji komponentu, gotowy do uruchomienia projekt demo i pobieranie wersji próbnej.

Pomoc online — API_Telegram Pełna dokumentacja właściwości, metod i zdarzeń tego komponentu.
Projekt demo — Demos\50.Other\01.Telegram_Client Gotowy do uruchomienia projekt przykładowy. Dostarczany w pakiecie sgcWebSockets — pobierz wersję próbną poniżej.
Dokument techniczny (PDF) Funkcje, szybki start, przykłady kodu dla Delphi i C++ Builder oraz źródła pierwotne — tylko ten komponent.
Podręcznik użytkownika (PDF) Kompleksowy podręcznik obejmujący każdy komponent biblioteki.
Najkorzystniejsza oferta: All-AccessWszystkie produkty eSeGeCe, ze wsparciem Premium w cenie, już od €1,059 rocznie.
Zobacz cennik All-Access

Gotowy do zbudowania klienta Telegram?

Pobierz bezpłatną wersję próbną i dodaj wiadomości Telegram do swoich aplikacji Delphi.