Komponent Telegram Client: sgcSocial | eSeGeCe

Telegram Client

TsgcTDLib_Telegram to pełny klient Telegrama zbudowany na oficjalnym TDLib (Telegram Database Library). Loguje się kontem użytkownika albo tokenem bota, więc sięga daleko poza Bot API: twoje własne czaty, grupy, kanały, czaty tajne, multimedia, płatności i wyszukiwanie. Ten sam komponent i to samo API w Delphi oraz C++ Builder.

TsgcTDLib_Telegram

Ustaw Telegram.API.ApiId i ApiHash, zaloguj się przez Telegram.PhoneNumber albo Telegram.BotToken, podłącz zdarzenia wiadomości, a następnie ustaw Active na True.

Klasa komponentu

TsgcTDLib_Telegram

API

Oficjalny TDLib (Telegram Database Library)

Platformy

Windows, macOS, Linux 64-bit, Android, iOS

Języki

Delphi, C++ Builder

Także wewnątrz sgcWebSockets. Klient Telegrama jest dostarczany także wewnątrz sgcWebSockets od edycji Standard wzwyż. sgcSocial to pakiet samodzielny, środowisko uruchomieniowe sgcWebSockets Core jest w zestawie.

Zaloguj się, odbieraj, odpowiadaj

Ustaw swoje api_id i api_hash z my.telegram.org, zaloguj się numerem telefonu i odbijaj echem przychodzące wiadomości tekstowe. TsgcTDLib_Telegram jest zadeklarowany w module sgcLibs.

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->OnMessageText        = TelegramMessageText;

Telegram->Active = true;

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

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

Kluczowe właściwości i metody

Składowe, po które sięgasz najczęściej.

Uwierzytelnianie

Telegram.API.ApiId i ApiHash identyfikują twoją aplikację. Zaloguj się przez Telegram.PhoneNumber, albo przez Telegram.BotToken dla bota. OnAuthenticationCode prosi o kod logowania, OnAuthenticationPassword o hasło 2FA, a OnRegisterUser obejmuje nowe konta.

Stan sesji

OnConnectionStatus i OnAuthorizationStatus raportują surowe stany TDLib. Telegram.DatabaseDirectory utrwala sesję, więc kolejne uruchomienie nie prosi ponownie o kod.

Wysyłanie

SendTextMessage i SendRichTextMessage dla tekstu, SendDocumentMessage, SendPhotoMessage i SendVideoMessage dla multimediów, SendMessageAlbum dla zgrupowanych multimediów oraz SendInvoiceMessage dla płatności.

Zarządzanie wiadomościami

EditTextMessage, DeleteMessages, ForwardMessages i PinChatMessage obejmują cykl życia po wysłaniu.

Czaty i grupy

CreatePrivateChat, CreateNewBasicGroupChat, CreateNewSupergroupChat i CreateNewSecretChat tworzą konwersacje. JoinChat i JoinChatByInviteLink dołączają do istniejących.

Wyszukiwanie i pliki

SearchChats, SearchMessages, SearchContacts i SearchPublicChats odpytują sieć. DownloadFile pobiera dowolny plik, do którego odwołuje się TDLib.

Klawiatury

Klawiatury inline z przyciskami callback i URL, obsługiwane przez AnswerCallbackQuery i obserwowane przez OnNewCallbackQuery. Klawiatury reply oferują przyciski tekstowe, żądania lokalizacji i żądania numeru telefonu.

Boty i płatności

AnswerInlineQuery odpowiada na zapytania inline, a AnswerPreCheckoutQuery i SendPaymentForm sterują przepływem płatności.

Zdarzenia i zawór bezpieczeństwa

OnMessageText, OnMessageDocument, OnMessagePhoto i OnMessageVideo dostarczają typowane wiadomości, obok nich OnMessageSponsored, OnNewChat i surowe OnEvent. SendCustomRequest wysyła dowolne żądanie JSON TDLib.

Proxy

Proxy HTTP, SOCKS5 i MTProto kierują połączenie TDLib przez wybraną przez ciebie ścieżkę sieciową.

Poznawaj dalej

Przegląd sgcSocialOba komponenty, edycje i licencjonowanie w skrócie.
Matryca funkcji: TelegramKażda możliwość tego komponentu w formie tabeli.
Dogłębne omówienie API TelegramaStrona referencyjna API, z odnośnikami do pomocy online i PDF.
Blog: Klient Telegrama dla DelphiPrzewodnik po budowie klienta Telegrama z tym komponentem.
Blog: Klient Telegrama na AndroidaUruchamianie klienta TDLib na Androidzie.
Blog: Klient Telegrama na iOSUruchamianie klienta TDLib na iOS.
Najkorzystniejsza oferta: All-AccessWszystkie produkty eSeGeCe, ze wsparciem Premium w cenie, już od €1,059 rocznie.
Zobacz cennik All-Access

Gotowy, aby zacząć?

Pobierz bezpłatną wersję próbną i wyślij swoją pierwszą wiadomość na Telegramie z Delphi lub C++ Builder.