Telegram Delphi クライアント

· コンポーネント

sgcTelegram コンポーネントファミリーは、公式の Telegram Database Library の強力な機能と Delphi の高い生産性を組み合わせています。本記事では、コンポーネントをアプリケーションに設定・組み込む方法を説明し、商用ユースケースを紹介するとともに、コミュニケーションワークフローにおける戦略的価値を解説します。

Delphi に sgcTelegram を選ぶ理由

Delphi での設定手順

VCL または FMX フォームにコンポーネントを配置し、本番環境で使用できるよう準備するには、以下の手順に従ってください。

  1. sgcWebSockets パッケージをインストールし、sgcTelegram ユニットをプロジェクトに追加します。
  2. フォームに TsgcTelegramClient コンポーネントを配置します。TDLib が暗号化キャッシュを保存できる書き込み可能なフォルダーに DatabasePath を設定します。
  3. Telegram API の認証情報を設定します。my.telegram.org から取得した ApiIdApiHash を割り当てます。
  4. Telegram プラットフォームの要件に合わせて ApplicationVersionDeviceModelSystemLanguageCode プロパティを設定します。
  5. ライフサイクルイベント(OnAuthorizationStateOnUpdateConnectionStateOnNewMessage)にフックして、認証・監視・受信アップデートへの応答を行います。
  6. 実行時に Connect を呼び出して TDLib セッションを開始し、認証フロー(電話番号、SMS コード、またはボットトークン)を進めます。

Delphi コード例

以下の例は、ボットとしてログインし、ウェルカムメッセージを送信して顧客の返信を保存する商用グレードの通知コンソールを示しています。

procedure TfrmTelegram.ConsoleAuthorize;
begin
  sgcTelegramClient1.Manager.LibraryPath := IncludeTrailingPathDelimiter(ExtractFilePath(ParamStr(0))) + 'tdlib';
  sgcTelegramClient1.Manager.DatabasePath := GetHomePath + PathDelim + 'TelegramCache';
  sgcTelegramClient1.ApiId := <YOUR_API_ID>;
  sgcTelegramClient1.ApiHash := '<YOUR_API_HASH>';
  sgcTelegramClient1.PhoneNumber := '<COMPANY_BOT_TOKEN>';
  sgcTelegramClient1.ApplicationVersion := '2.0';
  sgcTelegramClient1.DeviceModel := 'Retail Notification Hub';
  sgcTelegramClient1.SystemLanguageCode := 'en';
  sgcTelegramClient1.Options.UseTestDataCenter := False;
  sgcTelegramClient1.Connect;
end;
procedure TfrmTelegram.sgcTelegramClient1AuthorizationState(Sender: TObject;
  const AState: TsgcTelegramAuthorizationState);
begin
  if AState.State = asReady then
  begin
    sgcTelegramClient1.Messages.SendMessage('<CUSTOMER_CHAT_ID>', 'Your order has shipped! Track it via our portal.');
  end;
end;
procedure TfrmTelegram.sgcTelegramClient1NewMessage(Sender: TObject;
  const AMessage: TsgcTelegramMessage);
begin
  MemoConsole.Lines.Add(Format('[%s] %s', [DateTimeToStr(Now), AMessage.Content.Text.Text]));
end; 

このコードは、ファイルシステムパス、認証情報、イベントハンドラーの設定方法を示しています。プレースホルダーは本番環境のボットトークンとチャット識別子に置き換えてください。

Delphi チームへのメリット


次のリリースに Telegram コンポーネントを組み込むことで、顧客とのコミュニケーションを向上させ、機能の提供を加速し、新たな収益源を開拓できます。ライセンスバンドルやお客様の業種に合わせたカスタムコンサルティングについては、営業チームまでお問い合わせください。