从 sgcWebSockets 4.4.1 起,Android 设备已支持 Telegram,这意味着您可以构建自己的 Telegram 客户端。TDLib 负责所有网络实现细节、加密与本地数据存储,并支持 Telegram 的全部功能。
TDLib(Telegram 数据库库)的优势
- 跨平台:可在 Windows、Android、iOS、MacOS、Linux 等系统上使用……目前 sgcWebSockets 仅支持 Windows(win32 与 win64)。
- 易于使用:使用 JSON 消息在应用程序与 Telegram 之间通信。
- 高性能:在 Telegram Bot API 中,每个 TDLib 实例可处理超过 24,000 个机器人。
- 一致性:TDLib 保证所有更新均按正确顺序送达。
- 可靠性:TDLib 在网络缓慢或不稳定时仍能保持稳定。
- 安全性:所有本地数据均使用用户提供的加密密钥加密。
- 完全异步:对 TDLib 的请求互不阻塞,响应在可用时立即返回。
配置
将 libtdjsonandroid.so 库部署到设备,并根据您的 Android 版本配置远程路径:
Android 32:将远程路径设置为 library\lib\armeabi-v7a\
Android 64:将远程路径设置为 library\lib\arm64-v8a\
创建您的 Telegram 应用
要获取 API ID 并使用 Telegram API 开发您自己的应用程序,请执行以下步骤:
- 使用任意应用程序注册 Telegram。
- 登录您的 Telegram 核心页面:https://my.telegram.org。
- 前往 API 开发工具并填写表单。
- 您将获得基本地址以及用户授权所需的 api_id 和 api_hash 参数。
- 目前每个号码只能关联一个 api_id。
这些值必须在 Telegram 组件的 Telegram.API 属性中设置。要进行身份验证,您必须设置包含国际区号的手机号码,示例:34699123456
可配置以下参数:
- ApplicationVersion:应用版本号,示例:1.0
- DeviceModel:设备型号,示例:desktop
- LanguageCode:用户语言代码,示例:en。
- SystemVersion:操作系统版本,示例:windows。
配置完 Telegram 组件后,将 Active 属性设置为 true,程序将尝试连接 Telegram。
Android 示例代码
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;


Android Telegram 客户端 截图
