一个可直接接入 Telegram WebApp 的点击小游戏模板。
pnpm install
pnpm dev默认地址:http://localhost:5173
src/App.tsx:点击玩法 + Telegram WebApp 初始化 + MainButton 提交分数src/telegram-web-app.d.ts:Telegram WebApp 的 TypeScript 类型声明index.html:已引入 Telegram WebApp SDK
Telegram WebApp 需要一个公网 https 地址,不能直接用 localhost。
- 打开 Telegram,搜索
@BotFather - 发送
/newbot - 按提示设置
bot name和username - 获取
BOT_TOKEN(后续你的后端会用到)
任选一个隧道工具(如 Cloudflare Tunnel、ngrok),把 http://localhost:5173 映射成 https://xxxxx。
- 在
@BotFather发送/setmenubutton - 选择你的 bot
- 按提示输入按钮文本(例如
Play) - 输入 WebApp URL(你的
https://xxxxx)
完成后,打开你的 bot,点击菜单按钮即可进入这个网页。
前端点击 Telegram 底部 MainButton 后会调用:
tg.sendData(
JSON.stringify({
type: 'submit_score',
score: clicks,
goal: 100,
timestamp: new Date().toISOString(),
}),
)你的 bot 后端需要监听 WebApp 数据并解析 JSON,然后做积分、排行、发奖等逻辑。
pnpm build
pnpm preview把 dist/ 部署到任意静态托管(Vercel、Netlify、Cloudflare Pages 等)后,把正式 https 地址更新到 BotFather 菜单按钮即可。