用途:GramIO 是用于编写 Telegram 机器人的 TypeScript 框架,适用于创建或修改机器人、设置命令与回调、构建键盘、格式化消息、上传下载媒体、管理会话与多步对话(scenes)、编写插件、配置 webhook 或长轮询、处理 Telegram Stars 支付、广播消息、构建 Telegram Mini App 后端认证、Docker 容器化,以及从 puregram、grammY、Telegraf、node-telegram-bot-api 迁移。
主要能力:完整 Bot API 覆盖;类型安全上下文;方法链式调用;插件系统(session、scenes、i18n、views、jsx、pagination、auto-retry、media-cache、media-group、split、posthog、opentelemetry、sentry 等);CallbackData 结构化回调路由;格式化实体;Rich Messages;内联查询结果构建器。
使用方式:快速开始执行 npm create gramio bot-name,然后 cd bot-name、npm run dev。基本模式为 import { Bot } from "gramio",用 new Bot(token) 创建实例并链式注册 .command、.onStart、.onError,最后 bot.start()。技能附带 tools/ 下四个 Node.js 脚本,用于解析已安装的 gramio 与 @gramio/* 包,获取方法签名、类型定义、上下文 getter 和插件入口,需在项目根目录运行。
限制与注意:回调数据不要手动解析,CallbackData.pack() 生成的是哈希前缀而非字面前缀;格式化不要使用 parse_mode,不要对 Formattable 调用 .toString() 或原生 .join();@gramio/prompt 仅内存存储,多步流程应使用 Scenes 的 .ask();@gramio/views 标记为进行中;子代理会话不会自动激活技能,需显式传入参考文件路径;示例中禁止使用 any。官方文档页面可通过在 URL 后加 .md 获取干净 Markdown。