Telegram Bot 入门教程:从 BotFather 到第一个自动回复机器人

3 阅读6分钟

很多人使用 Telegram 时,最开始只是加入频道、接收通知,或者和朋友聊天。但如果你稍微深入一点,会发现 Telegram Bot 是一个很实用的自动化工具。

它可以用来做很多事情,比如自动回复用户消息、接收网站或服务器通知、管理群组和频道、做简单的客服机器人、记录订单、提醒任务、转发消息,甚至还可以和自己的项目系统做联动。

对于个人开发者、站长、频道运营者来说,Telegram Bot 的门槛不算高。只要有一点 Python 基础,就可以做出一个能运行的机器人。

这篇文章就用最简单的方式,带你从 0 开始做一个 Telegram 自动回复机器人。


一、Telegram Bot 是什么?

Telegram Bot 可以理解成一个运行在 Telegram 里的自动化账号。

普通账号需要人手动回复消息,而 Bot 可以根据代码逻辑自动处理消息。比如用户发送 /start,机器人自动回复欢迎语;用户发送普通消息,机器人可以自动回复、转发给管理员,或者保存到数据库。

常见使用场景有:

  1. 项目通知
    服务器异常、订单提醒、网站报警,都可以通过 Bot 推送到 Telegram。

  2. 客服转发
    用户给机器人发消息,机器人转发给管理员,管理员再回复用户。

  3. 频道运营
    用 Bot 辅助发布内容、提醒用户、管理关键词。

  4. 自动化工具
    比如签到、查询、表单收集、文件转发等。


二、创建机器人:使用 BotFather

在 Telegram 里创建 Bot,需要先找到官方机器人 BotFather。

操作流程:

  1. 打开 Telegram
  2. 搜索 BotFather
  3. 点击开始
  4. 发送命令:
/newbot

然后 BotFather 会让你设置两个东西:

机器人名称
机器人用户名

机器人用户名必须以 bot 结尾,比如:

my_test_helper_bot

创建完成后,BotFather 会给你一段 Token。

这个 Token 很重要,相当于机器人的密码。别人拿到 Token,就可以控制你的机器人,所以不要随便发到公开文章、截图或者代码仓库里。


三、准备 Python 环境

这里使用 Python 来写 Bot。建议使用 Python 3.10 或以上版本。

先安装依赖:

pip install python-telegram-bot --upgrade

安装完成后,可以创建一个文件:

bot.py

四、写一个最简单的自动回复机器人

下面是一个基础版本:用户发送 /start 时,机器人回复欢迎语;用户发送普通文本时,机器人会自动回复一段内容。

from telegram import Update
from telegram.ext import ApplicationBuilder, CommandHandler, MessageHandler, ContextTypes, filters

BOT_TOKEN = "这里换成你的机器人TOKEN"


async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
    await update.message.reply_text(
        "你好,我是一个 Telegram Bot。\n"
        "你可以给我发送任意消息,我会自动回复。"
    )


async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE):
    user_text = update.message.text

    await update.message.reply_text(
        f"我收到你的消息了:{user_text}"
    )


def main():
    app = ApplicationBuilder().token(BOT_TOKEN).build()

    app.add_handler(CommandHandler("start", start))
    app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_message))

    print("机器人已启动...")
    app.run_polling()


if __name__ == "__main__":
    main()

BOT_TOKEN 替换成你从 BotFather 获取的 Token,然后运行:

python bot.py

如果终端显示:

机器人已启动...

说明机器人已经开始运行了。

这时候打开 Telegram,找到你的机器人,发送:

/start

机器人就会自动回复。


五、代码简单解释

这段代码主要分成几个部分。

1. 导入依赖

from telegram import Update
from telegram.ext import ApplicationBuilder, CommandHandler, MessageHandler, ContextTypes, filters

这里主要用到了 Telegram 消息对象、应用构建器、命令处理器和消息处理器。

2. 处理 /start 命令

async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
    await update.message.reply_text("你好,我是一个 Telegram Bot。")

当用户发送 /start 时,就会触发这个函数。

3. 处理普通消息

async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE):
    user_text = update.message.text
    await update.message.reply_text(f"我收到你的消息了:{user_text}")

这部分会接收用户发来的普通文本,并自动回复。

4. 启动机器人

app.run_polling()

run_polling() 的作用是让程序持续监听 Telegram 消息。只要程序不关闭,机器人就会一直在线。


六、进阶:做一个简单客服转发机器人

如果你想让机器人把用户消息转发给管理员,可以增加一个管理员 ID。

示例思路:

ADMIN_ID = 123456789

当普通用户发消息时,机器人把消息发给管理员:

await context.bot.send_message(
    chat_id=ADMIN_ID,
    text=f"用户 {update.message.from_user.id} 发来消息:\n{update.message.text}"
)

这样就可以做一个最基础的客服转发机器人。

后面还可以继续扩展:

  • 管理员回复用户
  • 保存用户 ID
  • 添加按钮菜单
  • 记录订单信息
  • 对接网站后台
  • 对接数据库
  • 添加关键词自动回复

七、Bot 开发时需要注意什么?

1. Token 不要泄露

Token 相当于机器人的控制权限。建议不要直接写在公开代码里,可以放到环境变量中。

例如:

import os

BOT_TOKEN = os.getenv("BOT_TOKEN")

这样更安全。

2. 程序需要一直运行

如果你在自己电脑上运行,电脑关机后机器人就会离线。

如果想长期在线,可以部署到:

  • 云服务器
  • Docker
  • 宝塔面板
  • Railway
  • Render
  • 其他支持 Python 的平台

3. 不要一开始写太复杂

刚开始建议先做最简单的功能,比如:

  • /start 欢迎语
  • 自动回复
  • 消息转发
  • 按钮菜单

等基础逻辑跑通后,再考虑数据库、订单系统和后台管理。

4. 注意用户隐私

如果机器人会收集用户消息、订单、联系方式,一定要注意数据安全,不要随意公开用户 ID、聊天记录或敏感信息。


八、适合新手练习的 Bot 功能

如果你刚开始学习 Telegram Bot,可以按这个顺序练习:

  1. 自动回复机器人
  2. 关键词回复机器人
  3. 消息转发机器人
  4. 按钮菜单机器人
  5. 群组管理机器人
  6. 频道通知机器人
  7. 简单订单机器人
  8. 数据库存储机器人

这个顺序比较适合新手,不会一开始就太复杂。


九、总结

Telegram Bot 的入门门槛并不高。最核心的流程就是:

  1. 用 BotFather 创建机器人
  2. 获取 Token
  3. 安装 Python 依赖
  4. 写处理消息的代码
  5. 运行程序
  6. 根据需求继续扩展功能

对于开发者、站长和频道运营者来说,Bot 是一个很实用的自动化工具。它可以用来做通知、客服、管理、转发、查询和任务提醒。

如果只是学习,可以先从自动回复开始;如果想做实际项目,可以继续扩展到客服系统、订单系统、数据库和后台管理。

Telegram 的玩法很多,Bot 只是其中一个入口。后面还可以继续研究频道运营、账号安全、Premium 功能、群组管理等内容。对于新手来说,先把基础工具用明白,再逐步搭建自己的自动化流程,会更稳一些。