SuperAPI AI 工具集

telegram-dev

编程与开发

查看项目

更新于 10-15 10:42

技能介绍

Telegram 生态开发技能是一份覆盖 Bot 开发、Mini Apps(Web Apps)与客户端开发的完整技术栈指南。

一、用途 当需要开发 Telegram 消息机器人、创建 Telegram Mini Apps(小程序)、构建自定义 Telegram 客户端、集成支付与业务功能、实现 Webhook 与长轮询、使用 Telegram 认证与存储、处理消息媒体文件、实现内联模式与键盘时,可使用该技能。

二、三大核心 API

  1. Bot API:HTTP 接口,自动处理加密与通信,适合聊天机器人、自动化工具。端点格式为 https://api.telegram.org/bot<TOKEN>/METHOD_NAME。
  2. Mini Apps API(Web Apps):JavaScript 接口,在 Telegram 内运行,适合小程序、游戏、电商。
  3. Telegram API & TDLib:完整的 Telegram 协议实现,支持所有平台,适合自定义客户端、企业应用。

三、Bot API 开发 获取 Token:与 @BotFather 对话,发送 /newbot,按提示设置名称后获取 token。 核心方法包括:更新管理(getUpdates、setWebhook、deleteWebhook、getWebhookInfo);消息操作(sendMessage、sendPhoto/sendVideo/sendDocument、sendAudio/sendVoice、sendLocation/sendVenue、editMessageText、deleteMessage、forwardMessage/copyMessage);交互元素(sendPoll 最多 12 个选项、InlineKeyboardMarkup、ReplyKeyboardMarkup、answerCallbackQuery);文件操作(getFile、downloadFile,本地 Bot API 模式支持最大 2GB);支付(sendInvoice、answerPreCheckoutQuery、Telegram Stars 最高 10,000 Stars)。 Webhook 要求:必须使用 HTTPS、支持 TLS 1.2+、端口 443/80/88/8443、公共可访问 URL。 内联模式需与 @BotFather 发送 /setinline 配置,通过 answerInlineQuery 返回结果。 文档给出 Python requests 长轮询主循环、Flask Webhook、内联键盘及回调处理、内联查询处理的完整示例代码。

四、Mini Apps 开发 在 HTML 中引入 https://telegram.org/js/telegram-web-app.js,通过 window.Telegram.WebApp 获取对象,调用 tg.ready()、tg.expand() 等。 主要属性:initData、initDataUnsafe、user、themeParams、colorScheme、isExpanded、isFullscreen、viewportHeight、platform、version。 主要方法:ready、expand、close、requestFullscreen、sendData、openLink、openTelegramLink、showPopup/showAlert/showConfirm、shareMessage/shareUrl。 UI 控件:MainButton、SecondaryButton、BackButton,以及 HapticFeedback(impactOccurred、notificationOccurred、selectionChanged)。 存储:CloudStorage(setItem/getItem/removeItem/getKeys)、localStorage、SecureStorage(需生物识别)。 生物识别:BiometricManager 的 init、requestAccess、authenticate。 传感器:LocationManager.getLocation、Accelerometer、Gyroscope、DeviceOrientation 的 start/onEvent/stop。 支付:使用 tg.openInvoice 发起 Telegram Stars 支付并处理 paid/cancelled/failed 状态。 数据校验:文档提供 Python 服务端 validate_init_data 函数,基于 HMAC-SHA256 与 WebAppData 密钥校验 initData。 启动方式:键盘按钮 web_app、内联按钮 web_app,或通过 @BotFather 的 /setmenubutton 配置菜单按钮。

五、客户端开发(TDLib) 文档给出使用 python-telegram 库的示例:传入 api_id、api_hash、phone、database_encryption_key,调用 login、send_message、get_chats、stop。MTProto 特点包括端到端加密、高性能、支持所有 Telegram 功能,需从 https://my.telegram.org 获取 API ID/Hash。

六、最佳实践 Bot 开发:错误处理(try/except 与 raise_for_status)、速率限制(群组最多 20 条/分钟,私聊最多 30 条/秒)、优先使用 Webhook、始终校验数据。 Mini Apps:响应式设计(监听 themeChanged、viewportChanged)、性能优化、适配深浅色主题、使用原生 UI 控件、提供触觉反馈。 安全:强制 HTTPS、验证 initData、不在客户端存储敏感信息、使用 SecureStorage。

七、常用库 Python:python-telegram-bot、aiogram、telethon/pyrogram。Node.js:node-telegram-bot-api、telegraf、grammy。其他:PHP telegram-bot-sdk、Go telegram-bot-api、Java TelegramBots、C# Telegram.Bot。

八、参考资源 官方文档:Bot API https://core.telegram.org/bots/api、Mini Apps https://core.telegram.org/bots/webapps、Mini Apps Platform https://docs.telegram-mini-apps.com、Telegram API https://core.telegram.org。 GitHub:https://github.com/tdlib/telegram-bot-api、https://github.com/DrKLO/Telegram、https://github.com/telegramdesktop/tdesktop、https://github.com/orgs/TelegramOfficial/repositories。 工具:@BotFather、https://my.telegram.org。

九、附带参考文件 index.md(完整资源链接与快速导航)、Telegram_Bot_按钮和键盘实现模板.md(404 行,12 KB,含 Inline/Reply/Command Menu 三类按钮详解、python-telegram-bot 与 Telethon 双实现、Handler 系统、错误处理与部署)、动态视图对齐实现文档.md(407 行,12 KB,含动态对齐算法、等宽字体对齐、数值格式化 B/M/K 缩写、排行榜与数据表格展示)。

十、限制 该资料未提供收费、价格等商业信息,暂未提供。使用 MTProto 与 TDLib 需自行准备 API ID/Hash;支付、生物识别、传感器等能力依赖 Telegram 客户端版本与运行平台,具体兼容性资料未展开说明。