Telegram Bot 入门教程(从零到部署)

Written by

in

Telegram Bot 入门教程(从零到部署):30 分钟上线你的第一个机器人

Telegram Bot 是 TG 生态里门槛最低的自动化入口:不用上架商店,不用等审核,几十行代码就能让机器人在群组和频道里替你干活。这篇从零到部署的教程,会带你走完申请 Token、写代码、跑通消息到正式上线的完整流程。

一、开始前需要准备什么

只需要三样东西:一个 Telegram 账号、本机装好 Python 3.9 以上版本、一个能敲命令的终端。如果希望机器人长期在线,再准备一台 1 核 1G 的廉价 VPS 和一个域名即可。开发阶段完全可以在笔记本上完成,不必急着买服务器。

二、用 @BotFather 申请 Token

在 Telegram 里搜索 @BotFather(认准官方认证标识),发送 /newbot,依次设置机器人的显示名称和 username。username 必须以 bot 结尾,例如 my_demo_bot。创建成功后你会拿到一串形如 123456:ABC-DEF... 的 Token,它就是机器人的钥匙,泄露等于把控制权拱手让人。

顺手还可以用 /setdescription 写简介、/setcommands 配置命令菜单(用户输入 / 时自动提示)、/setuserpic 上传头像,这些细节直接影响别人愿不愿意用你的机器人。

三、写第一段代码:跑通 Hello Bot

选一个库装上:pip install python-telegram-bot,或者更轻量的 aiogram。机器人逻辑其实只有三步:接收 Update → 判断类型 → 调用 API 回复。

最小可用版本就是监听 message.text,收到 /start 回复欢迎语,其他文本原样回显。跑起来后在 Telegram 里找到你的机器人,发一句「在吗」,如果它回你,骨架就通了。Token 请写进环境变量,不要硬编码后传到 GitHub。

关于命名规范与命令设计的更多思路,可以参考Telegram Bot 命名与命令设计指南。

四、长轮询还是 Webhook?

Bot API 提供两种收消息方式,很多人卡在这一步。

长轮询 getUpdates

本地开发首选。程序主动向 Telegram 拉取消息,不需要公网 IP、不需要证书,出问题一眼看得出。缺点是实时性略差,多实例会互相抢消息。

Webhook setWebhook

生产环境首选。你提供一个 HTTPS 地址,Telegram 主动把消息推过来,延迟更低、资源占用更小,代价是需要域名和有效证书。

两者不能同时启用。从轮询切到 Webhook 前先调用 deleteWebhook 清掉旧配置,否则会出现消息「丢失」的错觉。

五、部署上线:让机器人 24 小时在线

把代码上传到 VPS,用 systemd 或 supervisor 守护进程,崩溃后自动拉起。走 Webhook 的话还需要 Nginx 反向代理加证书,并开放 443、80、88、8443 中的对应端口。部署完做一次自检:给机器人发条消息,确认有回复,再翻日志看有没有异常堆栈。具体操作可参考Telegram Bot 服务器部署与守护进程实战。

六、进阶:频道、群组与按钮交互

  • 频道:把机器人设为频道管理员,即可定时推送或自动转发内容。
  • 群组:默认的 privacy mode 会让机器人只看到命令,要读取全部消息得去 BotFather 关掉它。
  • Inline Keyboard:按钮交互比让用户打字友好得多,适合做菜单、投票、确认操作。
  • 贴纸包:用 getStickerSet 反查贴纸,可做成表情包检索机器人。
  • 限流:单个群聊每分钟发送别超过 20 条消息,否则会被限速甚至临时封禁。

如果打算把机器人放进已有社群,建议先看看Telegram 群组机器人权限配置清单,避免误删消息或误踢人。

七、常见报错排查

401 Unauthorized:Token 写错或已失效,去 BotFather 核对。409 Conflict:同一 Token 有两个实例在跑,关掉多余的。Chat not found:机器人没被拉进目标群或频道,先邀请再加入。

常见问题 FAQ

Q1:创建 Telegram Bot 要花钱吗?
不需要。Bot API 完全免费,唯一可能的支出是服务器和域名费用。

Q2:不会编程能做机器人吗?
可以用无代码平台搭建简单自动回复,但想做复杂逻辑,仍建议学一点 Python。

Q3:机器人会被封号吗?
正常使用不会。群发广告、高频刷消息、抓取用户数据等行为容易被限制。

Q4:本地跑得好好的,为什么部署后没反应?
多半是 Token 环境变量没读到,或者 Webhook 没删干净、端口没放行。

Q5:一个 Token 能同时服务多个群吗?
可以。同一个机器人能被拉进任意数量的群组和频道,注意各自的权限和限流即可。

本文更新日期:2025 年 6 月 1 日

免责声明:本文仅用于技术学习与交流,请遵守 Telegram 官方服务条款及所在地法律法规,勿将机器人用于群发垃圾信息或其他违规用途。

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *