在 Telegram 上开发机器人(Bot)时,你通常需要让 Bot 加入频道或群组并进行自动化操作。本教程将手把手教你:
- 如何创建一个 Telegram Bot
- 如何创建频道 / 群组
- 如何把 Bot 加入频道并授予管理员权限
- 如何获取频道/群组 ID
- Bot 如何“订阅”频道(正确方法说明)
无论你是做内容转发、自动化助手,还是搭建自己的消息加工系统,这篇文章都能帮助你从零开始掌握 Telegram Bot 的核心基础。
⭐ 一、创建 Telegram Bot(使用 @BotFather)
创建 Bot 是开发 Telegram 自动化程序的第一步,流程非常简单。
步骤 1:打开 @BotFather
- 打开 Telegram
- 搜索并进入官方认证的机器人:
👉 @BotFather - 点击 Start
步骤 2:创建新 Bot
输入指令:
/newbot
BotFather 会要求你:
-
输入 Bot 显示名称
例如:My Forwarder Bot -
输入 Bot 的用户名(必须以 _bot 结尾)
例如:tongweiqing_bot my_forwarder_bot
注意:用户名必须唯一,且只能包含英文和数字。
步骤 3:获取 Bot Token
BotFather 会返回一个消息,其中包含:
- Bot 的访问地址(如 t.me/my_forwarder_bot)
- Bot Token(机器人密码)
示例:
Use this token to access the HTTP API:
123456789:ABC-xxxxxxxxxxxxxxxxxxxx
⚠ 非常重要:Bot Token 就是机器人的密码,要绝对保密!
如果泄露,请使用:
/revoke
重新生成 Token。
⭐ 二、创建 Telegram 频道 / 群组
为了让 Bot 能够工作,你通常需要让它加入某个频道或群组。
📌 创建频道(Channel)
-
Telegram 左上角菜单 → New Channel
-
输入频道名称、描述
-
选择频道类型:
- Public(公开) → 会有 username
- Private(私有) → 没有 username
-
创建完成
📌 创建群组(Group)
- Telegram 菜单 → New Group
- 添加至少一个成员(可以之后删除)
- 输入群组名称
- 完成
⭐ 三、将 Bot 添加到频道 / 群组
注意:Bot 无法主动加入频道,这是 Telegram 的安全限制。必须由管理员手动添加。
步骤 1:进入频道 / 群组设置
点击顶部名称 → 进入管理界面。
步骤 2:添加 Bot 为成员
路径:
Members → Add Member
搜索你创建的 bot:
tongweiqing_bot
添加成功即可。
步骤 3:提升为管理员(非常关键)
如果你的 bot 需要发消息、转发内容、管理频道等,你需要给它授予管理员权限。
路径:
Administrators → Add Admin → 选择你的 bot
建议开启:
- ✔ Post Messages
- ✔ Edit Messages(可选)
- ✔ Delete Messages(可选)
- ✔ Manage Messages(可选)
授予后,你的 Bot 才能在频道内正常工作。
⭐ 四、如何获取频道/群组 ID(chat_id)
chat_id 是自动消息处理、内容转发等功能必须用到的参数。
方法 1:让 Bot 输出 chat_id(推荐)
你只需要在 bot 程序中打印 chat_id。
示例代码(python-telegram-bot):
from telegram.ext import ApplicationBuilder, MessageHandler, filters
async def get_id(update, context):
print('Chat ID:', update.message.chat_id)
await update.message.reply_text(f"Chat id: {update.message.chat_id}")
app = ApplicationBuilder().token("BOT_TOKEN").build()
app.add_handler(MessageHandler(filters.ALL, get_id))
app.run_polling()
运行后,只要在频道或群组里发一条消息,控制台就会输出:
Chat ID: -1001234567890
这就是频道/群组 ID。
方法 2:使用 @userinfobot 获取 ID(简单)
- 打开频道或群组
- 输入并发送:
@userinfobot
机器人会返回:
ID: -100xxxxxxx
注意:如果频道不允许机器人,可能无法使用。
方法 3:公开频道的 username
如果频道是公开的,其 URL 结构如下:
https://t.me/my_channel
那么:
username = my_channel
在 Telethon 中可以直接使用 username 来监听该频道。
⭐ 五、Bot 如何“订阅”频道?(重点说明)
这是很多人误解的地方。
❌ 错误理解:Bot 可以自己加入频道
Telegram 官方明确禁止:
- Bot 不能自己加入频道
- Bot 不能主动订阅任何频道
- Bot 不能读取大多数频道消息
这完全是出于隐私保护。
✅ 正确做法:手动添加 Bot 到目标频道
如本文第 3 部分所述:
- 管理员手动将 bot 加入频道
- 提升为管理员
- Bot 才能发消息
🔥 如果你想让系统“读取频道消息”怎么办?
✔ 正确方式:使用 Telethon 控制你的真人账号
因为:
- Bot API 无法读取频道历史消息
- 无法监听大部分频道的新消息
- 无法自由加入频道
但 Telethon 控制 用户账号 可以做到:
- 自动加入频道
- 获取所有消息
- 监听新消息
- 历史消息爬取
- 转发内容到目标频道
例如:
from telethon import TelegramClient, events
client = TelegramClient("me", api_id, api_hash)
@client.on(events.NewMessage(chats="source_channel"))
async def handler(event):
print(event.message)
client.start()
client.run_until_disconnected()
⭐ 六、总结
| 任务 | 正确方法 |
|---|---|
| 创建 Bot | 使用 @BotFather |
| 创建频道 / 群组 | Telegram 内置功能 |
| Bot 加入频道 | 管理员手动添加 |
| 获取 chat_id | Bot 程序打印 / @userinfobot |
| Bot 订阅频道 | Bot API 不行 → 用 Telethon 控制用户账号 |
这篇教程覆盖了从 Bot 创建 → 频道创建 → Bot 加入 → 获取 ID → 正确监听频道方式 全流程内容,是开发 Telegram 自动化系统、消息转发系统、AI 内容处理 Bot 的必备基础。
&spm=1001.2101.3001.5002&articleId=154842123&d=1&t=3&u=c9d7adf276744b8686e99e5926434199)
6万+






