首页/@admin

从零创建 Telegram Bot - OpenClaw 对接完整教程

龙虾管家
龙虾管家2026年3月22日

手把手教你创建 Telegram Bot,配置 OpenClaw 对接,实现自动回复、定时任务、群聊管理。


title: "创建 Telegram Bot" slug: "telegram-create-bot" summary: "通过 @BotFather 创建 Telegram Bot 的完整步骤,包括获取 token 和基础配置" tags: ["telegram", "bot", "入门"] category: "平台接入" date: "2026-03-10"

创建 Telegram Bot

本文聚焦:@BotFather 操作流程 + Bot 基础配置

前置知识:第一个 Agent 下一篇:配置 Telegram Provider

Telegram Bot 是 Telegram 平台提供的自动化机器人服务,开发者可以通过 Bot API 创建能够接收消息、发送消息、执行命令的自动化程序。无论是简单的消息回复,还是复杂的业务逻辑处理,Telegram Bot 都提供了强大而灵活的接口支持。

本文将详细介绍如何通过 Telegram 官方的 @BotFather 创建你的第一个 Bot,并完成基础配置。


知识点 1:@BotFather 操作流程

1.1 什么是 @BotFather

@BotFather 是 Telegram 官方提供的 Bot 管理机器人,它是创建和管理所有 Telegram Bot 的唯一入口。通过 @BotFather,你可以:

  • 创建新的 Bot
  • 修改 Bot 名称和描述
  • 设置 Bot 的命令菜单
  • 管理 Bot 的隐私设置
  • 获取和重置 Bot Token

1.2 找到并启动 @BotFather

步骤 1:打开 Telegram 应用

在手机上或桌面端打开 Telegram,确保你已经登录账号。

步骤 2:搜索 @BotFather

在 Telegram 的搜索栏中输入 @BotFather,你会看到官方认证的 BotFather 账号(带有蓝色认证勾)。

搜索框输入: @BotFather
结果: BotFather (官方认证,头像为机器人图标)

步骤 3:开始对话

点击 @BotFather 进入聊天界面,然后点击底部的 "Start"(开始)按钮,或者直接发送 /start 命令。

/start

BotFather 会回复一个欢迎消息,列出所有可用的命令:

BotFather:
They call me the Botfather, I can help you create and manage Telegram bots.

Use these commands to control me:
/newbot - create a new bot
/mybots - edit your bots
...

1.3 创建新 Bot(/newbot 命令)

步骤 4:发送 /newbot 命令

在聊天框中输入 /newbot 并发送,BotFather 会引导你完成创建流程。

/newbot

BotFather 回复:

Alright, a new bot. How are we going to call it? Please choose a name for your bot.

步骤 5:设置 Bot 显示名称

输入你希望用户看到的 Bot 名称(可以是中文、英文或混合,支持空格)。这个名称可以随时修改。

示例输入: 我的第一个机器人
或: My First Bot
或: OpenClaw Assistant

BotFather 确认后,会要求你设置用户名:

Good. Now let's choose a username for your bot. It must end in `bot` (e.g. my_openclaw_bot or myopenclawbot).

步骤 6:设置 Bot 用户名

用户名是 Bot 的唯一标识,必须满足以下条件:

  • 全局唯一(不能与其他 Bot 重复)
  • 必须以 bot_bot 结尾
  • 只能包含英文字母、数字和下划线
  • 长度 5-32 个字符
示例输入: my_openclaw_bot
或: openclaw_assistant_bot
或: flynn_test_bot

如果用户名可用,BotFather 会发送成功消息:

Done! Congratulations on your new bot. You will find it at t.me/my_openclaw_bot.

Use this token to access the HTTP API:
1234567890:ABCDEFghijklmnopqrstuvwxyz123456789

Keep your token secure and store it safely, it can be used by anyone to control your bot.

🎉 恭喜你!Bot 创建成功!

1.4 获取 Bot Token

Token 是访问 Bot API 的密钥,格式为:

<数字ID>:<随机字符串>
例如: 1234567890:ABCDEFghijklmnopqrstuvwxyz123456789

⚠️ 重要安全提示:

  • Token 是敏感信息,不要泄露给他人
  • 不要将 Token 提交到 Git 仓库
  • 使用环境变量或配置文件存储 Token
  • 如果 Token 泄露,立即使用 /revoke 命令重置

保存 Token 的方式:

# 方式 1:环境变量
export TELEGRAM_BOT_TOKEN="1234567890:ABCDEFghijklmnopqrstuvwxyz123456789"

# 方式 2:.env 文件
echo "TELEGRAM_BOT_TOKEN=1234567890:ABCDEFghijklmnopqrstuvwxyz123456789" > .env

# 方式 3:配置文件 (config.json)
{
  "telegram": {
    "bot_token": "1234567890:ABCDEFghijklmnopqrstuvwxyz123456789"
  }
}

1.5 设置 Bot 描述和关于信息

虽然这一步是可选的,但强烈建议完成,因为这会提升用户体验。

设置描述(/setdescription):

描述会显示在 Bot 的个人资料页面。

/setdescription

选择你的 Bot,然后输入描述文本:

这是一个 OpenClaw 助手 Bot,可以帮助你管理任务、查询信息和执行自动化操作。

设置关于信息(/setabouttext):

关于信息会显示在 Bot 的个人资料页面底部。

/setabouttext

输入关于文本:

由 OpenClaw 驱动 | 版本 1.0

设置头像(/setuserpic):

/setuserpic

上传一张图片作为 Bot 的头像。


知识点 2:Bot 基础配置

2.1 Bot 隐私模式(Privacy Mode)

什么是隐私模式?

隐私模式是 Telegram Bot 的一项重要安全设置,控制 Bot 能够接收哪些消息:

模式行为
启用(默认)Bot 只能接收:① 直接发送给 Bot 的消息 ② 群聊中以 / 开头的命令
禁用Bot 可以接收群聊中的所有消息

如何查看和修改隐私模式:

/mybots           # 查看你的 Bot 列表
→ 选择你的 Bot
→ Bot Settings
→ Group Privacy

隐私模式状态:

Current status: ENABLED  (或 DISABLED)

Who can see your bot's messages in groups?
- Currently: Only commands (privacy mode is ON)

何时关闭隐私模式?

如果你需要 Bot 监听群聊中的所有消息(例如关键词回复、内容审核等),需要关闭隐私模式:

Bot Settings → Group Privacy → Turn off

⚠️ 注意:关闭隐私模式后,Bot 会收到群聊中的所有消息,请确保你的代码妥善处理,避免滥用。

2.2 常用设置命令

BotFather 提供了丰富的命令来管理你的 Bot:

命令功能
/setname修改 Bot 显示名称
/setdescription修改 Bot 描述
/setabouttext修改关于信息
/setuserpic修改头像
/setcommands设置命令菜单
/setprivacy切换隐私模式
/setinline启用/禁用内联模式
/setinlinefeedback设置内联反馈
/setjoingroups允许/禁止加入群聊
/revoke重置 Token
/deletebot删除 Bot

设置命令菜单示例(/setcommands):

命令菜单会显示在聊天输入框旁边,方便用户快速使用。

/setcommands

输入命令列表(每行一个命令,格式:命令 - 描述):

start - 开始使用 Bot
help - 获取帮助信息
status - 查看系统状态
settings - 打开设置菜单

设置完成后,用户在聊天时会看到命令建议按钮。

2.3 测试 Bot 是否创建成功

方法一:直接在 Telegram 中测试

  1. 在 Telegram 搜索框输入你的 Bot 用户名(如 @my_openclaw_bot
  2. 进入聊天界面,点击 "Start"
  3. 发送 /start 命令
  4. 如果 Bot 有响应(或至少没有错误提示),说明创建成功

方法二:使用 HTTP API 测试

使用 curl 或浏览器访问 Bot API 的 getMe 方法:

# 替换为你的实际 Token
TOKEN="1234567890:ABCDEFghijklmnopqrstuvwxyz123456789"

# 测试 API 连通性
curl "https://api.telegram.org/bot${TOKEN}/getMe"

成功响应示例:

{
  "ok": true,
  "result": {
    "id": 1234567890,
    "is_bot": true,
    "first_name": "我的第一个机器人",
    "username": "my_openclaw_bot",
    "can_join_groups": true,
    "can_read_all_group_messages": false,
    "supports_inline_queries": false
  }
}

方法三:使用 Python 测试

import requests
import os

# 从环境变量读取 Token(推荐)
TOKEN = os.getenv("TELEGRAM_BOT_TOKEN")

# 获取 Bot 信息
response = requests.get(f"https://api.telegram.org/bot{TOKEN}/getMe")
data = response.json()

if data.get("ok"):
    bot_info = data["result"]
    print(f"✅ Bot 连接成功!")
    print(f"名称: {bot_info['first_name']}")
    print(f"用户名: @{bot_info['username']}")
    print(f"ID: {bot_info['id']}")
else:
    print(f"❌ 连接失败: {data}")

方法四:使用 OpenClaw 测试

如果你已经配置了 OpenClaw,可以在配置文件中添加 Telegram Provider:

{
  "providers": [
    {
      "type": "telegram",
      "token": "1234567890:ABCDEFghijklmnopqrstuvwxyz123456789",
      "allowFrom": ["your_telegram_user_id"]
    }
  ]
}

然后发送消息给你的 Bot,查看 OpenClaw 是否能正常接收和处理。


实践建议

1. Token 安全管理

# 创建 .env 文件存储敏感信息
cat > .env << 'EOF'
TELEGRAM_BOT_TOKEN=1234567890:ABCDEFghijklmnopqrstuvwxyz123456789
EOF

# 将 .env 添加到 .gitignore
echo ".env" >> .gitignore

# 在代码中读取
from dotenv import load_dotenv
import os

load_dotenv()
TOKEN = os.getenv("TELEGRAM_BOT_TOKEN")

2. 开发环境 vs 生产环境

建议创建两个 Bot:

  • 开发环境 Bot:用于本地测试,可以随意调试
  • 生产环境 Bot:正式使用,配置更严格

3. 命令设计规范

  • 使用小写英文单词
  • 保持简洁(如 /start, /help, /status
  • 提供清晰的命令描述
  • 考虑使用子命令(如 /settings language

4. 错误处理

import requests

def test_bot_connection(token):
    try:
        response = requests.get(
            f"https://api.telegram.org/bot{token}/getMe",
            timeout=10
        )
        response.raise_for_status()
        data = response.json()
        
        if data.get("ok"):
            return True, data["result"]
        else:
            return False, data.get("description", "Unknown error")
    except requests.exceptions.RequestException as e:
        return False, str(e)

# 使用示例
success, result = test_bot_connection(TOKEN)
if success:
    print(f"✅ Bot @{result['username']} 连接正常")
else:
    print(f"❌ 连接失败: {result}")

相关阅读


总结

通过本文,你已经学会了:

  1. ✅ 如何通过 @BotFather 创建 Telegram Bot
  2. ✅ 如何设置 Bot 名称、用户名和基本信息
  3. ✅ 如何安全地获取和保存 Bot Token
  4. ✅ 理解 Bot 隐私模式的工作原理
  5. ✅ 如何测试 Bot 是否正常工作

下一步,请阅读 配置 Telegram Provider,学习如何在 OpenClaw 中配置和使用你的 Telegram Bot。


文章更新日期:2026-03-10


💡 需要帮助?

如果你在安装或使用 OpenClaw 时遇到问题,或者需要企业级部署方案,我可以帮你:

🎯 服务选项

服务价格说明
1 对 1 咨询¥500/小时远程指导安装、配置、Skills 开发
企业部署¥5000 起私有化部署、定制集成、员工培训
定制 Skills面议根据你的业务需求开发专属技能
付费社群¥199/年持续更新教程 + 专属问答群 + 案例分享

📬 联系方式

  • 邮箱:admin@useclaw.net
  • Telegram:@fengguo1990
  • 微信:fengguo1990(备注 OpenClaw)

🐾 免费资源:所有基础教程在 useclaw.net 免费查看,遇到问题再来找我!

#Telegram#Bot#OpenClaw#自动化