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

如何使用Python Bot捕获Telegram频道与群组的引荐来源URL

Telegram Bot 捕获引荐来源URL实现方案

核心逻辑说明

Telegram 本身不会直接向Bot传递用户跳转前的站点URL,你需要通过*深度链接(Deep Link)*的方式间接实现引荐来源识别,这是目前唯一可行的落地路径。

具体实现步骤

  • 第一步:生成带来源标识的专属Telegram跳转链接
    Telegram Bot的深度链接固定格式为 https://t.me/你的Bot用户名?start=来源标识参数,你可以在官网等目标站点,把用户跳转Telegram的按钮链接替换为该格式,参数部分可自定义,比如来自官网就设置为 start=official_site_2024,不同来源设置不同的参数值即可。
  • 第二步:Bot侧捕获启动参数
    当用户点击你站内置的专属链接跳转打开Telegram、点击启动Bot后,Bot会收到 /start 来源标识参数 这条消息,你只需要解析 /start 后面的参数值,就能匹配到用户的来源。
    示例代码片段(Python python-telegram-bot 库):
    async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
        # 获取start指令后的参数值
        source = context.args[0] if context.args else None
        if source == "official_site_2024":
            # 匹配到官网来源,执行授予专属权限操作
            await context.bot.promote_chat_member(
                chat_id=你的群组/频道ID,
                user_id=update.effective_user.id,
                can_send_messages=True
                # 其他权限按需配置
            )
            await update.message.reply_text("已为你开通官网用户专属权限")
    
  • 第三步:群组/频道场景的权限联动
    如果你的需求是用户加入群组/频道才授予权限,可以设置引导流程:用户触发来源匹配后,Bot发送群组/频道邀请链接,用户加入后,Bot监听 chat_member_updated 事件,对应用户ID和之前匹配到的来源标识,再执行权限配置即可。

注意事项

  • 所有来源参数建议做加密或签名校验,避免用户手动拼接参数伪造来源
  • 如果你需要获取完整的引荐页面URL,可以把URL做base64编码后放到start参数里,Bot侧解码即可获取原始URL
  • Telegram 深度链接的参数长度限制为64字符,超长的话可以做短码映射,服务端存储短码和原URL的对应关系即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 06:18:02