Componente Telegram Client: sgcSocial | eSeGeCe

Telegram Client

TsgcTDLib_Telegram es un cliente completo de Telegram construido sobre el TDLib oficial (Telegram Database Library). Inicia sesión con una cuenta de usuario o con un token de bot, así que va mucho más allá de la Bot API: tus propios chats, grupos, canales, chats secretos, contenido multimedia, pagos y búsqueda. El mismo componente y la misma API en Delphi y en C++ Builder.

TsgcTDLib_Telegram

Configura Telegram.API.ApiId y ApiHash, inicia sesión con Telegram.PhoneNumber o Telegram.BotToken, conecta los eventos de mensajes y después pon Active a True.

Clase del componente

TsgcTDLib_Telegram

API

TDLib oficial (Telegram Database Library)

Plataformas

Windows, macOS, Linux de 64 bits, Android, iOS

Lenguajes

Delphi, C++ Builder

También incluido en sgcWebSockets. El cliente de Telegram también se incluye en sgcWebSockets a partir de la edición Standard. sgcSocial es el paquete independiente, con el runtime Core de sgcWebSockets incluido.

Inicia sesión, recibe, responde

Configura tu api_id y api_hash de my.telegram.org, inicia sesión con un número de teléfono y responde automáticamente a los mensajes de texto entrantes. TsgcTDLib_Telegram se declara en la unidad 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!");
}

Propiedades y métodos principales

Los miembros que vas a usar con más frecuencia.

Autenticación

Telegram.API.ApiId y ApiHash identifican tu aplicación. Inicia sesión con Telegram.PhoneNumber, o con Telegram.BotToken para un bot. OnAuthenticationCode solicita el código de inicio de sesión, OnAuthenticationPassword la contraseña de verificación en dos pasos, y OnRegisterUser cubre las cuentas nuevas.

Estado de la sesión

OnConnectionStatus y OnAuthorizationStatus informan de los estados en bruto de TDLib. Telegram.DatabaseDirectory persiste la sesión, de modo que el siguiente arranque no vuelve a pedir un código.

Envío

SendTextMessage y SendRichTextMessage para texto, SendDocumentMessage, SendPhotoMessage y SendVideoMessage para contenido multimedia, SendMessageAlbum para medios agrupados y SendInvoiceMessage para pagos.

Gestión de mensajes

EditTextMessage, DeleteMessages, ForwardMessages y PinChatMessage cubren el ciclo de vida posterior al envío.

Chats y grupos

CreatePrivateChat, CreateNewBasicGroupChat, CreateNewSupergroupChat y CreateNewSecretChat crean conversaciones. JoinChat y JoinChatByInviteLink se unen a las ya existentes.

Búsqueda y archivos

SearchChats, SearchMessages, SearchContacts y SearchPublicChats consultan la red. DownloadFile descarga cualquier archivo al que TDLib haga referencia.

Teclados

Teclados en línea con botones de callback y de URL, respondidos mediante AnswerCallbackQuery y observados con OnNewCallbackQuery. Los teclados de respuesta ofrecen botones de texto, de solicitud de ubicación y de solicitud de número de teléfono.

Bots y pagos

AnswerInlineQuery responde a las consultas en línea, y AnswerPreCheckoutQuery y SendPaymentForm gestionan el flujo de pagos.

Eventos y vía de escape

OnMessageText, OnMessageDocument, OnMessagePhoto y OnMessageVideo entregan mensajes tipados, junto con OnMessageSponsored, OnNewChat y el OnEvent en bruto. SendCustomRequest envía cualquier solicitud JSON de TDLib.

Proxys

Los proxys HTTP, SOCKS5 y MTProto encaminan la conexión de TDLib a través de la ruta de red que elijas.

Sigue explorando

Resumen de sgcSocialAmbos componentes, ediciones y licencias de un vistazo.
Matriz de funciones: TelegramTodas las funciones de este componente en forma de tabla.
Telegram API en profundidadLa página de referencia de la API, con enlaces a la ayuda en línea y al PDF.
Blog: cliente de Telegram para DelphiUn recorrido paso a paso para construir un cliente de Telegram con este componente.
Blog: cliente de Telegram para AndroidEjecutando el cliente TDLib en Android.
Blog: cliente de Telegram para iOSEjecutando el cliente TDLib en iOS.
La mejor opción: All-AccessTodos los productos de eSeGeCe, con Premium Support incluido, desde €1,059 al año.
Ver precios de All-Access

¿Listo para empezar?

Descarga la prueba gratuita y envía tu primer mensaje de Telegram desde Delphi o C++ Builder.