ENEnglish
RUРусский
ZH中文
ESEspañol
PTPortuguês
TRTürkçe
ARالعربية
FAفارسی
FRFrançais
UKУкраїнська
IDBahasa Indonesia
HIहिन्दी
ENEnglish
RUРусский
ZH中文
ESEspañol
PTPortuguês
TRTürkçe
ARالعربية
FAفارسی
FRFrançais
UKУкраїнська
IDBahasa Indonesia
HIहिन्दी

2026 年如何创建 Telegram 机器人:BotFather、无代码工具和 Python

了解如何在 2026 年创建 Telegram 机器人:通过 BotFather 注册,用无代码工具或 Python 设置回复,并测试机器人是否正常运行。
HowToCreateABot

Telegram 机器人可以回答问题、处理命令,还能将聊天连接到其他服务。创建机器人要从 BotFather 开始;要让它能够回复消息,则需要设置无代码工作流,或编写一个处理消息的程序。

本指南将介绍如何在 2026 年创建 Telegram 机器人:注册账号、获取令牌、用无代码工具或 Python 设置回复,并解决常见的配置问题。我们先从 BotFather 开始,再分别介绍如何用两种方式创建一个可正常运行的机器人。

快速概览

通过官方 @BotFather 账号注册机器人,并妥善保管访问令牌。

无代码工作流适合处理简单回复;Python 则能让你灵活定制逻辑。

BotFather 负责创建账号;要让机器人回复消息,还需要运行工作流或程序。

先测试 /start、/help,并在私聊中发送一条文本消息,再部署机器人。

什么是 Telegram 机器人?

Telegram 机器人是一种应用,用户通过专门用于自动化的 Telegram 账号与它互动。它可以回答问题、处理命令,或将对话连接到其他服务,详情请见 Telegram 机器人概览。

从一项任务开始。帮助机器人可以显示 /start 和 /help 的使用说明。回声机器人则会原样复述消息:发送 你好,收到 你好。先做到这一步,就足以确认连接正常,之后再添加更多逻辑。

机器人并不等于 AI 聊天机器人。固定回复只需要一条规则;要生成 AI 回复,则需要另外接入模型。Mini App 是在 Telegram 内打开的网页界面,和本文要创建的文本机器人属于不同的开发任务。

机器人也是 Telegram 广告生态的一部分:像 AdsGram 这样的 Telegram 广告平台 会在频道、机器人和 Mini Apps 中投放广告活动。

如何创建 Telegram 机器人

先用 BotFather 创建账号,再选择无代码工作流或 Python 来实现机器人的功能。无论采用哪种方式,都要先通过 BotFather 注册;它本身并不是实现对话逻辑的第三种方法。

方式

需要配置的内容

适合的起点

需要维护的内容

BotFather

账号、个人资料和访问令牌

注册必备

所有权和账号设置

无代码

触发条件、判断条件和回复

简短、流程固定的对话

工作流、凭据和服务可用性

Python

处理器和应用逻辑

自定义规则或集成

代码、依赖项和运行环境

选择 Telegram 机器人构建工具前,先画出一段对话流程:收到消息 → 判断条件 → 回复。确认工具支持所需的消息类型、分支逻辑和数据存储。如果对话中有很多例外情况,可以比较一下:用可视化编辑器和直接改代码,分别需要花多少工夫来调整规则。

bot-creation-workflow

通过 BotFather 注册

打开官方 @BotFather,发送 /newbot,然后按照提示设置显示名称和用户名。Telegram 在其首个机器人教程中介绍了这一注册流程。

  1. 使用上方的直达链接打开 BotFather,然后点击 开始。
  2. 发送 /newbot。
  3. 输入显示名称,例如 Workshop Help。
  4. 选择一个可用且以 bot 结尾的用户名,例如 workshop_help_demo_bot。
  5. 将访问令牌保存在密码管理器或密钥存储服务中。
  6. 打开机器人的链接,确认能否进入它的聊天窗口。

示例用户名仅供参考,无法保证可用。请使用拉丁字母、数字和下划线,并遵循 BotFather 显示的用户名要求。

访问令牌用于验证机器人身份,使其能够调用 Bot API。任何拿到令牌的人都可能控制机器人,因此不要在截图、代码仓库或共享文档中公开它。对于已有机器人,请在 BotFather 的管理选项中获取或更换令牌。如果令牌泄露,请立即撤销,并在关联的应用中换成新令牌。

botfather-registration

常用 BotFather 命令

请参阅 Telegram 的 BotFather 指南,并查看 BotFather 当前菜单,了解可用设置。

命令

用途

/newbot

注册机器人

/mybots

管理机器人

/setname

修改显示名称

/setdescription

介绍机器人的功能

/setabouttext

修改个人简介

/setuserpic

设置头像

/setcommands

配置命令菜单

/token

生成身份验证令牌

只添加应用实际支持的命令。菜单中出现某个命令,并不代表机器人已经能响应:/help仍需配置工作流规则或编写代码来处理。

无需编程,创建机器人

想要免写代码创建 Telegram 机器人,可以将令牌接入可视化工作流,并设置收到消息后如何回复。下面以 n8n 为例,介绍一个最简配置;n8n 是第三方自动化工具,并非 Telegram 的服务。

首先准备一个能够接收 Telegram 事件的 n8n 实例。自行托管还需要配置服务器,所以“无代码”不等于“无需设置”。也别默认托管套餐或持续运行是免费的。

  1. 新建一个工作流,并添加 Telegram Trigger。
  2. 创建 Telegram 凭据,并将 BotFather 提供的令牌填入 Access Token字段。具体请参阅凭据文档。
  3. 在Telegram Trigger中选择 Message 事件。
  4. 添加一个 Telegram 操作,将资源设为 Message,操作设为 Send Message。
  5. 设置 Chat ID为收到的消息对应的聊天 ID。如果此操作紧接着 Trigger 节点运行,请使用表达式 {{ $json.message.chat.id }}。
  6. 将 Text设为 Hello! Your bot is connected.。支持的操作详见 Telegram 操作文档。
  7. 启动测试监听,然后给机器人发送一条新的私信。
  8. 确认机器人能正常回复后,发布或启用工作流,即可持续使用。

这个配置会对每条消息都回复同一句话。接下来,添加条件分流:让 /start 触发欢迎消息,让 /help 触发使用说明。还要设置收到无法识别的输入时如何回复,别让用户一直等。

自行托管 n8n 时,Telegram 需要一个公开的 HTTPS webhook 地址。测试和生产环境可能会互相覆盖 webhook 注册信息,因此修改线上工作流时,请使用单独的测试机器人。另请参阅n8n 的 Telegram 故障排查指南。

用 Python 创建 Telegram 机器人

如果需要精确控制回复、验证和集成,可以使用 Python。下面的示例使用异步处理程序模式,实现 /start、/help 命令和文本复读,具体可参考 python-telegram-bot 示例.

准备项目

安装受支持的 Python 版本;本示例建议使用 Python 3.12 作为基础版本。 库文档 提供了兼容性详情。创建一个文件夹和虚拟环境,让项目依赖的程序包彼此隔离。

macOS 或 Linux:

mkdir telegram-bot-demo cd telegram-bot-demo
python3 -m venv .venv source .venv/bin/activate
python -m pip install "python-telegram-bot==22.8"

在 Windows PowerShell 中,使用 py -m venv .venv,
然后运行 .\.venv\Scripts\Activate.ps1,再执行相同的安装命令。
如果本地策略阻止了环境激活,可以直接运行 .\.venv\Scripts\python.exe,不必为了本教程更改系统策略。

添加机器人代码

将以下代码保存为 bot.py。Token 从环境变量中读取,不要将其作为字符串提交到源代码仓库。

import os

from telegram import Update

from telegram.ext (

Application, CommandHandler, ContextTypes,

MessageHandler, filters,

)


async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):

if update.message:

await update.message.reply_text("Hello! Send text or use /help.")


async def help_command(update: Update, context: ContextTypes.DEFAULT_TYPE):

if update.message:

await update.message.reply_text("I repeat text messages. Try sending Hello.")


async def echo(update: Update, context: ContextTypes.DEFAULT_TYPE):

if update.message and update.message.text:

await update.message.reply_text(update.message.text)


def main():

token = os.environ.get("TELEGRAM_BOT_TOKEN")

if not token:

raise SystemExit("Set TELEGRAM_BOT_TOKEN before starting the bot.")

app = Application.builder().token(token).build()

app.add_handler(CommandHandler("start", start))

app.add_handler(CommandHandler("help", help_command))

app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, echo))

app.run_polling(allowed_updates=["message"])


if __name__ == "__main__":

main()

​

运行机器人

在同一个终端会话中设置密钥,然后运行 python bot.py。在 macOS 或 Linux 的 bash 或 zsh 中,这种方式可以避免直接在命令中输入 Token,导致它被保存到 shell 历史记录里:

read -s "TELEGRAM_BOT_TOKEN?Paste bot token: "
zsh export TELEGRAM_BOT_TOKEN python bot.py

如果使用 bash,请将第一行替换为 read -s -p "Paste bot token: " TELEGRAM_BOT_TOKEN。

在 PowerShell 7 中,运行 $env:TELEGRAM_BOT_TOKEN = Read-Host -MaskInput 'Paste bot token',然后运行 python bot.py。

打开与机器人的私聊,测试 /start, /help 和一条简短的文本消息。按 Ctrl+C 停止进程。这段代码只是入门示例:它没有数据库、持久化的对话状态,也没有生产环境监控。

让机器人持续运行

将应用部署到一台始终在线的主机上,或者确保无代码工作流在托管环境中持续运行。关闭本地 Python 进程后,机器人就不会再回复消息。

长轮询是指程序向 Telegram 请求获取新事件;Webhook 则是 Telegram 将事件发送到你的服务器。Bot API 参考文档 介绍了这两种互斥的更新接收方式。Python 示例使用轮询,而 n8n 触发器使用 Webhook。

从实验项目转为多人共用的服务前:

- 将 Token 保存在主机的密钥设置中,并从 Git 中排除 .venv 和密钥文件。
- 每个 Bot Token 只运行一个轮询实例,避免其他应用同时接收同一个 Bot 的事件。
- 设置自动重启,并排查运行故障;不要记录密钥或不必要的消息内容。
- 将必需的对话状态保存在进程内存之外。
- 测试重启流程,确认 Bot 能恢复运行。

如果项目之后需要网页界面,请单独规划。AdsGram 关于Telegram Mini App 开发常见错误的指南也可以作为这一阶段的延伸阅读。

AdsGram

3个步骤开始赚钱

  1. 01连接
  2. 02投放广告
  3. 03获取收益
立即货币化

排查常见设置问题

如果 Bot 没有回复,先检查应用是否在运行,以及更新是否正常送达,再考虑修改 Bot 资料。按以下顺序排查,区分是账号问题、工作流问题还是代码问题。

  1. 注册后没有回复:连接并启动工作流或程序;BotFather 本身不会运行它。
  2. 缺少环境变量:在启动 Python 的同一个终端或托管服务中设置 TELEGRAM_BOT_TOKEN。
  3. 身份验证错误:检查 Token 中是否有空格、是否已过期,或是否误用了其他 Bot 的凭据。
  4. 轮询冲突:停止重复运行的进程。如果要从 Webhook 服务切换过来,请先使用 deleteWebhook 主动移除 Webhook,再启动轮询;详见Telegram 更新常见问题。
  5. 私聊正常,群组不行:检查隐私模式,并测试发送一个提及 Bot 的命令,例如 /help@your_bot_username。
  6. 菜单命令没有反应:为该命令编写处理逻辑;在 BotFather 中添加命令,只会让它显示出来。

常见问题

无需注册托管服务账号,也可以先在本地开始。以下问题会介绍注册和持续运行 Bot 所需了解的事项。

可以免费创建 Telegram Bot 吗?

Telegram 的基础 Bot 平台可以免费使用,你也可以在自己的电脑上开发一个小型 Python Bot。托管服务、无代码平台或外部 API 可能会产生额外费用。初次尝试时,可以先在本地运行一个文字回复 Bot;在转为持续运行之前,再了解托管或服务的收费情况。

BotFather 安全可靠吗?

请通过 Telegram 官方文档找到 BotFather,或使用本指南中的 @BotFather 直达链接。BotFather 是 Telegram 的 Bot 管理工具。主要风险在于冒充官方的账号和泄露的访问 Token。请妥善保管 Token,只提供给你有意委托其运行 Bot 的应用或服务。

如何从 BotFather 获取 Telegram Bot Token?

向官方 BotFather 发送 /newbot,并按提示设置名称和用户名。之后,BotFather 会提供该 Bot 的 Token。如果要管理已有 Bot,请使用管理选项生成 Token。请妥善保存 Token;撤销或更换旧 Token 后,也要更新应用凭据。

创建 Telegram Bot 一定要用 Python 吗?

不需要。你可以通过可视化工作流实现基础回复,不用编写 Python;也可以使用其他编程语言调用 Bot API。根据所需功能和你能维护的方式来选择。简单的判断流程适合用可视化工具;如果需要更复杂的验证和集成,自己编写应用可能更合适。

为什么我关闭终端后 Bot 就停止运行了?

在这个示例中,终端负责运行接收消息并发送回复的进程。进程一旦结束,相关逻辑也会停止,但 Bot 账号仍然存在。若要持续运行,可以将程序部署到支持常驻运行并能自动重启的环境中;也可以让托管工作流持续运行,并在 Bot 无法回复时检查执行日志。

Elizaveta Bydanova
Elizaveta Bydanova
业务发展团队负责人, AdsGram

阅读下一篇

最新的行业新闻、访谈、技术和资源

一体化自动化平台
用于高效广告投放

今天就开始您的广告之旅吧。