Telegram Bot 入门教程(从零到部署):从 BotFather 到服务器上线
想做一个能自动回复、能管理群组、能给频道定时推送的机器人?Telegram Bot API 大概是主流平台里门槛最低的:不用审核、不用备案,拿到 Token 就能跑。这篇教程带你从零开始,把机器人真正部署上线。
- 准备工作:账号、工具与基本思路
- 用 BotFather 创建机器人并拿到 Token
- 跑通第一段逻辑:长轮询还是 Webhook
- 把机器人部署到服务器常驻运行
- 群组与频道实战:权限、按钮与贴纸
- 常见坑与优化建议
- FAQ 常见问题解答
一、准备工作:账号、工具与基本思路
1.1 账号与安全设置
先准备一个 Telegram 账号,手机号注册即可,建议顺手开启两步验证。原因很直接:机器人 Token 一旦泄露,别人就能完全接管你的 Bot。另外要理解 Bot 的定位——它本质是一个”账号”,可以被人私聊、拉进群组、设为频道管理员,但它无法主动私聊从未与它对话过的用户,这条限制决定了你的运营思路通常是”引导用户先点 /start”。
1.2 开发环境与语言选择
Bot API 就是一套纯 HTTPS 接口,任何语言都能写。新手推荐 Python 搭配 python-telegram-bot 或 aiogram,Node.js 可以用 Telegraf。开发阶段本地电脑足够,不必急着买服务器。
二、用 BotFather 创建机器人并拿到 Token
在 Telegram 搜索 @BotFather(认准认证标记),发送 /newbot,依次设置显示名称和用户名(用户名必须以 bot 结尾)。完成后你会得到一串形如 123456:ABC-DEF… 的 Token,这就是机器人的钥匙。
接着做几件提升体验的事:用 /setdescription 写简介、/setcommands 配置命令菜单(输入框会自动提示斜杠命令)、/setuserpic 换头像。想让机器人更有辨识度,还可以通过 API 的 createNewStickerSet 创建专属贴纸包,配合频道运营效果很好。关于命令与权限的进阶玩法,可参考《Telegram Bot 命令与权限全解》。
三、跑通第一段逻辑:长轮询还是 Webhook
3.1 长轮询(Polling)
最省事的方案。程序循环调用 getUpdates 拉取新消息,本地就能跑,不需要域名和证书,适合开发测试。
3.2 Webhook
由 Telegram 把更新主动推送到你的 HTTPS 地址,实时性更好、资源占用更低,但需要公网域名和有效证书。生产环境一般选 Webhook。切换很简单:调用 setWebhook 设置地址,或 deleteWebhook 回到轮询模式。
四、把机器人部署到服务器常驻运行
4.1 服务器与基础环境
一台 1 核 1G 的云服务器足够跑几十个中小型 Bot。装好运行环境后把代码拉上去,先用命令行手动运行,确认能正常收发消息。
4.2 别让关掉窗口就断线
这是新手最常踩的坑:SSH 一断,Bot 就停了。正解是用 systemd 写一个服务单元,实现开机自启、崩溃自动重启;临时调试可以用 screen 或 tmux。日志记得重定向到文件,方便排查。具体配置可参考《Telegram Bot 部署与 Webhook 配置指南》。
4.3 域名、HTTPS 与回调安全
走 Webhook 时,Nginx 反向代理加 Let’s Encrypt 免费证书是最常见的组合。建议限制只允许 Telegram 的 IP 段访问回调端口,能挡掉大量扫描。
五、群组与频道实战:让机器人真正有用
把机器人拉进群组后,记得在 BotFather 里用 /setprivacy 关闭隐私模式,否则它只能收到命令、收不到普通消息。群组里的高频操作包括:用 getChatMember 判断权限、用 restrictChatMember 禁言、用 deleteMessage 清理广告。频道场景则多是定时推送、抓取 RSS、附带跳转按钮。一个实用经验是把 Token、管理员 ID、频道 ID 全部放进环境变量,换环境时不会手忙脚乱。更多运营技巧见《Telegram 群组管理与反广告实战》。
六、常见坑与优化建议
其一,Token 泄露等于机器人被接管,泄露后立刻 /revoke;其二,高频轮询会被限流,注意 429 与 retry_after;其三,消息文本别混用 Markdown 特殊字符,容易解析失败,建议统一用 HTML 模式并做转义;其四,用户多在手机端,按钮和图文卡片比长文本更友好;其五,做多语言时把文案抽成字典,别硬编码在逻辑里。
FAQ 常见问题
Q1:没有服务器能先用机器人吗?
A:可以。开发阶段用长轮询在本地跑即可,只要能联网就能收发消息,等逻辑稳定、需要 7×24 在线时再迁移到服务器。
Q2:Token 泄露了怎么办?
A:立刻在 @BotFather 执行 /revoke 重新生成,旧 Token 立即失效,同时检查环境变量与日志,确认没有把 Token 提交到公开仓库。
Q3:机器人能主动给用户发消息吗?
A:只能发给曾与它对话或授权过的用户,无法凭空私聊陌生人,这是 Telegram 反垃圾策略的一部分。
Q4:Webhook 一直设置失败?
A:多半是证书或端口问题。必须使用有效 HTTPS,端口限 443、80、88、8443 之一,域名解析要正确,也不要被 CDN 拦截。
Q5:一台服务器能跑多个 Bot 吗?
A:可以。用 systemd 起多个服务,或用 docker-compose 各开一个容器,注意端口与 Webhook 路径不要冲突。
本文更新日期:2025 年 6 月(接口细节如有变动,请以 Bot API 官方文档为准)
免责声明:本文仅用于技术学习与交流,请遵守 Telegram 服务条款及所在地法律法规,不得将机器人用于发送垃圾信息、爬取隐私或其他违规用途。
Leave a Reply