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

Written by

in

Telegram 官方客户端下载 · 最新版安装包与使用教程 → telegram-i.org

很多人第一次接触 Telegram 机器人,是在群里看到自动欢迎、关键词回复或抽奖机器人。其实从创建到部署并不复杂:一个 Token、几十行代码、一台能跑 HTTPS 的服务器,就能让机器人 7×24 小时在线。下面按创建、调试、上线的顺序,把关键步骤和常见坑讲清楚。

Bot 能做什么

Bot 是运行在 Telegram 生态里的自动化账号,通过 Bot API 收发消息。它可以做频道内容推送、群组入群验证与敏感词过滤、私聊客服、文件转存和定时提醒,也能配合贴纸包做表情检索。要注意,Bot 不是客户端插件,必须有一个持续运行的后端程序接收 Update,再决定回复什么。

第一步:用 BotFather 创建机器人

搜索 @BotFather,发送 /newbot,填写显示名称和以 bot 结尾的用户名,例如 my_first_helper_bot。创建成功后会返回形如 123456789:AA… 的 Token。这串 Token 就是机器人的全部权限凭证,不要写进前端代码,也不要提交到公开仓库。

三项基础设置

用 /setdescription 写简介,/setuserpic 传头像,/setcommands 配置命令菜单。若机器人要进群,还需关闭隐私模式(/setprivacy → Disable),否则它只能看到 / 开头的命令,读不到普通群聊消息。

群组与频道权限

把 Bot 拉进群后,要在成员列表里给它管理员权限,否则无法删消息或封禁用户。频道场景更简单:添加为频道管理员并勾选“发布消息”,就能向订阅者推送内容。Bot 默认不能主动私聊用户,必须由用户先点 Start,这就是通知类机器人要求“先启动一次”的原因。基础操作可参考 Telegram 新手使用指南。

第二步:跑通第一条消息

拿到 Token 后,访问 https://api.telegram.org/bot<TOKEN>/getMe,返回 ok:true 即凭证有效。给机器人发一句 hello,再访问 /getUpdates,会看到包含 chat.id 和 text 的 JSON。回复消息只需调用 /sendMessage,带上 chat_id 与 text。

长轮询:适合调试

开发阶段可用长轮询:循环调用 getUpdates 并带 timeout=30,没有新消息时连接会挂起,减少空转。拿到 update_id 后记录偏移量,下次用 offset=update_id+1,避免重复处理。它适合本地调试和小流量,但会占用一个常驻进程。

Webhook:更适合线上

用户量大时切换到 Webhook:提供 HTTPS 地址,Telegram 收到消息会主动 POST 过来。setWebhook 时传 url,可选 secret_token 校验来源;用自签证书还要上传 certificate。Webhook 实时且省资源,但要求公网 HTTPS、证书有效,服务必须在几秒内返回 200,否则会重试。字段细节可查 Bot API 参数速查。

第三步:部署到服务器

一台 1 核 1G 的云服务器足够跑一个 Python 或 Node.js Bot。敏感配置全部放环境变量:BOT_TOKEN、WEBHOOK_URL、ALLOWED_CHAT_ID,不要硬编码。Webhook 服务监听 8443 或 443,前面用 Nginx 反向代理并配置 Let’s Encrypt 证书,续期和排错都更方便。如果你还不熟悉客户端操作,更多内容见 telegram-i.org。

用 systemd 守护进程

把启动命令写进 /etc/systemd/system/mybot.service,设置 Restart=always,执行 systemctl enable –now 即可开机自启,日志用 journalctl -u mybot -f 查看。进程崩溃会自动拉起,服务器重启也不用手动登录。

Docker 与环境变量

喜欢容器化就写一个简单 Dockerfile,用 docker run –env-file .env 注入 Token,再配合 –restart unless-stopped 保证可用性。上线前把 /start、群组欢迎、频道发帖三条主链路走一遍,确认 chat_id 类型:私聊是用户 ID,群组和频道是负数 ID。

常见坑与上线检查

Token 泄露是最常见事故,发现异常调用立刻在 BotFather 里 /revoke 重置。注意频率限制:单个聊天每秒约 1 条消息,群发要加队列和间隔,否则触发 429。Webhook 地址必须公网可达且证书链完整。处理 Update 要做幂等,网络抖动会导致重复推送。最后给机器人配好命令菜单和错误提示,用户不知道下一步做什么时,体验会迅速下降。

做完这些,一个能长期在线的 Bot 就上线了。后续可以继续加内联键盘、回调查询、文件上传和贴纸包检索;更多频道运营与群组管理技巧,可阅读 群组管理实用技巧。

免责声明:本文仅作技术学习与交流,部署机器人时请遵守 Telegram 服务条款及所在地法律法规,妥善保管 Token 与用户数据。

Comments

Leave a Reply

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