sgcSocial:面向 Delphi 和 C++ Builder 的 WhatsApp 与 Telegram 组件
独立产品 WhatsApp Business 与 Telegram

sgcSocial:面向 Delphi 和 C++ Builder 的 WhatsApp 与 Telegram 组件

两个客户端组件让您的应用程序接入用户已经在使用的两大消息网络。TsgcWhatsApp_Client 通过纯 HTTPS 与 WhatsApp Business Cloud API 通信,经由 Meta 的 Graph API 收发消息。TsgcTDLib_Telegram 是基于官方 TDLib 引擎构建的完整 Telegram 客户端,同时支持用户账号和机器人,而不仅仅是 Bot API。sgcSocial 是独立产品,内置两个客户端所基于的 sgcWebSockets Core 运行时。

完整源代码
Delphi 7 到 13 和 C++ Builder
内置运行时 sgcWebSockets Core 两个客户端底层共用的 HTTP、TLS 和 JSON 运行时
Telegram TsgcTDLib_Telegram
WhatsApp TsgcWhatsApp_Client
2 客户端组件 组件面板上的一个页面
2 消息网络 WhatsApp Business 平台和 Telegram
5 Telegram 平台 TDLib 构建覆盖 Windows、macOS、Linux 64 位、Android 和 iOS
100% 包含源代码 两个客户端及内置的 Core 运行时
12 个月更新 授权有效期内发布的每个版本

两件值得先了解的事

sgcSocial 需要您准备什么,以及您是否已经拥有这些组件。两个答案都很简短。

sgcSocial 是自包含的

作为独立产品,已包含 sgcWebSockets Core 运行时:WhatsApp 客户端用于调用 Graph API 的 HTTP/TLS 客户端栈、托管其 webhook 端点的 HTTP 服务器,以及两个客户端解析流量所用的 JSON 机制。一个 SKU,一个安装程序。

每份授权都附带完整源代码,因此两个客户端及其底层运行时都可以在您自己的调试器中单步跟踪,而不会消失在二进制文件里。

版本重叠

您的 sgcWebSockets 版本中是否已经包含?

Telegram 客户端自 Standard 版本起随 sgcWebSockets 提供,WhatsApp 客户端自 Professional 版本起提供,因此如果您已拥有对应版本,就已经拥有匹配的组件。All-Access 包含全部内容。

sgcSocial 面向相反的情形:您希望在 Delphi 或 C++ Builder 中使用 WhatsApp 和 Telegram,但不想购买完整的 sgcWebSockets 版本。购买前请先确认您的版本已经覆盖了哪些内容。

两个客户端,两大消息网络

每一个都是非可视化组件,可以拖放到窗体上,也可以在代码中创建,声明在 sgcLibs 单元中,并注册在 SGC Social 面板页上。设置账号凭据,接好事件,然后调用带类型的发送方法。

Telegram1 个组件

完整的 Telegram 客户端,支持用户账号和机器人

TsgcTDLib_Telegram 基于 TDLib 构建,即驱动 Telegram 自家应用的官方 Telegram Database Library,因此它可以作为真实用户账号登录,也可以作为机器人登录,而不仅仅通过 Bot API。手机号身份验证流程以事件形式呈现:OnAuthenticationCode、用于 2FA 的 OnAuthenticationPassword,以及 OnRegisterUser;流量以带类型的形式送达:OnMessageTextOnMessagePhotoOnMessageVideoOnMessageDocumentOnNewChatOnNewCallbackQuery,底层还有原始的 OnEvent。可发送文本、富文本、文档、照片、视频、相册和账单,编辑、删除、转发和置顶消息,创建和搜索聊天、群组、超级群组和密聊,并附加内联或回复键盘,包括请求位置和请求电话号码按钮。任何 TDLib 支持但尚未封装的功能都可以通过 SendCustomRequest 调用,HTTP、SOCKS5 和 MTProto 代理也都只需一次调用即可配置。

TsgcTDLib_Telegram 官方 TDLib 引擎
WhatsApp1 个组件

Business Cloud API,支持收发两个方向

TsgcWhatsApp_Client 通过纯 HTTPS 与 Meta 的 Graph API 通信,从而对接 WhatsApp Business Cloud API。配置 WhatsAppOptions.PhoneNumberIdToken 后即可发送:文本、表情回应、位置、联系人、交互式列表和按钮,以及带模板名称、语言代码和逐消息参数的模板消息,这正是商家发起对话所要求的格式。媒体有两种发送方式:SendMessageImage 及其同类方法引用公开链接,而 SendFileImage 及其同类方法会先上传本地文件;UploadMediaDownloadMediaDeleteMedia 用于管理已存储的媒体副本。入站消息由内置的 webhook 端点处理:StartServer 配合 ServerOptionsTLSOptions 托管该端点,OnBeforeSubscribe 应答 Meta 的验证握手,OnMessageReceived 将每条消息连同一个 var aMarkAsRead 标志一起交给您,该标志会代您发送已读回执。

TsgcWhatsApp_Client Meta Graph API · 纯 HTTPS

从 Delphi 代码发起对话式消息

两个组件都是普通的非可视化组件,因此可以嵌入到您现有的任何应用程序中:VCL 桌面应用、Windows 服务、Linux 守护进程。以下是客户构建的典型模式,每一种都对应实现它的调用。

订单和配送更新 SendMessageTemplate

WhatsApp 模板消息用于发起商家对话:审核通过一次后,即可从您的代码中携带逐订单参数发送。

登录和一次性验证码 SendTextMessage

后端一生成验证码,就立即通过 Telegram 发送,用户会真正关注这个渠道。

告警和监控 SendRichTextMessage

让服务把异常、阈值告警和每日摘要发到您团队本来就开着的运维群组。

客户支持收件箱 OnMessageReceived

入站的 WhatsApp 消息以事件形式送达您自己的 webhook 端点,并带有一个用于标记已读的 var 标志。

带按钮的聊天机器人 AnswerCallbackQuery

Telegram 上的内联键盘和 WhatsApp 上的交互式列表与按钮,把对话变成由您的代码驱动的菜单。

支付和账单 SendInvoiceMessage

发送 Telegram 账单消息、应答预结账查询并提交支付表单,全部由组件完成。

两个客户端,一个内置运行时

这两个组件在线路层面几乎完全不同:一个是 REST 风格的 HTTPS API,另一个是原生数据库库,而这正是把它们打包在一起的意义所在:sgcSocial 用同一套组件约定把这种差异隐藏起来,底层的管道工作交给内置的 sgcWebSockets Core 运行时完成。

WhatsApp 就是 HTTPS 加一个 webhook

出站调用是通过 Core 运行时的 HTTP 客户端栈发出的、基于 TLS 的 Graph API 请求,因此该组件可以运行在 Delphi 编译支持的每一个平台上。入站消息由 Meta 推送到组件自行托管的 webhook 端点:StartServerServerOptions,以及用于验证握手的 OnBeforeSubscribe

Telegram 是原生 TDLib 引擎

TsgcTDLib_Telegram 通过其 JSON 接口驱动官方 TDLib 库:组件加载原生库,代您走完身份验证状态机,并把更新流转换为带类型的 Delphi 事件。TDLib 提供 Windows、macOS、Linux 64 位、Android 和 iOS 版本。

内置 Core 运行时

作为独立产品,已包含 sgcWebSockets Core 运行时。它提供 HTTP/TLS 客户端栈、webhook 端点底层的 HTTP 服务器,以及两个客户端都依赖的 JSON 解析器,其完整源代码也和其他一切一样,是本产品包的一部分。

代理、TLS 和日志

Telegram 客户端可以通过 AddProxyHTTPAddProxySocks5AddProxyMTProto 使用 HTTP、SOCKS5 或 MTProto 代理,从而穿透受限网络。WhatsApp 客户端为其端点暴露了 TLSOptions,并可以在您集成期间把流量写入日志文件。

在 WhatsApp 上发送,在 Telegram 上回显

两个组件遵循同样的形态:设置账号凭据,赋值事件处理程序,激活。它们都声明在 sgcLibs 单元中,同一份代码可在 Delphi 7 到 13 以及 C++ Builder 中编译。

uses
  sgcLibs;

var
  WhatsApp: TsgcWhatsApp_Client;
  Telegram: TsgcTDLib_Telegram;
begin
  // WhatsApp: Business Cloud API over HTTPS
  WhatsApp := TsgcWhatsApp_Client.Create(nil);
  WhatsApp.WhatsAppOptions.PhoneNumberId := '123456789012345';
  WhatsApp.WhatsAppOptions.Token := 'EAAG...';

  WhatsApp.OnMessageReceived := WhatsAppMessageReceived;
  WhatsApp.StartServer;   // webhook endpoint for inbound messages

  WhatsApp.SendMessageText('+34600111222', 'Your order is on its way.');

  // Telegram: the official TDLib engine
  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.OnMessageText := TelegramMessageText;

  Telegram.Active := True;
end;

procedure TForm1.WhatsAppMessageReceived(Sender: TObject;
  const aMessage: TsgcWhatsApp_Receive_Message;
  var aMarkAsRead: Boolean);
begin
  Memo1.Lines.Add(aMessage.RawMessage);
  aMarkAsRead := True;   // sends the read receipt
end;

procedure TForm1.TelegramAuthenticationCode(Sender: TObject;
  var Code: String);
begin
  Code := InputBox('Telegram', 'Login code', '');
end;

procedure TForm1.TelegramMessageText(Sender: TObject;
  MessageText: TsgcTelegramMessageText);
begin
  Memo1.Lines.Add(MessageText.ChatId + ': ' + MessageText.Text);
  Telegram.SendTextMessage(MessageText.ChatId, 'Got it, thanks!');
end;
// include: sgcLibs.hpp

// WhatsApp: Business Cloud API over HTTPS
TsgcWhatsApp_Client *WhatsApp = new TsgcWhatsApp_Client(this);
WhatsApp->WhatsAppOptions->PhoneNumberId = "123456789012345";
WhatsApp->WhatsAppOptions->Token = "EAAG...";

WhatsApp->OnMessageReceived = WhatsAppMessageReceived;
WhatsApp->StartServer();   // webhook endpoint for inbound messages

WhatsApp->SendMessageText("+34600111222", "Your order is on its way.");

// Telegram: the official TDLib engine
TsgcTDLib_Telegram *Telegram = new TsgcTDLib_Telegram(this);
Telegram->Telegram->API->ApiId = "123456";
Telegram->Telegram->API->ApiHash = "your-api-hash";
Telegram->Telegram->PhoneNumber = "+34600111222";

Telegram->OnMessageText = TelegramMessageText;

Telegram->Active = true;

void __fastcall TForm1::WhatsAppMessageReceived(TObject *Sender,
    TsgcWhatsApp_Receive_Message* const aMessage, bool &aMarkAsRead)
{
  Memo1->Lines->Add(aMessage->RawMessage);
  aMarkAsRead = true;   // sends the read receipt
}

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

一侧是纯 HTTPS,另一侧是原生 TDLib

WhatsApp 客户端是纯 HTTPS,因此可以在 Delphi 支持的任何平台上编译和运行。Telegram 客户端驱动原生 TDLib 库,该库由 Telegram 官方发布,覆盖五个平台。

TsgcWhatsApp_Client 基于 HTTPS 的 Business Cloud API,内置 webhook 服务器
Windows Win32 Windows Win64 Linux64 macOS iOS Android
TsgcTDLib_Telegram 运行范围与原生 TDLib 库一致
Windows macOS Linux 64-bit Android iOS
IDE 支持 一份源码树,每个版本各有设计期包
Delphi 7 到 13 C++ Builder
试用安装程序 sgcWebSockets All-Access 试用版包含 Social 组件
一次下载,两个组件

下载试用安装程序 →

一个独立的包

sgcSocial 单独授权,单个开发者起价 €249。所有授权均包含完整源代码、1 年更新,以及 50% 到 70% 的续订折扣:续订 1 个包为 50%,2 个包为 60%,3 个及以上为 70%。sgcAI、sgcMQ 和 sgcSocial 各算作一个包。

sgcSocial

€249

提供 Single、Team 和 Site 授权。

  • 基于官方 TDLib 的 Telegram 客户端,支持用户账号和机器人
  • WhatsApp Business Cloud API 客户端
  • 内置 WhatsApp webhook 端点
  • 模板、媒体、内联和回复键盘
  • 已包含 sgcWebSockets Core 运行时
  • Delphi 7 到 13 和 C++ Builder
  • 完整源代码
  • 1 年更新

sgcSocial 已包含 sgcWebSockets Core 运行时,因此无需再购买任何东西。

结算页面会列出两项:sgcWebSockets Core 运行时授权(计价为零)以及 sgcSocial 包本身。查看完整价格详情

3,000+Developers
20+Years
761+Components
30+API Integrations
5Platforms
30 天退款保证不满意?可在购买后 30 天内申请全额退款。 查看退款政策

在用户已经聊天的地方触达他们

通过原生 Delphi 和 C++ Builder 代码使用 WhatsApp 和 Telegram,内置运行时,并提供完整源代码。立即下载 All-Access 试用安装程序,把两个组件拖到窗体上试试。

eSeGeCe 的其他产品

把 sgcSocial 与我们其他的 Delphi、C++ Builder 和 .NET 组件库搭配使用。

sgcWebSockets

完整的库:WebSocket 客户端和服务器、HTTP/2、IoT、P2P 和 AI 组件。它的各个版本也包含 Telegram 和 WhatsApp。

了解更多 →

sgcAI

AI、LLM 与 MCP 组件。一个聊天组件即可接入 OpenAI、Anthropic、Gemini、DeepSeek、Ollama、Grok 和 Mistral。

了解更多 →

sgcMQ

原生 MQTT 3.1.1/5.0、AMQP 0.9.1、AMQP 1.0、Apache Kafka 和 STOMP 客户端组件,已内置 Core 运行时。

了解更多 →

sgcQUIC

基于 OpenSSL 3.5 原生 QUIC 引擎构建的 QUIC (RFC 9000) 与 HTTP/3 (RFC 9114) 客户端和服务器组件。

了解更多 →

sgcHTML

面向 Delphi、C++ Builder 和 .NET 的数据感知服务器端 HTML/UI 组件,配套 Bootstrap 5 和 htmx。

了解更多 →

sgcSign

企业级数字签名。XAdES、PAdES、CAdES 和 ASiC,支持 10 家密钥提供商和 21 个欧盟国家配置。

了解更多 →