Componente cliente Telegram: sgcSocial | eSeGeCe

Cliente Telegram

O TsgcTDLib_Telegram é um cliente Telegram completo construído sobre o TDLib oficial (Telegram Database Library). Ele entra com uma conta de usuário ou com um token de bot, então alcança muito além da Bot API: os seus próprios chats, grupos, canais, chats secretos, mídia, pagamentos e pesquisa. O mesmo componente e a mesma API em Delphi e C++ Builder.

TsgcTDLib_Telegram

Defina Telegram.API.ApiId e ApiHash, entre com Telegram.PhoneNumber ou Telegram.BotToken, conecte os eventos de mensagem e então defina Active como True.

Classe do componente

TsgcTDLib_Telegram

API

TDLib oficial (Telegram Database Library)

Plataformas

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

Linguagens

Delphi, C++ Builder

Também dentro do sgcWebSockets. O cliente Telegram também vem dentro das edições do sgcWebSockets a partir da Standard. O sgcSocial é o pacote autônomo, o runtime sgcWebSockets Core vem embutido.

Entre, receba, responda

Defina o seu api_id e api_hash de my.telegram.org, entre com um número de telefone e ecoe as mensagens de texto recebidas. TsgcTDLib_Telegram é declarado na 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!");
}

Principais propriedades e métodos

Os membros que você usa com mais frequência.

Autenticação

Telegram.API.ApiId e ApiHash identificam a sua aplicação. Entre com Telegram.PhoneNumber, ou com Telegram.BotToken para um bot. OnAuthenticationCode pede o código de login, OnAuthenticationPassword pede a senha de 2FA, e OnRegisterUser cobre contas novas.

Estado da sessão

OnConnectionStatus e OnAuthorizationStatus informam os estados brutos do TDLib. Telegram.DatabaseDirectory persiste a sessão, então a próxima inicialização não pede um código de novo.

Envio

SendTextMessage e SendRichTextMessage para texto, SendDocumentMessage, SendPhotoMessage e SendVideoMessage para mídia, SendMessageAlbum para mídia agrupada e SendInvoiceMessage para pagamentos.

Gerenciamento de mensagens

EditTextMessage, DeleteMessages, ForwardMessages e PinChatMessage cobrem o ciclo de vida depois do envio.

Chats e grupos

CreatePrivateChat, CreateNewBasicGroupChat, CreateNewSupergroupChat e CreateNewSecretChat criam conversas. JoinChat e JoinChatByInviteLink entram nas já existentes.

Pesquisa e arquivos

SearchChats, SearchMessages, SearchContacts e SearchPublicChats consultam a rede. DownloadFile busca qualquer arquivo referenciado pelo TDLib.

Teclados

Teclados inline com botões de callback e de URL, respondidos por AnswerCallbackQuery e observados com OnNewCallbackQuery. Os teclados de resposta oferecem botões de texto, de solicitação de localização e de número de telefone.

Bots e pagamentos

AnswerInlineQuery responde consultas inline, AnswerPreCheckoutQuery e SendPaymentForm conduzem o fluxo de pagamentos.

Eventos e válvula de escape

OnMessageText, OnMessageDocument, OnMessagePhoto e OnMessageVideo entregam mensagens tipadas, com OnMessageSponsored, OnNewChat e o OnEvent bruto ao lado. SendCustomRequest envia qualquer requisição JSON do TDLib.

Proxies

Proxies HTTP, SOCKS5 e MTProto roteiam a conexão do TDLib pelo caminho de rede da sua escolha.

Continue explorando

Visão geral do sgcSocialOs dois componentes, edições e licenciamento em um só lugar.
Matriz de recursos: TelegramTodo recurso deste componente em forma de tabela.
Aprofundamento na API do TelegramA página de referência da API, com links de ajuda online e PDF.
Blog: cliente Telegram para DelphiUm passo a passo da construção de um cliente Telegram com este componente.
Blog: cliente Telegram no AndroidExecutando o cliente TDLib no Android.
Blog: cliente Telegram no iOSExecutando o cliente TDLib no iOS.
Melhor custo-benefício: All-AccessTodos os produtos da eSeGeCe, com Suporte Premium incluído, a partir de €1,059/ano.
Ver preços do All-Access

Pronto para começar?

Baixe a versão de avaliação gratuita e envie a sua primeira mensagem no Telegram a partir do Delphi ou do C++ Builder.