Telegram TDLib 클라이언트
Delphi/C++Builder로 Telegram 사용자 계정 또는 봇 애플리케이션을 만드세요. 공식 Telegram TDLib를 래핑해 인증, 채팅, 메시지, 업데이트 이벤트를 노출해요.
Delphi/C++Builder로 Telegram 사용자 계정 또는 봇 애플리케이션을 만드세요. 공식 Telegram TDLib를 래핑해 인증, 채팅, 메시지, 업데이트 이벤트를 노출해요.
공식 Telegram TDLib(tdjson)용 Delphi/C++Builder 래퍼예요. 인증 상태 머신을 구동하고 타입화된 메시지 송수신 이벤트를 제공하며, 그 밖의 모든 TDLib 업데이트는 OnEvent를 통해 전달해요.
TsgcTDLib_Telegram
Windows, macOS, Linux, iOS, Android
Standard / Professional / Enterprise
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 이벤트도 함께 제공해요.
공식 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) 라이브러리의 모든 컴포넌트를 다루는 종합 설명서. | 열기 |