# 如何创建 Telegram 机器人

分步讲解：@BotFather、/newbot、令牌、命令、按钮和运行代码。

https://shiba-bank.com/zh/guides/create-telegram-bot

更新于 2026年10月2日 · 阅读约 5 分钟

创建 Telegram 机器人要在与官方机器人 [@BotFather](https://t.me/botfather) 的聊天里进行：给它发送 `/newbot`，为机器人起一个名称，并选择一个以 `bot` 结尾的用户名。BotFather 会回复一个令牌（token），你的程序用它来控制机器人。创建机器人不需要花钱：Telegram 不向用户或开发者收取机器人平台的费用。但 BotFather 只负责注册机器人。想让它回答任何人，你需要在自己的电脑或服务器上运行一个程序。

## 如何在 BotFather 里创建机器人

1. 打开 [@BotFather](https://t.me/botfather)，点击“开始”（Start）。
2. 发送命令 `/newbot`。
3. 输入机器人的**名称**，也就是它的显示名称。
4. 输入**用户名**，即机器人的地址，例如 `@my_shop_bot`。它必须是 5–32 个字符，只能包含拉丁字母、数字和下划线，并以 `bot` 结尾。
5. BotFather 会把**令牌**发给你。机器人就创建好了。

> **重要:** 名称以后可以用 `/setname` 修改，但根据 Telegram 的文档，用户名在创建之后无法更改，所以请慎重选择。

## 令牌：它是什么以及如何妥善保管

令牌看起来是由冒号分隔的数字和字母。谁拿到它，谁就完全控制了这个机器人，所以 Telegram 建议把它存放在安全的地方，只告诉确实需要直接访问的人。

- 绝不要把令牌放进公开的代码、GitHub 或聊天里。
- 如果泄露了，Telegram 的文档给出的办法是在 BotFather 里使用 `/token` 命令生成新令牌。然后在你的程序用到它的所有地方更新。
- 令牌只用于机器人。`api_id` 和 `api_hash` 是另一种密钥，供以用户身份登录的程序使用：如何获取它们。

## 在 BotFather 里需要设置什么

`/mybots` 会打开一个交互式菜单，用来设置你的机器人；在 [BotFather 小程序](https://t.me/botfather?startapp)里也能做同样的事。机器人的外观还可以用单独的命令设置：

- `/setname`：机器人的名称。
- `/setdescription`：机器人的描述，一段不超过 512 个字符的简短文字。
- `/setabouttext`：“关于”信息，更短的文字，不超过 120 个字符。
- `/setuserpic`：机器人的头像。
- `/setcommands`：命令列表；有人输入 `/` 时，Telegram 会提示这些命令。
- `/setjoingroups`：机器人是否可以被添加到群组。
- `/setprivacy`：机器人在群里能收到哪些消息。
- `/deletebot`：删除机器人并释放它的用户名。

## 让机器人做出回应

机器人是一个通过 [Bot API](https://core.telegram.org/bots/api) 与 Telegram 通信的程序。每个请求都发往 `https://api.telegram.org/bot<token>/METHOD`。接收消息有两种方式，它们是互斥的：

- **getUpdates**（长轮询）：你的程序向 Telegram 询问新消息。这是最容易上手的方式，不需要公网地址。
- **Webhook**：由 Telegram 把消息发送到你的服务器。需要 HTTPS，以及 443、80、88 或 8443 其中一个端口。

你可以用任何能发起 HTTP 请求的语言编写代码。常用的库有 Python 的 aiogram 和 python-telegram-bot，以及 JavaScript 的 grammY 和 Telegraf。官方教程演示了一个 Java 机器人：[从 BotFather 到“Hello World”](https://core.telegram.org/bots/tutorial)。你可以在自己的电脑开机时运行机器人，也可以放在 VPS 上让它全天候工作。

## 机器人里的按钮和命令

- **命令**是机器人处理的、形如 `/start` 的词；提示列表用 `/setcommands` 设置。
- 消息下面的**内联按钮**不会向聊天发送文字：它们会向机器人发送一次点击，或打开一个链接。
- **回复键盘**会用现成的回答取代常规键盘。
- **小程序（Mini App）**是在 Telegram 内部打开的完整界面。

更多内容见[机器人功能概览](https://core.telegram.org/bots/features)。

## 机器人里的支付

机器人里的数字商品和服务用 Telegram Stars 支付：账单使用货币 `XTR`，不需要支付服务商。设置方法见在你的机器人里接收 Stars；机器人收到的 Stars 通过 Fragment 提现：[如何从机器人提现 Stars](https://shiba-bank.com/zh/guides/withdraw-stars-from-bot)。

> **提示:** 需要让你的程序为它的用户购买 Stars 或 Premium 吗？Shiba Bank 机器人为此提供了 API：Telegram Stars API。

[一切都在 Telegram 里完成 — 打开应用](https://t.me/barboskich_stars_bot?startapp=site_ai_zh)

## 常见问题

### 不会编程怎么创建 Telegram 机器人？
通过 @BotFather 一分钟就能注册一个机器人，但要让它做事就需要代码。Telegram 自己也指出，创建机器人至少需要一些编程技能。

### 创建 Telegram 机器人需要多少钱？
不需要花钱：Telegram 不向用户或开发者收取机器人平台的费用。只有当你把机器人放在自己的服务器上运行时，才需要为服务器付费。

### BotFather 是什么？
Telegram 官方用于创建和管理机器人的机器人：名称、描述、头像、命令和令牌。

### 如何获取 BotFather 令牌？
令牌会在 `/newbot` 之后立刻发给你。如果泄露了，BotFather 里的 `/token` 命令会签发一个新令牌。

### 机器人可以用什么用户名？
5–32 个字符：拉丁字母、数字和下划线，并且必须以 `bot` 结尾，例如 `my_shop_bot`。

### 如何给 Telegram 机器人添加按钮？
按钮是在机器人的代码里定义的：消息下面的内联按钮和回复键盘。“/”菜单里的命令列表在 BotFather 里用 `/setcommands` 设置。
