TG 机器人 token 怎么申请?BotFather 流程
从零和 BotFather 对话拿到 Telegram Bot Token 的完整流程,含命名规则和 token 保管要点。
想做一个 Telegram 机器人,第一步永远是从 BotFather 拿到一个 Bot Token。这个 Token 是机器人的"身份证 + 密码",任何持有它的人都能控制你的机器人,所以拿到之后怎么保管也很关键。下面把和 BotFather 对话的全流程一次走完,包括命名规则、token 长什么样、后续怎么改设置。开始之前先确保 客户端是最新版,老版本的 BotFather 交互菜单不全。
BotFather 是什么
BotFather(@BotFather)是 Telegram 官方提供的"机器人管理机器人"——你想创建、修改、删除自己的 Bot 都要通过它。所有 Telegram Bot 都是通过 BotFather 注册的,没有别的途径。
它的账号特征:
- 用户名 @BotFather
- 有蓝色官方验证
- 头像是带渐变背景的机器人图标
搜索时确认这几个特征,避免点到山寨 BotFather 套取你的 token。
完整对话流程
第一步:打开 BotFather
Telegram 搜索栏输入 @BotFather,点进官方账号,点底部的"开始"或"Start"按钮。
会弹出一长串它支持的命令清单:
/newbot - create a new bot
/mybots - edit your bots
/mygames - edit your games
/myapps - edit your apps
/newapp - create a new app
...
第二步:发送 /newbot
发送 /newbot,BotFather 会回复:
Alright, a new bot. How are we going to call it? Please choose a name for your bot.
它在问你的机器人显示名——这个名字会显示在聊天列表里,可以包含中文、emoji、空格。比如"我的助手"、"摸鱼小助手 🐟"都行。
第三步:设置用户名
填完显示名后 BotFather 会问:
Good. Now let's choose a username for your bot. It must end in
bot. Like this, for example: TetrisBot or tetris_bot.
这里要设置用户名——区别于显示名,用户名是全局唯一的英文+数字组合,必须以 bot 或 _bot 结尾,5-32 个字符。
合法的用户名例子:
MyAssistantBotweather_query_bottg_helper_2026_bot
不合法的:
MyHelper(不以 bot 结尾)bot_my(bot 不在结尾)我的bot(不能包含中文)
用户名一旦设定不能修改,所以慎重起一个有辨识度的。
如果用户名已被占用,BotFather 会提示并让你换一个。
第四步:拿到 Token
用户名通过后,BotFather 会回复一段重要内容:
Done! Congratulations on your new bot. You will find it at t.me/yourbot.
Use this token to access the HTTP API:
1234567890:ABCDefghijklmnopqrstuvwxyz_ABCDEF1234Keep your token secure and store it safely, it can be used by anyone to control your bot.
那串数字加冒号加字母的就是你的 Token。格式固定是 <bot_id>:<auth_token>,bot_id 是数字,auth_token 是字母数字混合。
把这个 token 立刻复制保存到本地的密码管理器或者笔记里。一旦泄露,别人就能控制你的 bot。
token 的安全保管
token 泄露的后果很严重:
- 别人能用你的 bot 发任何消息
- 能查看 bot 收到的所有消息
- 能管理 bot 加入的所有群
所以 token 必须当作密码一样对待:
- 不要直接写在代码里——用环境变量或者配置文件,配置文件加进 .gitignore
- 不要上传到 GitHub 公开仓库——GitHub 有 token 泄露扫描,泄露会被 Telegram 自动 revoke
- 不要在群里发——哪怕私聊朋友也建议加密发送
- 定期 rotate——重要 bot 每 3-6 个月用
/revoke重置一次 token
如果你怀疑 token 已泄露,立刻用 BotFather 的 /revoke 命令重新生成。
立刻 revoke 旧 token
发现泄露的应急流程:
- 打开 BotFather
- 发送
/revoke - 选择对应的 bot
- BotFather 立即生成新 token,旧 token 当场失效
任何还用着旧 token 的程序都会立刻失败。生成新 token 后更新你的程序配置。
给 bot 加更多设置
拿到 token 不代表万事大吉,还有一堆设置可以通过 BotFather 调:
/setdescription— 设置 bot 介绍(显示在 bot 主页)/setabouttext— 设置 bot 简短说明/setuserpic— 上传头像/setcommands— 设置命令菜单(用户聊天时下方会显示)/setprivacy— 设置在群里能不能看到所有消息/setjoingroups— 允不允许加群
/setcommands 特别重要——它决定用户在聊天框旁边点"/"时看到的命令列表。格式是:
start - 启动 bot
help - 显示帮助
weather - 查询天气
每行一个命令,命令名和描述用 - 分隔。
bot 的隐私模式
/setprivacy 这个开关需要重点理解:
- enable(默认):bot 在群里只能看到 @它的消息或者命令(/xxx)
- disable:bot 能看到群里所有消息
如果你的 bot 需要监听整个群的聊天(比如做关键词触发、聊天统计),必须 disable 隐私模式。如果只是响应命令,保持 enable 节省资源。如果你打算把 bot 放进自己建的频道里做自动发布,配套的 Telegram 频道怎么创建?从开通到运营的完整指南 这篇可以一并看一下。
修改后需要把 bot 从群里踢出再重新加入才生效,这是个坑很多人踩。
调用 token 的最基础测试
拿到 token 后想立刻验证好不好用,浏览器打开:
https://api.telegram.org/bot<你的token>/getMe
会返回类似:
{
"ok": true,
"result": {
"id": 1234567890,
"is_bot": true,
"first_name": "我的助手",
"username": "MyAssistantBot"
}
}
返回 "ok": true 就说明 token 有效。
如果返回 401 unauthorized,说明 token 错了(复制粘贴时少了字符之类)。
写第一个回复消息
用 curl 给自己的某个聊天发条测试消息:
curl -X POST "https://api.telegram.org/bot<token>/sendMessage" \
-d "chat_id=<你的chat_id>&text=Hello"
chat_id 怎么获取?最简单的方式:先在自己的 Telegram 里给 @userinfobot 发个 hi,它会回复你你自己的 chat_id。
这一步走通就说明你的机器人可以发消息了。接下来怎么写完整的 bot 程序就看你用什么语言(Python、Node.js、Go 都有官方/社区 SDK)。开发框架的对比可以参考 Telegram bot 用什么框架开发?Python 还是 Node 更顺手 里的选型讨论。
删除不要的 bot
不再用的 bot 可以删掉清理列表:
- BotFather 发
/deletebot - 选择要删的 bot
- 输入 "Yes, I am totally sure"(注意大小写)
- 确认删除
删除后 bot 的用户名释放,可以被其他人重新注册。删除是不可逆的——所有数据、订阅它的用户都没了。
多个 bot 怎么管理
如果你有多个 bot,用 /mybots 命令调出列表,可以切换不同 bot 进行管理。每个 bot 的 token 都不一样,要分别保存。
建议用一个简单的清单:
bot 名 | 用户名 | token | 用途
天气助手 | weather_qbot | 12345:abc | 个人查天气
群管理员 | grpadmin_bot | 67890:def | 工作群自动化
存在你的密码管理器或者加密笔记里。
关于 bot 的额外功能
拿到 token 之后机器人能做的远不止"回复消息"。Telegram Bot API 支持:
- 收发图片视频文件
- 发起支付(接入 Stripe)
- 内联键盘(按钮)
- Web App(在 Telegram 内打开网页)
- 群组管理(踢人、封禁、设管理员)
- 频道内容自动发布
具体能做哪些有意思的 bot 可以看 Telegram 有哪些机器人真的好用?日常实用类挑了几个。
先装好中文版客户端 再去和 BotFather 对话,全程中文界面更容易理解。