Telegram Client 컴포넌트: sgcSocial | eSeGeCe

Telegram Client

TsgcTDLib_Telegram은 공식 TDLib(Telegram Database Library) 위에 구축된 완전한 Telegram 클라이언트입니다. 사용자 계정이나 봇 토큰으로 로그인하므로 Bot API를 훨씬 뛰어넘는 범위, 즉 사용자 자신의 채팅, 그룹, 채널, 비밀 채팅, 미디어, 결제, 검색까지 다룹니다. Delphi와 C++ Builder에서 같은 컴포넌트, 같은 API를 사용합니다.

TsgcTDLib_Telegram

Telegram.API.ApiIdApiHash를 설정하고, Telegram.PhoneNumber 또는 Telegram.BotToken으로 로그인한 다음, 메시지 이벤트를 연결하고 Active를 True로 설정하세요.

컴포넌트 클래스

TsgcTDLib_Telegram

API

공식 TDLib(Telegram Database Library)

플랫폼

Windows, macOS, Linux 64비트, Android, iOS

언어

Delphi, C++ Builder

sgcWebSockets 안에도 포함되어 있습니다. Telegram 클라이언트는 sgcWebSockets Standard 에디션부터도 포함되어 있습니다. sgcSocial은 단독 패키지이며 sgcWebSockets Core 런타임이 함께 포함되어 있습니다.

로그인하고, 수신하고, 응답하기

my.telegram.org에서 받은 api_idapi_hash를 설정하고, 전화번호로 로그인한 다음, 수신되는 텍스트 메시지를 그대로 되돌려 보내 보세요. TsgcTDLib_TelegramsgcLibs 유닛에 선언되어 있습니다.

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

주요 속성 & 메서드

가장 자주 사용하게 되는 멤버들입니다.

인증

Telegram.API.ApiIdApiHash가 애플리케이션을 식별합니다. Telegram.PhoneNumber로 로그인하거나, 봇이라면 Telegram.BotToken을 사용하세요. OnAuthenticationCode는 로그인 코드를 요청하고, OnAuthenticationPassword는 2FA 비밀번호를 요청하며, OnRegisterUser는 신규 계정을 처리합니다.

세션 상태

OnConnectionStatusOnAuthorizationStatus가 원시 TDLib 상태를 보고합니다. Telegram.DatabaseDirectory가 세션을 유지하므로, 다음 실행에서는 코드를 다시 요청하지 않습니다.

전송

텍스트에는 SendTextMessageSendRichTextMessage, 미디어에는 SendDocumentMessage, SendPhotoMessage, SendVideoMessage, 그룹 미디어에는 SendMessageAlbum, 결제에는 SendInvoiceMessage를 사용합니다.

메시지 관리

EditTextMessage, DeleteMessages, ForwardMessages, PinChatMessage가 전송 이후의 생명주기를 처리합니다.

채팅과 그룹

CreatePrivateChat, CreateNewBasicGroupChat, CreateNewSupergroupChat, CreateNewSecretChat이 대화를 생성합니다. JoinChatJoinChatByInviteLink는 기존 대화에 참여합니다.

검색과 파일

SearchChats, SearchMessages, SearchContacts, SearchPublicChats가 네트워크를 조회합니다. DownloadFile은 TDLib가 참조하는 모든 파일을 내려받습니다.

키보드

콜백 및 URL 버튼을 갖춘 인라인 키보드는 AnswerCallbackQuery로 응답하고 OnNewCallbackQuery로 관찰합니다. 답장 키보드는 텍스트, 위치 요청, 전화번호 요청 버튼을 제공합니다.

봇과 결제

AnswerInlineQuery는 인라인 쿼리에 응답하고, AnswerPreCheckoutQuerySendPaymentForm이 결제 흐름을 처리합니다.

이벤트와 탈출구

OnMessageText, OnMessageDocument, OnMessagePhoto, OnMessageVideo가 타입이 지정된 메시지를 전달하며, OnMessageSponsored, OnNewChat, 원시 OnEvent도 함께 제공됩니다. SendCustomRequest는 임의의 TDLib JSON 요청을 전송합니다.

프록시

HTTP, SOCKS5, MTProto 프록시가 원하는 네트워크 경로로 TDLib 연결을 라우팅합니다.

계속 살펴보기

sgcSocial 개요두 컴포넌트, 에디션, 라이선스를 한눈에 볼 수 있습니다.
기능 매트릭스: Telegram이 컴포넌트의 모든 기능을 표 형태로 확인하세요.
Telegram API 심화온라인 도움말과 PDF 링크가 포함된 API 레퍼런스 페이지입니다.
블로그: Delphi용 Telegram 클라이언트이 컴포넌트로 Telegram 클라이언트를 구축하는 과정을 다룹니다.
블로그: Android Telegram 클라이언트Android에서 TDLib 클라이언트를 실행합니다.
블로그: iOS Telegram 클라이언트iOS에서 TDLib 클라이언트를 실행합니다.
최고의 가성비: All-Access모든 eSeGeCe 제품과 프리미엄 지원이 포함되어 연 €1,059부터 이용할 수 있어요.
All-Access 가격 보기

시작할 준비가 되셨나요?

무료 체험판을 다운로드하고 Delphi 또는 C++ Builder에서 첫 Telegram 메시지를 보내 보세요.