Telegram-clientcomponent: sgcSocial | eSeGeCe

Telegram-client

TsgcTDLib_Telegram is een volledige Telegram-client gebouwd op de officiële TDLib (Telegram Database Library). Het meldt zich aan met een gebruikersaccount of een bot-token, en reikt daarmee veel verder dan de Bot API: je eigen chats, groepen, kanalen, secret chats, media, betalingen en zoeken. Hetzelfde component en dezelfde API in Delphi en C++ Builder.

TsgcTDLib_Telegram

Stel Telegram.API.ApiId en ApiHash in, meld je aan met Telegram.PhoneNumber of Telegram.BotToken, koppel de berichtevents, en zet dan Active op True.

Componentklasse

TsgcTDLib_Telegram

API

Officiële TDLib (Telegram Database Library)

Platforms

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

Talen

Delphi, C++ Builder

Ook in sgcWebSockets. De Telegram-client zit ook in sgcWebSockets-edities vanaf Standard. sgcSocial is het standalone package, de sgcWebSockets Core runtime is meegeleverd.

Aanmelden, ontvangen, antwoorden

Stel je api_id en api_hash van my.telegram.org in, meld je aan met een telefoonnummer, en echo inkomende tekstberichten. TsgcTDLib_Telegram is gedeclareerd in de sgcLibs-unit.

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!");
}

Belangrijkste eigenschappen & methoden

De leden die je het vaakst gebruikt.

Authenticatie

Telegram.API.ApiId en ApiHash identificeren je toepassing. Meld je aan met Telegram.PhoneNumber, of met Telegram.BotToken voor een bot. OnAuthenticationCode vraagt om de inlogcode, OnAuthenticationPassword voor het 2FA-wachtwoord, en OnRegisterUser dekt nieuwe accounts.

Sessiestatus

OnConnectionStatus en OnAuthorizationStatus melden de rauwe TDLib-statussen. Telegram.DatabaseDirectory bewaart de sessie, zodat je bij de volgende start niet opnieuw om een code wordt gevraagd.

Versturen

SendTextMessage en SendRichTextMessage voor tekst, SendDocumentMessage, SendPhotoMessage en SendVideoMessage voor media, SendMessageAlbum voor gegroepeerde media en SendInvoiceMessage voor betalingen.

Berichten beheren

EditTextMessage, DeleteMessages, ForwardMessages en PinChatMessage dekken de levenscyclus na het versturen.

Chats en groepen

CreatePrivateChat, CreateNewBasicGroupChat, CreateNewSupergroupChat en CreateNewSecretChat maken gesprekken aan. JoinChat en JoinChatByInviteLink laten je bestaande joinen.

Zoeken en bestanden

SearchChats, SearchMessages, SearchContacts en SearchPublicChats doorzoeken het netwerk. DownloadFile haalt elk bestand op dat TDLib via een id aanduidt.

Keyboards

Inline keyboards met callback- en URL-knoppen, beantwoord via AnswerCallbackQuery en waargenomen met OnNewCallbackQuery. Reply keyboards bieden tekstknoppen, request-location-knoppen en request-phone-number-knoppen.

Bots en betalingen

AnswerInlineQuery beantwoordt inline queries, AnswerPreCheckoutQuery en SendPaymentForm sturen de betalingsflow aan.

Events en escape hatch

OnMessageText, OnMessageDocument, OnMessagePhoto en OnMessageVideo leveren getypeerde berichten af, met OnMessageSponsored, OnNewChat en de rauwe OnEvent ernaast. SendCustomRequest verstuurt elke TDLib JSON-request.

Proxy's

HTTP-, SOCKS5- en MTProto-proxy's leiden de TDLib-verbinding via het netwerkpad van je keuze.

Blijf ontdekken

sgcSocial-overzichtBeide componenten, edities en licenties in één oogopslag.
Functiematrix: TelegramElke mogelijkheid van dit component in tabelvorm.
Telegram API Deep DiveDe API-referentiepagina, met links naar online help en PDF.
Blog: Telegram-client voor DelphiEen doorloop van het bouwen van een Telegram-client met dit component.
Blog: Android Telegram-clientDe TDLib-client draaien op Android.
Blog: iOS Telegram-clientDe TDLib-client draaien op iOS.
De beste deal: All-AccessElk eSeGeCe-product, inclusief Premium-ondersteuning, vanaf €1,059 per jaar.
Bekijk de All-Access-prijzen

Klaar om te beginnen?

Download de gratis proefversie en verstuur je eerste Telegram-bericht vanuit Delphi of C++ Builder.