sgcSocial 機能一覧: WhatsApp & Telegram | eSeGeCe

sgcSocial 機能一覧

sgcSocial でできることすべてを、2 つのクライアントコンポーネントと、それらが実装する API に対応付けて示します。すべての機能は Delphi と C++ Builder で同じように動作し、すべてのライセンスに完全なソースコードが付属します。各コンポーネントをクリックすると、使い方とサンプルを掲載した個別ページに移動します。

Telegram

公式 TDLib によるフルクライアント

WhatsApp

Business Cloud API

メッセージの受信

Webhook サーバーとリアルタイム更新

規格とプラットフォーム

Delphi 7 から 13、C++ Builder

sgcSocial は単体で完結しています。sgcWebSockets Core ランタイムを同梱して出荷されるため、アドオンではありません。

sgcWebSockets にも含まれます。Telegram クライアントは sgcWebSockets の Standard エディション以上にも、WhatsApp クライアントは Professional エディション以上にも含まれています。All-Access にはすべてが含まれます。sgcSocial は、メッセージングクライアントだけを必要とするチーム向けの単体パッケージです。

2 つのパレットコンポーネント

2 つのメッセージングネットワークが、SGC Social パレットページに登録されます。

コンポーネントクラスネットワーク説明
Telegram クライアントTsgcTDLib_TelegramTelegram公式 TDLib によるフル機能の Telegram クライアント。ユーザーアカウントとボット、チャットとグループ、メディア、インラインキーボード、決済、プロキシに対応します。
WhatsApp クライアントTsgcWhatsApp_ClientWhatsAppWhatsApp Business Cloud API クライアント。テキスト、メディア、テンプレート、インタラクティブメッセージに対応し、受信イベント用の Webhook サーバーを内蔵しています。

Bot API だけではない、フル機能の Telegram クライアント

TsgcTDLib_Telegram は公式の TDLib(Telegram Database Library)上に構築されているため、ユーザーアカウントまたはボットとしてサインインし、Telegram の全機能セットに到達できます。

機能API備考
ユーザーとしてサインインTelegram.PhoneNumber電話番号による認証です。OnAuthenticationCode がログインコードを求め、OnAuthenticationPassword が 2 要素認証のパスワードを処理し、OnRegisterUser が新規アカウントを扱います。
ボットとしてサインインTelegram.BotToken同じコンポーネントが TDLib を通じてボットアカウントを操作します。Bot API のサブセットではなく、フルクライアントの機能を利用できます。
API 認証情報Telegram.API.ApiIdTelegram.API.ApiHashmy.telegram.org でアプリケーション向けに発行されます。
接続状態OnConnectionStatusOnAuthorizationStatusauthorizationStateReady のような、生の TDLib 状態文字列です。
テキストの送信SendTextMessageSendRichTextMessage任意のチャット ID へのプレーンテキストとリッチテキストです。
メディアの送信SendDocumentMessageSendPhotoMessageSendVideoMessageファイル、写真、動画です。グループ化されたメディアには SendMessageAlbum を使います。
決済SendInvoiceMessageAnswerPreCheckoutQuerySendPaymentFormTelegram の決済フローをエンドツーエンドで扱います。
編集と管理EditTextMessageDeleteMessagesForwardMessagesPinChatMessage送信後のメッセージのライフサイクルです。
チャットとグループCreatePrivateChatCreateNewBasicGroupChatCreateNewSupergroupChatJoinChatJoinChatByInviteLink会話をプログラムから作成・参加できます。
シークレットチャットCreateNewSecretChatTDLib がエンドツーエンド暗号化された Telegram のシークレットチャットを処理します。
検索SearchChatsSearchMessagesSearchContactsSearchPublicChatsチャット、メッセージ、連絡先、公開チャンネルを横断して検索します。
ファイルDownloadFileTDLib が ID で参照する任意のファイルをダウンロードします。
インラインキーボードAnswerCallbackQueryOnNewCallbackQuery送信するメッセージに付加する、コールバックボタンと URL ボタンです。
リプライキーボード送信メソッドのキーボードマークアップテキストボタン、位置情報リクエストボタン、電話番号リクエストボタンです。
インラインクエリAnswerInlineQueryボット宛てのインラインクエリに応答します。
メッセージイベントOnMessageTextOnMessageDocumentOnMessagePhotoOnMessageVideo型付きの受信メッセージです。OnMessageSponsoredOnNewChat も加わります。
生のエスケープハッチSendCustomRequestOnEvent任意の TDLib JSON リクエストを送信し、すべての生の更新を観測できます。
プロキシHTTP、SOCKS5、MTProtoTDLib の接続をプロキシ経由でルーティングします。

WhatsApp Business Cloud API

TsgcWhatsApp_Client は素の HTTPS 経由で Meta の Graph API と通信するため、ネイティブライブラリの配備が不要で、あらゆる Delphi プラットフォームに対応します。

機能API備考
Cloud API のセットアップWhatsAppOptions.PhoneNumberIdWhatsAppOptions.TokenMeta アプリケーションから取得する 2 つの値です。すべての呼び出しは Graph API への素の HTTPS リクエストです。
テキストSendMessageText任意の WhatsApp 番号へのテキストです。
公開リンクによるメディアSendMessageImageSendMessageDocumentSendMessageAudioSendMessageVideoSendMessageStickerメディアは公開 URL に置かれています。
ローカルファイルからのメディアSendFileImageSendFileDocumentSendFileAudioSendFileVideoSendFileStickerコンポーネントがまずローカルファイルをアップロードしてから送信します。
リアクションSendMessageReaction受信したメッセージ ID に絵文字でリアクションします。
位置情報と連絡先SendMessageLocationSendMessageContact名前と住所を伴う座標、および連絡先カードです。
インタラクティブメッセージSendMessageInteractiveListSendMessageInteractiveButtons選択リストとリプライボタンです。
テンプレートSendMessageTemplateテンプレート名、言語コード、パラメータです。
メディア管理UploadMediaDownloadMediaDeleteMediaCloud API のメディアストアを直接操作します。
既読MarkMessageRead受信したメッセージを既読としてマークします。
送信前フックOnBeforeSendMessage送信前にメッセージを検査します。
TLS とログTLSOptions、ファイルログHTTPS 呼び出しの TLS 設定と、通信内容のファイルログです。

メッセージが届く仕組み

WhatsApp は受信トラフィックを Webhook にプッシュし、それをコンポーネントがホストします。Telegram には Webhook がまったく不要で、TDLib が自身の接続を保持しイベントを発生させます。

項目内容
WhatsApp Webhook エンドポイントStartServerStopServer が、自分のプロセス内で Meta の Webhook をホストします。ServerOptions で IP、ポート、SSL 証明書、エンドポイントパス、検証トークンを設定します。
Webhook の検証OnBeforeSubscribe が Meta の検証リクエストで発生し、エンドポイントがサブスクリプションのハンドシェイクに応答します。
受信 WhatsApp メッセージOnMessageReceived が各受信メッセージを渡し、既読を送信する var aMarkAsRead 引数を伴います。
配信ステータスOnMessageSent が送信したメッセージのステータスを報告します。
生のペイロードOnRawMessage が、Meta が投稿した Webhook の JSON をそのまま公開します。
Telegram の更新Webhook は不要です。TDLib が Telegram への独自の接続を保持し、新着メッセージは OnMessageTextOnMessageDocumentOnMessagePhotoOnMessageVideo のイベントとして届きます。
その他の Telegram イベントOnNewChatOnNewCallbackQueryOnMessageSponsored が、新規チャット、キーボードのコールバック、スポンサーメッセージを扱います。
生の Telegram イベントOnEvent が、すべての TDLib の更新を生の JSON として渡します。

API、コンパイラ、ターゲット

公式 API と、対応するすべてのコンパイラで共通のソースです。

項目内容
Telegram公式の TDLib(Telegram Database Library)、Telegram 自身のクライアントライブラリです。
WhatsAppMeta Graph API の一部である WhatsApp Business Cloud API を、HTTPS 経由で利用します。
Telegram のプラットフォームネイティブの TDLib ライブラリを通じて、Windows、macOS、Linux 64 ビット、Android、iOS に対応します。
WhatsApp のプラットフォーム純粋な HTTPS のため、あらゆる Delphi プラットフォームに対応します。
コンパイラDelphi および C++ Builder 7 から 13 まで。
エディションTelegram クライアントは sgcWebSockets の Standard エディション以上にも、WhatsApp クライアントは Professional エディション以上にも含まれています。All-Access にはすべてが含まれます。
ライセンス単体で完結します。sgcWebSockets Core ランタイムを同梱し、完全なソースコードが含まれます。
最もお得な選択: All-AccesseSeGeCe の全製品にプレミアムサポートが付いて、年間 €1,059 からご利用いただけます。
All-Access の価格を見る

sgcSocial で開発する

無料体験版をダウンロードして、Delphi や C++ Builder から最初の Telegram または WhatsApp メッセージを送信しましょう。