电报机器人怎么搭建:从 BotFather 到自动化(新手完整教程)
TL;DR:电报机器人(Telegram Bot)通过官方的 BotFather 创建,拿到一个 token 后就能用 Bot API 收发消息、做自动回复和通知推送。本文带你从零搭一个 Bot,并讲清 Bot 与"账号自动化"的本质区别——这决定了你的需求该用哪种方案。
一、先分清两个概念:Bot ≠ 账号自动化
很多人把"电报机器人"和"用账号自动群发/采集"混为一谈,其实是两回事:
- Bot(机器人):通过官方 Bot API 运行的程序账号,用户名以
bot结尾。它只能被动接收用户主动发起的消息,不能主动私聊陌生人、不能采集群成员、不能假装成真人。适合做:通知推送、客服自动应答、菜单交互、群管理。 - 账号自动化(协议号/客户端自动化):用真实用户账号通过 MTProto 协议自动化操作,能主动私聊、群发、采集、加群。这部分风险与合规要求完全不同,不属于 Bot 的范畴。
结论:要做"通知/自动回复/群管理",用 Bot,安全合规;要做"主动营销触达",那是账号自动化的领域,和本文的 Bot 搭建是两套东西。
二、第一步:用 BotFather 创建机器人
- 在 Telegram 里搜索 @BotFather(带蓝色官方认证勾),打开对话。
- 发送
/newbot。 - 按提示给机器人起一个显示名称(可中文)。
- 再起一个用户名,必须全局唯一且以
bot结尾(如my_notify_bot)。 - 创建成功后,BotFather 会返回一段 token,形如
123456789:ABCdef...。
⚠️ 这个 token 等同于机器人的密码,绝不能泄露或提交到公开代码仓库。泄露后任何人都能控制你的 Bot,应立即在 BotFather 用
/revoke重置。
三、第二步:理解 Bot 怎么收发消息
Bot 收消息有两种方式,二选一:
- Long Polling(轮询):你的程序主动定时向 Telegram 拉取新消息(
getUpdates)。简单、无需公网域名,适合开发和小规模。 - Webhook(回调):把一个 HTTPS 地址注册给 Telegram,有新消息时它主动推给你。实时、省资源,但需要公网可访问的 HTTPS 端点。
发消息则统一调用 sendMessage 接口,带上 chat_id 和文本即可。
四、第三步:跑一个最小可用的 Bot
下面用 Python 演示一个最小的"自动回复"Bot(轮询方式,伪代码示意,重点是流程):
import requests, time
TOKEN = "你的token"
API = f"https://api.telegram.org/bot{TOKEN}"
offset = 0
while True:
resp = requests.get(f"{API}/getUpdates", params={"offset": offset, "timeout": 30}).json()
for upd in resp.get("result", []):
offset = upd["update_id"] + 1
msg = upd.get("message")
if not msg:
continue
chat_id = msg["chat"]["id"]
text = msg.get("text", "")
# 简单自动回复
reply = "你好,我已收到:" + text
requests.post(f"{API}/sendMessage", json={"chat_id": chat_id, "text": reply})
time.sleep(1)
把 token 填进去运行,给你的 Bot 发条消息,它就会回你。这就是一个最小可用的电报机器人。
五、第四步:常见用途怎么做
- 通知推送 Bot:让 Bot 在事件发生时给你(或你的群)推消息。先和 Bot 对话一次拿到你的
chat_id,之后服务端调用sendMessage即可。最常见的场景:订单提醒、监控告警、客户新消息提醒。 - 客服自动应答:根据用户发来的关键词返回预设答案或菜单(Inline Keyboard)。
- 群管理 Bot:把 Bot 设为群管理员,做入群验证、关键词撤回、自动欢迎等。
六、要不要自己写代码?
如果你只是要一个客户消息实时通知到自己 Telegram 的能力,自己搭 Bot、维护服务器、处理多账号分组其实挺繁琐。这类需求可以直接用现成方案。
青鸟助手的通知机器人就是把这件事产品化了:你的矩阵账号一收到客户私信,立刻通过专用 Bot 推送到你的私人 Telegram,秒级响应、多账号分组、关键词高亮,不用自己写代码和运维。如果你的目标是矩阵营销而不只是通知,可以再看看客户坐席和防封群发。
常见问题(FAQ)
Q:电报机器人怎么搭建?
A:在 Telegram 搜索 @BotFather → 发送 /newbot → 设置名称和以 bot 结尾的用户名 → 拿到 token → 用 Bot API(轮询或 Webhook)收发消息。一个最小自动回复 Bot 几十行代码就能跑起来。
Q:搭建电报机器人要花钱吗? A:创建 Bot 和使用官方 Bot API 是免费的;如果用 Webhook 或要 7×24 运行,需要一台能联网(Webhook 还需 HTTPS)的服务器。
Q:Bot 能主动私聊陌生人或群发吗? A:不能。Bot 只能回复主动找它的用户,不能主动私聊未交互过的人,也不能采集群成员。主动营销触达属于账号自动化,不是 Bot 能做的。
Q:token 泄露了怎么办?
A:立刻在 BotFather 用 /revoke 重置 token,旧 token 会立即失效。永远不要把 token 提交到公开仓库。
Q:Bot 和"协议号"有什么区别? A:Bot 是官方程序账号,合规但功能受限(被动响应);协议号是用真实账号自动化,功能强但风险高。两者用途完全不同。