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

如何在Node.js+Telegraf.js启动Bot时检测用户是否开通TG Premium

获取Telegram用户Premium状态的解决方案

官方Bot API实现方式

  • 调用getUser接口,返回的用户对象中包含is_premium布尔字段,直接判断该值即可。示例Python代码:
import requests

TOKEN = "你的机器人令牌"
USER_ID = "目标用户ID"

response = requests.get(f"https://api.telegram.org/bot{TOKEN}/getUser?user_id={USER_ID}")
user_data = response.json()
if user_data.get("ok"):
    is_premium = user_data["result"].get("is_premium", False)
    print(f"用户是否开通Premium: {is_premium}")
else:
    print("获取用户数据失败")
  • 权限要求:机器人需与目标用户有互动记录(用户发过消息),或机器人在用户所在群组中,才能成功获取用户信息。

常见问题排查

  • 核对机器人令牌是否正确,确保令牌未泄露或过期。
  • 确认目标用户ID准确,避免使用用户名(部分用户隐私设置会隐藏用户名关联)。
  • 群组内获取时,机器人需具备查看成员信息的权限(普通成员权限可能无法获取完整用户数据)。

自建客户端(TDLib/MTProto)实现方式

  • 基于TDLib开发时,直接读取User结构体中的is_premium属性即可。
  • 确保使用最新版本的TDLib,旧版本可能未支持该字段。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 05:02:38