Componente Telegram Client: sgcSocial | eSeGeCe

Telegram Client

TsgcTDLib_Telegram è un client Telegram completo costruito sul TDLib ufficiale (Telegram Database Library). Effettua l'accesso con un account utente o un token bot, così va ben oltre la Bot API: le tue chat, gruppi, canali, chat segrete, media, pagamenti e ricerca. Lo stesso componente e la stessa API in Delphi e C++ Builder.

TsgcTDLib_Telegram

Imposta Telegram.API.ApiId e ApiHash, accedi con Telegram.PhoneNumber o Telegram.BotToken, aggancia gli eventi dei messaggi, poi imposta Active su True.

Classe del componente

TsgcTDLib_Telegram

API

TDLib ufficiale (Telegram Database Library)

Piattaforme

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

Linguaggi

Delphi, C++ Builder

Anche dentro sgcWebSockets. Il client Telegram è incluso anche nelle edizioni di sgcWebSockets a partire dalla Standard. sgcSocial è il package autonomo, il runtime sgcWebSockets Core è incluso.

Accedi, ricevi, rispondi

Imposta il tuo api_id e api_hash da my.telegram.org, accedi con un numero di telefono, e fai l'eco dei messaggi di testo in entrata. TsgcTDLib_Telegram è dichiarato nell'unit 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!");
}

Proprietà e metodi principali

I membri che userai più spesso.

Autenticazione

Telegram.API.ApiId e ApiHash identificano la tua applicazione. Accedi con Telegram.PhoneNumber, oppure con Telegram.BotToken per un bot. OnAuthenticationCode richiede il codice di accesso, OnAuthenticationPassword la password 2FA, e OnRegisterUser copre i nuovi account.

Stato della sessione

OnConnectionStatus e OnAuthorizationStatus riportano gli stati grezzi di TDLib. Telegram.DatabaseDirectory rende persistente la sessione, così il prossimo avvio non richiede più un codice.

Invio

SendTextMessage e SendRichTextMessage per il testo, SendDocumentMessage, SendPhotoMessage e SendVideoMessage per i media, SendMessageAlbum per i media raggruppati e SendInvoiceMessage per i pagamenti.

Gestione dei messaggi

EditTextMessage, DeleteMessages, ForwardMessages e PinChatMessage coprono il ciclo di vita dopo l'invio.

Chat e gruppi

CreatePrivateChat, CreateNewBasicGroupChat, CreateNewSupergroupChat e CreateNewSecretChat creano conversazioni. JoinChat e JoinChatByInviteLink si uniscono a quelle esistenti.

Ricerca e file

SearchChats, SearchMessages, SearchContacts e SearchPublicChats interrogano la rete. DownloadFile scarica qualsiasi file a cui TDLib fa riferimento.

Tastiere

Tastiere inline con pulsanti callback e URL, gestite tramite AnswerCallbackQuery e osservate con OnNewCallbackQuery. Le tastiere di risposta offrono pulsanti di testo, richiesta posizione e richiesta numero di telefono.

Bot e pagamenti

AnswerInlineQuery risponde alle query inline, AnswerPreCheckoutQuery e SendPaymentForm guidano il flusso dei pagamenti.

Eventi e accesso diretto

OnMessageText, OnMessageDocument, OnMessagePhoto e OnMessageVideo consegnano messaggi tipizzati, insieme a OnMessageSponsored, OnNewChat e il grezzo OnEvent. SendCustomRequest invia qualsiasi richiesta JSON di TDLib.

Proxy

I proxy HTTP, SOCKS5 e MTProto instradano la connessione TDLib attraverso il percorso di rete che preferisci.

Continua a esplorare

Panoramica di sgcSocialEntrambi i componenti, edizioni e licenze in breve.
Matrice delle funzionalità: TelegramOgni funzionalità di questo componente in forma di tabella.
Approfondimento sull'API TelegramLa pagina di riferimento dell'API, con link alla guida online e al PDF.
Blog: client Telegram per DelphiUna guida passo passo alla creazione di un client Telegram con questo componente.
Blog: client Telegram per AndroidEseguire il client TDLib su Android.
Blog: client Telegram per iOSEseguire il client TDLib su iOS.
La scelta più conveniente: All-AccessTutti i prodotti eSeGeCe, con Supporto Premium incluso, a partire da €1,059/anno.
Vedi i prezzi All-Access

Pronto per iniziare?

Scarica la versione di prova gratuita e invia il tuo primo messaggio Telegram da Delphi o C++ Builder.