gotdtd:用 Go 语言操作 Telegram 的底层库
文章目录gotd/td用 Go 语言操作 Telegram 的底层库这个项目能干什么测试做得比较扎实适合谁用和其他方案的对比gotd/td用 Go 语言操作 Telegram 的底层库做 Telegram 相关开发的人应该都遇到过这个问题想用 Go 写个机器人或者自动化工具但官方没有 Go 语言的 SDK。Python 有 telethonJavaScript 有 gramjsGo 生态一直是空白。gotd/td 就是填这个坑的项目。它是一个纯 Go 实现的 Telegram MTProto 客户端库Star 数 2262不算特别火但在 Go 开发 Telegram 这个细分领域里基本是唯一的选择。这个项目能干什么简单说gotd/td 让你用 Go 代码直接调用 Telegram 的 MTProto 接口。不管是写机器人还是做用户端工具都可以用它。几个核心能力完整实现 MTProto 2.0 协议可以调用任意 Telegram API 方法支持语音和视频通话包括一对一和群组通话内存占用低每个空闲客户端只占 150kb能同时处理上千个连接支持 WebSocket 传输甚至可以在 WASM 环境里跑自动重连、会话存储、数据中心迁移这些该有的都有用起来也不复杂。装好依赖写几行代码就能跑起来client:telegram.NewClient(appID,appHash,telegram.Options{})iferr:client.Run(context.Background(),func(ctx context.Context)error{api:client.API()// 调用 Telegram APIreturnnil});err!nil{panic(err)}测试做得比较扎实这个项目让我印象深的地方是测试。不只是普通的单元测试它有端到端测试直接连真实的 Telegram 服务器跑自己用 Go 写了个 Telegram 服务端专门用来测试24 小时运行的金丝雀机器人持续测试重连、消息处理、内存泄漏很多开源项目测试都是糊弄一下这个项目在测试上确实花了功夫。适合谁用如果你是 Go 开发者想做 Telegram 相关的东西这基本是必选项。几个典型场景写 Telegram 机器人需要直接调用底层 API做自动化工具比如消息转发、数据采集需要处理大量并发连接的服务不过有个坑要注意Telegram 对账号风控比较严滥用 API 容易被封号。项目文档里专门写了「如何不被封」的指南用之前建议仔细看看。和其他方案的对比Python 生态有 telethon 和 pyrogram成熟度更高社区也更大。但如果你的技术栈是 Go或者对性能有要求gotd/td 是更好的选择。项目还有一个上层封装库 GoTGProto封装了一些常用操作用起来更简单。如果觉得 gotd/td 太底层可以试试那个。代码是 MIT 协议商业项目也能用。了一些常用操作用起来更简单。如果觉得 gotd/td 太底层可以试试那个。代码是 MIT 协议商业项目也能用。

相关新闻

最新新闻

日新闻

周新闻

月新闻