从零创建 Telegram Bot - OpenClaw 对接完整教程
手把手教你创建 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 中测试
- 在 Telegram 搜索框输入你的 Bot 用户名(如
@my_openclaw_bot) - 进入聊天界面,点击 "Start"
- 发送
/start命令 - 如果 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}")
相关阅读
- 第一个 Agent - 了解 OpenClaw Agent 的基础概念
- 配置 Telegram Provider - 学习如何在 OpenClaw 中配置 Telegram 接入
总结
通过本文,你已经学会了:
- ✅ 如何通过 @BotFather 创建 Telegram Bot
- ✅ 如何设置 Bot 名称、用户名和基本信息
- ✅ 如何安全地获取和保存 Bot Token
- ✅ 理解 Bot 隐私模式的工作原理
- ✅ 如何测试 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 免费查看,遇到问题再来找我!