@ effect- ak/ tg- bot- api
完整的TypeScript类型用于Telegram Bot API和Mini Apps,由官方文档自动生成.
安装
npm install @effect-ak/tg-bot-api
特征
- 总是上到日期 - 产生自 正式的电报文件 通过代码生成器
- WebApp 类型 - 类型
Telegram.WebApp包含 - 智能类型映射 —— 说
Integer→number, (中文(简体) ),True→boolean, enums 等 工会文字等.
导出什么
import type {
Api,
Update,
Message,
CallbackQuery,
InlineKeyboardMarkup,
SendMessageInput,
WebApp
} from "@effect-ak/tg-bot-api"
// Api — one method per Bot API method, snake_case, typed input → typed result
interface Api {
send_message(_: SendMessageInput): Message
answer_callback_query(_: AnswerCallbackQueryInput): boolean
// … every Bot API method
}
// Every Bot API type as an interface (Update, Message, Chat, User, …)
// <Method>Input — parameter object of each method (SendMessageInput, EditMessageTextInput, …)
// WebApp, WebAppInitData, ThemeParams, … — Telegram.WebApp (Mini Apps) surface
// verifyLoginData(...) — validate Telegram Login Widget / Mini App init data hash
字段名称,可选性和描述从官方文件中逐字取出,所以任何你读到的 https://core.telegram.org/bots/api (英语) 现适用. InputFile 参数额外接受 { file_content: Uint8Array, file_name: string } (被客户端用于上传).
同一规格的机器可读版本与文件一起发布: (原始内容存档于2013-10-10). bot-api.json, (中文(简体) ), 小型应用程序。 。 。 .
文档
- 瓶型 API 类型 : tg-bot-sdk.website/api-types/bot-api,迷你Apps: 迷你Apps: 迷你Apps: / api- 类型/ 网络应用
- 参考,每方法/类型一页: https://tg-bot-sdk.website/api/ 页面存档备份,存于互联网档案馆
- 发电机是如何工作的: /api-types/how-it-works(英语:api-types/how-it-works) /api-types/how-it-works(英语:api-types-thow-it-works)) 单曲 单曲 单曲
- 对于 LLM/ 编码代理 : https://tg-bot-sdk.website/llms.txt
更新Telegram Bot API 类型
当新的Telegram Bot API版本发布时使用此清单.
项目背景
- (原始内容存档于2019-10-12). Monorepo with pnpm workspaces.
packages/api/包含官方Telegram Bot API HTML Docs自动生成的TypeScript类型.- 代码刮出 https://core.telegram.org/bots/api (英语) 财务报告和审定财务报表 https://core.telegram.org/bots/webapps (中文(简体) )。 。 。 .
- 下载的 HTML 缓存于
packages/api/input/api.html财务报告和审定财务报表packages/api/input/webapp.html。 。 。 . - 版本文件为
packages/api/bot-api-version.json财务报告和审定财务报表packages/api/mini-app-version.json。 。 。 . - 存储在
docs/src/data/bot-api-stats.json。 。 。 . - 徽章在
readme.md财务报告和审定财务报表packages/api/readme.md。 。 。 .
1. 删除缓存的 HTML
删除两个已缓存文件, 因此代码源下载新文件 :
rm -f packages/api/input/api.html packages/api/input/webapp.html
2. 运行代码源
cd packages/api && pnpm run gen
这将:
- 从Telegram下载新的 HTML .
- 分析并生成类型脚本类型
src/specification/。 。 。 . - 自动更新版本文件和数据 .
3. 检查变化
git diff --stat
看看这个:
packages/api/bot-api-version.json- 版本号码有变吗?packages/api/src/specification/types.ts- 新的或更改的接口.packages/api/src/specification/api.ts- 新的或改变的方法.docs/src/data/bot-api-stats.json- 更新类型和方法.
4. 分析变化日志
读取 packages/api/input/api.html 并搜索上方附近的更改日志部分。 查找最新版本条目并摘要 :
- 新增类型.
- 添加了新方法.
- 在现有类型上新建或已更改的字段.
- 任何中断的更改, 如已删除或更名的字段 .
5. 核查一切工作
按顺序运行 :
pnpm build
pnpm typecheck
pnpm test
所有命令都必须以零出错的方式通过.
6. 报告
输出摘要如下:
- 前一个版本 - > 新版本.
- 新类型和方法的数目.
- 主要变化,包括新类型、方法和字段.
- 构建、打字和测试状态.
- 提醒创建更改列表 。 一个小的更改器
@effect-ak/tg-bot-api够了,因为fixed正在编辑.changeset/config.json三个包裹都会撞到一起.
许可证
麻省理工学院