Telegram-Client-Komponente: sgcSocial | eSeGeCe

Telegram-Client

TsgcTDLib_Telegram ist ein vollständiger Telegram-Client auf Basis des offiziellen TDLib (Telegram Database Library). Er meldet sich mit einem Benutzerkonto oder einem Bot-Token an und reicht damit weit über die Bot-API hinaus: deine eigenen Chats, Gruppen, Kanäle, geheime Chats, Medien, Zahlungen und Suche. Dieselbe Komponente und dieselbe API in Delphi und C++ Builder.

TsgcTDLib_Telegram

Setze Telegram.API.ApiId und ApiHash, melde dich mit Telegram.PhoneNumber oder Telegram.BotToken an, verdrahte die Nachrichtenereignisse und setze dann Active auf True.

Komponentenklasse

TsgcTDLib_Telegram

API

Offizielles TDLib (Telegram Database Library)

Plattformen

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

Sprachen

Delphi, C++ Builder

Auch in sgcWebSockets enthalten. Der Telegram-Client ist außerdem ab der sgcWebSockets Edition Standard enthalten. sgcSocial ist das eigenständige Paket, die sgcWebSockets Core Runtime ist darin enthalten.

Anmelden, empfangen, antworten

Setze deine api_id und api_hash von my.telegram.org, melde dich mit einer Telefonnummer an und beantworte eingehende Textnachrichten automatisch. TsgcTDLib_Telegram ist in der sgcLibs-Unit deklariert.

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

Wichtige Eigenschaften & Methoden

Die Member, zu denen du am häufigsten greifst.

Authentifizierung

Telegram.API.ApiId und ApiHash identifizieren deine Anwendung. Melde dich mit Telegram.PhoneNumber an, oder mit Telegram.BotToken für einen Bot. OnAuthenticationCode fragt nach dem Login-Code, OnAuthenticationPassword nach dem 2FA-Passwort, und OnRegisterUser deckt neue Konten ab.

Sitzungsstatus

OnConnectionStatus und OnAuthorizationStatus melden die rohen TDLib-Zustände. Telegram.DatabaseDirectory speichert die Sitzung dauerhaft, sodass beim nächsten Start kein Code erneut abgefragt wird.

Senden

SendTextMessage und SendRichTextMessage für Text, SendDocumentMessage, SendPhotoMessage und SendVideoMessage für Medien, SendMessageAlbum für gruppierte Medien und SendInvoiceMessage für Zahlungen.

Nachrichten verwalten

EditTextMessage, DeleteMessages, ForwardMessages und PinChatMessage decken den Lebenszyklus nach dem Versand ab.

Chats und Gruppen

CreatePrivateChat, CreateNewBasicGroupChat, CreateNewSupergroupChat und CreateNewSecretChat erzeugen Unterhaltungen. JoinChat und JoinChatByInviteLink treten bestehenden bei.

Suche und Dateien

SearchChats, SearchMessages, SearchContacts und SearchPublicChats fragen das Netzwerk ab. DownloadFile lädt jede Datei herunter, auf die TDLib verweist.

Keyboards

Inline-Keyboards mit Callback- und URL-Buttons, beantwortet über AnswerCallbackQuery und beobachtet mit OnNewCallbackQuery. Reply-Keyboards bieten Text-, Standort-Anfrage- und Telefonnummer-Anfrage-Buttons.

Bots und Zahlungen

AnswerInlineQuery beantwortet Inline-Anfragen, AnswerPreCheckoutQuery und SendPaymentForm steuern den Zahlungsablauf.

Ereignisse und Ausweichmöglichkeit

OnMessageText, OnMessageDocument, OnMessagePhoto und OnMessageVideo liefern typisierte Nachrichten, dazu OnMessageSponsored, OnNewChat und das rohe OnEvent. SendCustomRequest sendet jede beliebige TDLib-JSON-Anfrage.

Proxys

HTTP-, SOCKS5- und MTProto-Proxys leiten die TDLib-Verbindung über den Netzwerkpfad deiner Wahl.

Weiter entdecken

sgcSocial-ÜberblickBeide Komponenten, Editionen und Lizenzierung auf einen Blick.
Funktionsmatrix: TelegramJede Fähigkeit dieser Komponente in Tabellenform.
Telegram-API im DetailDie API-Referenzseite, mit Links zur Online-Hilfe und zum PDF.
Blog: Telegram-Client für DelphiEine Schritt-für-Schritt-Anleitung zum Bau eines Telegram-Clients mit dieser Komponente.
Blog: Telegram-Client für AndroidDer TDLib-Client unter Android.
Blog: Telegram-Client für iOSDer TDLib-Client unter iOS.
Bestes Preis-Leistungs-Verhältnis: All-AccessAlle eSeGeCe-Produkte, inklusive Premium-Support, ab €1,059 pro Jahr.
All-Access-Preise ansehen

Bereit loszulegen?

Lade die kostenlose Testversion herunter und sende deine erste Telegram-Nachricht aus Delphi oder C++ Builder.