Home / Blog / 如何给你的 AI 助理一个专属 Telegram 机器人

如何给你的 AI 助理一个专属 Telegram 机器人(而不是一个手机号)

有两样东西听上去一模一样,其实完全不同。给你的 AI 配一个 Telegram 手机号——一张真实的 SIM 卡,登录成一个真实账号——那是电影里的版本。给你的 AI 配一个 Telegram 机器人——一个来自 BotFather 的小小身份,可以通过 @username 直接呼叫——才是真正可行、合规、十分钟就能搭好的版本。

人们问这个问题时,通常想表达什么

“给我的 AI 一个 Telegram 号码”很少真的是指一张 SIM 卡。它的意思是:让我能像跟人聊天那样在 Telegram 里跟它对话。用我给家人和同事用的同一个界面,同样的转发,同样的语音消息,同样的拖拽文件。只不过这个地址后面接的是我的助理,而不是某个人。

Telegram 为此提供了两扇门。对私人助理来说,只有其中一扇是诚实的。

两扇门,并排来看

第一扇门——userbot。把一个真实的 Telegram 账号登录进自动化库(Telethon、MTProto、TDLib)。它会在你的应用里显示成一个普通联系人,能看到你看到的同一份消息历史,也能做人能做的一切事情。很强大。同时:注册需要一张真实 SIM 卡,一旦做出明显自动化的行为就违反 Telegram 服务条款,被模式检测器发现后会被标记并封禁,而且它会把助理的活动和你的私人聊天混进同一个文件夹。如果你是在搭监控工具,或者你能接受账号每隔几周就废掉一次,那就走这扇门。但对私人 AI 来说,这是错的那扇门。

第二扇门——机器人。打开与 @BotFather 的对话,运行 /newbot,取一个显示名和一个用户名,拿到一个 token。这个 token 本身就是一个一等公民级别的 Telegram 身份——不是人,而是机器人,可以通过 @your_bot_name 直接呼叫。它在官方规则内工作:机器人不能主动去搭讪陌生人,不能悄悄抓取历史记录,也不能假装成用户。朴素、安全,而且正好是私人助理需要的。

本文接下来说的都是第二扇门。

十分钟搭建流程

  1. 去找 BotFather。打开 @BotFather,发送 /newbot。取一个显示名(这就是别人在聊天标题里看到的名字)。取一个以 bot 结尾的用户名——这是永久的 @handle。BotFather 会回复给你一个形如 1234567890:AA... 的 token。
  2. 把 token 当密码一样保管。把它放进将要托管这个机器人的服务器上、助理的 .env 文件里。永远不要提交进 git,不要出现在截图里,也不要粘贴到别的聊天中。一旦泄露,在 BotFather 里运行 /revoke 并轮换。
  3. 启动那个与 Telegram 对话的进程。你的助理需要一个持续运行的进程,用这个 token 建立长轮询或 webhook 连接。一个进程。同一个 token 上跑两个进程会互相抵消,从 Telegram API 拿到 409 Conflict 错误——这是第一天最经典的故障。
  4. 打个招呼。用你自己的 Telegram 给机器人发条消息,它应该会回复。如果没有回复,那要么 token 不对,要么进程已经挂了,要么已经有别的东西占着这个 token。
  5. 打开你想要的功能。回到 BotFather:/setuserpic 设置头像,/setdescription 设置简介说明,/setabouttext 设置简短介绍,/setcommands 设置斜杠命令菜单,如果你打算在群组里使用它并希望它看到全部消息而不只是被 @ 的消息,就用 /setprivacy

“属于它自己的机器人”究竟给你的 AI 带来什么

它给不了你什么(以及为什么这没关系)

机器人不能主动私信陌生人,不能读取自己不在其中的聊天,也看不到自己加入群组之前的消息。这些是 Telegram 的规则,它们之所以存在,是因为另一种可能就是一片垃圾信息的荒原。对私人助理来说,这些限制反而是礼物:它们意味着这个机器人只会听到你说话,只会对你说话,也只会看到你有意展示给它的东西。

机器人也没有绑定手机号。这正是它的优点。没有 SIM 卡会丢,没有账号会被封,也没有“主设备”需要一直保活。只有一个 token,和运行它的那个进程。

第一天最常见的三个错误

  1. 用一个机器人干很多活。第一个机器人用得太顺手,于是人们开始把每个新项目都往同一个 token 上挂。结果自动转写、交易提醒、家庭群助手和销售漏斗全都挤在一个名字底下。把它们拆开:一个用途一个机器人,一个机器人一个 token,一个 token 一个进程。这样做不花钱,却能把故障面控制得很小。
  2. 把 token 提交进代码库。token 就是全部的身份凭证。谁拿到它,谁就成了这个机器人。把它放在 .env 里(并确保 .gitignore 已包含它),或者放进密钥管理服务。一旦它出现在某次提交、GitHub 日志或分享的截图里——立刻去 BotFather 撤销并轮换。
  3. 同时跑着两份机器人。两个进程轮询同一个 token 会互相抢占,双双拿到 409 Conflict。症状是:机器人回复了你的消息,几秒后又回复了一遍,然后就彻底沉默。解决办法:一个进程,一台主机。部署新版本时,先把旧的停掉。

这一步在整套私人 AI 方案中的位置

机器人是前门。门后面才是真正的助理:一个模型、一些记忆、一组技能、一个调度器,以及把每一条 Telegram 更新变成真实回复的那点粘合代码。这些你都可以从零搭建——token 是标准的,API 有文档,SDK 也很成熟。或者你也可以直接安装一套已经接好线的系统:在 Avelina 上,安装机器人会带你走完 BotFather 的流程,接过你的 token,把助理部署到你自己的 VPS 上,然后在一个晚上之内把一个可用的聊天交回你手里。同一扇门,少写很多粘合代码。

无论你选哪条路,机器人都不是助理本身——它只是助理接听的那个地址。第一次就把地址弄对,值得花这十分钟。

延伸阅读