You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否仅通过客户端技术借助BotFather获取个人Telegram状态?

关于纯前端JS/Ajax获取Telegram在线状态的问题

首先明确:BotFather本身没有提供查询用户在线状态的接口,你得用官方的Telegram Bot API来做这件事。

能不能纯前端实现?

答案是:做不到完全无后端的纯前端方案,核心障碍是浏览器的CORS跨域限制——Telegram Bot API服务器没配置允许前端跨域请求的响应头,直接用Ajax/fetch发起请求会被浏览器拦截,根本拿不到返回结果。

如果你不在意机器人token暴露的安全风险(毕竟前端代码里的token任何人都能拿到,别人可以用你的机器人做任何操作),想试试绕路的话,只能依赖第三方CORS代理或者Cloudflare Workers这类边缘服务,但这些本质上还是依赖了后端服务,不符合你“不用任何后端”的要求。

若能绕过CORS的具体操作思路

假设你能解决跨域问题,步骤是这样的:

  1. 先通过BotFather创建一个机器人,拿到它的token
  2. 调用Bot API的getChatMember接口,请求地址格式是:
    https://api.telegram.org/bot<你的机器人token>/getChatMember?chat_id=<你的对话ID>&user_id=<你的用户ID>
    
    这里的chat_id可以是你和机器人私聊的对话ID(给机器人发条消息,再调用getUpdates接口就能拿到这个ID),user_id是你的Telegram用户ID。
  3. 接口返回的status字段就是你的在线状态,比如online、offline、away这些值。

但再次强调:纯前端无后端的情况下,跨域问题无解,所以这个需求没法实现。

内容的提问来源于stack exchange,提问作者unix nexo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 05:12:20