Od wersji sgcWebSockets 4.4.1 Telegram jest obsługiwany na urządzeniach z Androidem, co oznacza, że możesz zbudować własnego klienta Telegrama. TDLib zajmuje się wszystkimi szczegółami implementacji sieciowej, szyfrowaniem i lokalnym przechowywaniem danych. TDLib obsługuje wszystkie funkcje Telegrama.
Zalety TDLib (Telegram Database Library)
- Wieloplatformowość: można jej używać na Windows, Androidzie, iOS, MacOS, Linuksie... obecnie sgcWebSockets obsługuje tylko Windows (win32 i win64).
- Łatwa w użyciu: komunikacja między aplikacją a Telegramem odbywa się przez wiadomości JSON.
- Wysoka wydajność: w Telegram Bot API każda instancja TDLib obsługuje ponad 24000 botów.
- Spójność: TDLib gwarantuje dostarczanie wszystkich aktualizacji w odpowiedniej kolejności.
- Niezawodność: TDLib pozostaje stabilne nawet przy wolnych i niestabilnych połączeniach internetowych.
- Bezpieczeństwo: wszystkie dane lokalne są szyfrowane kluczem dostarczonym przez użytkownika.
- W pełni asynchroniczne: żądania do TDLib nie blokują się wzajemnie. Odpowiedzi są wysyłane, gdy będą dostępne.
Konfiguracja
Wdroż bibliotekę libtdjsonandroid.so na urządzeniu i skonfiguruj ścieżkę zdalną w zależności od wersji Androida:
Android 32: ustaw ścieżkę zdalną na library\lib\armeabi-v7a\
Android 64: ustaw ścieżkę zdalną na library\lib\arm64-v8a\
Utwórz swojego Telegrama
Aby uzyskać identyfikator API i zbudować własną aplikację korzystającą z Telegram API, wykonaj poniższe kroki:
- Zarejestruj się w Telegramie z dowolnej aplikacji.
- Zaloguj się w Telegram core: https://my.telegram.org.
- Przejdź do API development tools i wypełnij formularz.
- Otrzymasz podstawowe adresy oraz parametry api_id i api_hash wymagane do autoryzacji użytkownika.
- W tej chwili z jednym numerem można powiązać tylko jeden api_id.
Wartości te musisz ustawić we właściwości Telegram.API komponentu Telegram. Aby się uwierzytelnić, podaj swój numer telefonu (z kodem międzynarodowym), na przykład: 34699123456
Można skonfigurować następujące parametry:
- ApplicationVersion: wersja aplikacji, np. 1.0
- DeviceModel: model urządzenia, np. desktop
- LanguageCode: kod języka użytkownika, np. en.
- SystemVersion: wersja systemu operacyjnego, np. windows.
Po skonfigurowaniu komponentu Telegram możesz ustawić właściwość Active na true i program spróbuje połączyć się z Telegramem.
Przykładowy kod dla Androida
oTelegram := TsgcTDLib_Telegram.Create(nil);
oTelegram.Telegram.API.ApiHash := 'your api hash';
oTelegram.Telegram.API.ApiId := 'your api id';
oTelegram.PhoneNumber := 'your phone number';
oTelegram.ApplicationVersion := '1.0';
oTelegram.DeviceModel := 'Desktop';
oTelegram.LanguageCode := 'en';
oTelegram.SystemVersion := 'Android';
oTelegram.Active := true;
procedure OnAuthenticationCode(Sender: TObject; var Code: string);
begin
InputBox('Telegram', 'Introduce Telegram Code', '',
procedure(const AResult: TModalResult; const AValue: string)
begin
sgcTelegram.SetAuthenticationCode(AValue);
end
);
end;
procedure OnMessageText(Sender: TObject; MessageText: TsgcTelegramMessageText);
begin
Log('Message Received: ' + MessageText.Text);
end;
procedure OnConnectionStatus(Sender: TObject; const Status: string);
begin
if Status = 'connectionStateReady' then
oTelegram.SendTextMessage('1234', 'Hello Telegram!');
end;


Klient Telegrama dla Androida — zrzuty ekranu
