|
|
1 month ago | |
|---|---|---|
| .vscode | 3 months ago | |
| src | 1 month ago | |
| test | 3 months ago | |
| .editorconfig | 3 months ago | |
| .gitignore | 3 months ago | |
| .prettierrc | 3 months ago | |
| AGENTS.md | 1 month ago | |
| CLAUDE.md | 1 month ago | |
| README.md | 1 month ago | |
| package-lock.json | 1 month ago | |
| package.json | 3 months ago | |
| tsconfig.json | 3 months ago | |
| vitest.config.mts | 3 months ago | |
| worker-configuration.d.ts | 3 months ago | |
| wrangler.jsonc | 3 months ago |
甜奈摄影会 Telegram 机器人,基于 grammy 框架,部署在 Cloudflare Workers 上。
| 命令 | 说明 |
|---|---|
/start |
显示欢迎信息和可用命令 |
/login |
交互式登录 CosMoe 账户 |
/logout |
登出并清除账户凭证 |
/events |
查看最新活动列表 |
/event_{id} |
查看活动详情和可预约时段 |
/book_{eventId}_{slotIndex} |
预约活动时段 |
/history |
查看进行中的预约记录 |
/history all |
查看全部预约记录 |
/cancel_{bookingId} |
取消预约 |
机器人每分钟自动检查新活动,并通过 Telegram 推送通知给已登录用户。
# 安装依赖
npm install
# 本地开发
npm run dev
# 部署
npm run deploy
# 运行测试
npm test
# 重新生成 Worker 类型
npm run cf-typegen
在 .dev.vars 中配置本地开发所需的密钥:
BOT_TOKEN=your_telegram_bot_token
生产环境的密钥通过 Cloudflare Dashboard 设置。
src/
├── index.ts # Worker 入口(fetch + scheduled handler)
├── client/
│ └── cosmoe.ts # CosMoe API 客户端
├── command/
│ ├── index.ts # 命令路由和注册
│ └── handlers/ # 各命令处理器
│ ├── start.ts
│ ├── login.ts
│ ├── logout.ts
│ ├── events.ts
│ ├── eventDetails.ts
│ ├── bookEvent.ts
│ ├── cancel.ts
│ └── history.ts
└── scheduler/
└── index.ts # 定时任务:新活动通知
Private