Delphi 및 C++ Builder용 Telegram API 클라이언트 | eSeGeCe

Telegram TDLib 클라이언트

Delphi/C++Builder로 Telegram 사용자 계정 또는 봇 애플리케이션을 만드세요. 공식 Telegram TDLib를 래핑해 인증, 채팅, 메시지, 업데이트 이벤트를 노출해요.

TsgcTDLib_Telegram

공식 Telegram TDLib(tdjson)용 Delphi/C++Builder 래퍼예요. 인증 상태 머신을 구동하고 타입화된 메시지 송수신 이벤트를 제공하며, 그 밖의 모든 TDLib 업데이트는 OnEvent를 통해 전달해요.

컴포넌트 클래스

TsgcTDLib_Telegram

프로토콜

Telegram TDLib

플랫폼

Windows, macOS, Linux, iOS, Android

에디션

Standard / Professional / Enterprise

TDLib 설정, 인증, 메시지 전송

Telegram.API.ApiId / ApiHash와 Telegram.PhoneNumber를 설정하고, 로그인 흐름을 위해 OnAuthenticationCode를 연결한 다음, OnAuthorizationStatus가 authorizationStateReady를 보고하면 메시지를 전송하세요.

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->OnAuthorizationStatus = TelegramAuthorizationStatus;
Telegram->OnMessageText = TelegramMessageText;

Telegram->Active = true;

void __fastcall TForm1::TelegramAuthenticationCode(TObject *Sender, AnsiString &Code)
{
  Code = InputBox("Telegram", "Enter the code you received", "");
}

void __fastcall TForm1::TelegramAuthorizationStatus(TObject *Sender, const AnsiString Status)
{
  if (Status == "authorizationStateReady")
    Telegram->GetChats();
}

void __fastcall TForm1::TelegramMessageText(TObject *Sender, TsgcTelegramMessageText *MessageText)
{
  Memo1->Lines->Add(MessageText->ChatId + ": " + MessageText->Text);
  Telegram->SendTextMessage(MessageText->ChatId, "received!");
}

내부 구성

공식 TDLib(tdjson) 공유 라이브러리 위에 구축된 Delphi 파사드 — 공식 Telegram 클라이언트가 사용하는 것과 동일한 프로토콜.

인증 흐름

컴포넌트는 TDLib 인증 상태 머신을 구동해요: 전화번호, 코드, 선택적 2FA 비밀번호. 세션은 로컬 데이터베이스 디렉터리에 저장돼요.

메시지 전송

SendTextMessage, SendPhotoMessage, SendVideoMessage, SendDocumentMessage, SendMessageAlbum 메서드가 주요 TDLib 메시지 콘텐츠 유형을 포괄해요.

채팅 및 연락처

GetChats, GetChat, SearchPublicChat, GetUser가 Telegram 주소록과 가입된 채널/그룹을 타입화된 응답으로 노출해요.

업데이트 스트림

OnEvent는 모든 TDLib updateXxx 이벤트(새 메시지, 사용자 입력 중, 채널 게시물, 편집, 삭제)를 원시 이벤트 이름과 JSON 형태로 전달해 다운스트림 라우팅에 활용할 수 있게 해주며, 일반적인 경우를 위한 타입화된 OnMessageText, OnNewChat, OnNewCallbackQuery 이벤트도 함께 제공해요.

네이티브 TDLib

공식 tdjson.dll / libtdjson.so / libtdjson.dylib을 사용해요 — 공식 Telegram 클라이언트와 동일한 종단 간 암호화 보장.

크로스플랫폼

TDLib는 Windows, macOS, Linux, Android, iOS용으로 제공돼요. 컴포넌트가 플랫폼별로 네이티브 라이브러리를 자동으로 찾아 로드하므로, 위에서 설명한 이벤트와 메서드를 통한 타입화된 브리징만 처리하면 돼요.

사양 및 참고 자료

이 컴포넌트가 구현하는 API의 공식 출처.

문서 및 데모

컴포넌트 레퍼런스로 바로 이동하고, 실행 가능한 데모 프로젝트를 받고, 체험판을 다운로드하세요.

온라인 도움말 — API_Telegram 이 컴포넌트의 전체 속성, 메서드, 이벤트 레퍼런스.
데모 프로젝트 — Demos\50.Other\01.Telegram_Client 실행 가능한 예제 프로젝트. sgcWebSockets 패키지에 포함돼 있어요 — 아래에서 체험판을 다운로드하세요.
기술 문서 (PDF) 이 컴포넌트의 기능, 빠른 시작, Delphi 및 C++ Builder 코드 샘플, 1차 출처 참고 자료.
사용자 설명서 (PDF) 라이브러리의 모든 컴포넌트를 다루는 종합 설명서.
최고의 가성비: All-Access모든 eSeGeCe 제품과 프리미엄 지원이 포함되어 연 €1,059부터 이용할 수 있어요.
All-Access 가격 보기

Telegram 클라이언트를 빌드할 준비가 되셨나요?

무료 체험판을 다운로드해 Delphi 애플리케이션에 Telegram 메시징을 추가하세요.