如何在 Telegram 中创建 Bot 并设置为频道管理员定时发布内容
基于 Telegram 官方 Bot API(截至 2026 年 1 月)。 整个过程分为三个部分:创建 Bot、设置为频道管理员、实现定时发布。
第一步:创建 Bot(通过 BotFather)
- 打开 Telegram,搜索
@BotFather(官方 Bot 管理器,蓝色认证勾)。 - 点击“Start”开始对话。
- 发送命令
/newbot。 - BotFather 会让你输入 Bot 的名字(显示名称,如 “MyChannelBot”)。
- 再输入用户名(必须以
bot结尾,如@MyChannelBot)。 - 成功后,BotFather 会给你一个 API Token(格式类似
123456789:AAF...)。一定要保存好这个 Token,它是你控制 Bot 的唯一钥匙,泄露会被盗用。 - (可选)发送
/mybots查看和管理你创建的所有 Bot。
现在你已经有了一个 Bot。
第二步:将 Bot 添加到频道并设置为管理员
-
创建或使用现有频道:
- 如果还没有频道:在 Telegram 点击“新建频道”,设置名称、描述,选择公开或私有。
- 公开频道有用户名(如
@MyChannel),私有频道只有邀请链接。
-
添加 Bot 到频道:
- 打开频道 → 点击频道名称(顶部) → “管理频道” → “管理员” → “添加管理员”。
- 搜索你的 Bot 用户名(如
@MyChannelBot)并添加。
-
授予必要权限:
- 在添加管理员时,开启以下权限(最重要的是发消息权限):
- 发布消息(Post Messages):必须开启。
- 编辑消息(Edit Messages):可选(如果需要编辑)。
- 删除消息(Delete Messages):可选。
- 其他权限如管理成员、邀请链接等根据需要开启。
- 关闭“匿名管理员”开关(因为 Bot 发消息时通常显示为 Bot 名称)。
- 保存。
- 在添加管理员时,开启以下权限(最重要的是发消息权限):
现在 Bot 已经可以向频道发送消息了。你可以用另一个账号测试:让 Bot 发送一条消息到频道(后面会教怎么发)。
第三步:实现定时发布内容
Telegram Bot 本身没有内置定时功能,需要通过编程或第三方工具实现自动定时发送。以下提供两种方案:
方案一:编程方式(推荐,免费灵活,适合有基础的用户)
使用 Python + python-telegram-bot 库(最流行、最稳定的库)。你可以在电脑、本地服务器、VPS 或免费云平台(如 Render、Railway、Replit)部署。
1. 安装环境
- 安装 Python 3。
- 安装库:
pip install python-telegram-bot schedule
2. 示例代码(简单定时每天发布一条消息)
import schedule
import time
from telegram import Bot
import asyncio
# 替换为你的信息
TOKEN = '你的API_TOKEN' # 从 BotFather 获取
CHANNEL_ID = '@MyChannel' # 公开频道用 @用户名;私有频道用 -100 + 频道ID(见下文怎么获取)
bot = Bot(token=TOKEN)
async def send_message():
await bot.send_message(chat_id=CHANNEL_ID, text="这是定时发布的每日内容!\n今天是好日子~")
def job():
asyncio.run(send_message())
# 定时任务:每天早上 8:00 发布
schedule.every().day.at("08:00").do(job)
# 你可以添加更多定时
# schedule.every().monday.at("09:00").do(job)
# schedule.every().hour.do(job) # 每小时
print("Bot 定时器已启动...")
while True:
schedule.run_pending()
time.sleep(60) # 每分钟检查一次
关键说明:
- 私有频道 ID 获取:用 @getidsbot(搜索添加),转发一条频道消息给它,它会返回频道 ID(格式如 -1001234567890)。
- 发送图片/视频:改用
bot.send_photo(chat_id=CHANNEL_ID, photo='图片路径或URL', caption='说明')。 - 运行方式:
- 本地电脑:直接运行脚本(但关机就停)。
- 云部署:上传到 Replit.com(免费)或 Render.com,设置一直运行。
- 多条内容:可以从文件/数据库读取内容循环发送。
方案二:无代码方式(适合新手,不想写代码)
使用现成的第三方 Bot 或服务:
-
@ControllerBot(最推荐,支持定时发布到频道):
- 搜索
@ControllerBot→ Start。 - 创建新 Bot(它会帮你包装一个子 Bot)。
- 添加到你的频道作为管理员。
- 在 ControllerBot 界面设置定时任务(支持文字、图片、按钮等,每天/每周定时)。
- 搜索
-
@Manybot:
- 搜索
@Manybot→ Start。 - 创建 Bot → 添加到频道。
- 支持命令和简单定时(通过“Posts”功能设置定时广播)。
- 搜索
-
其他工具:
- @LiveGramBot 或 @PostBot:类似功能,支持定时。
- Zapier / Make.com:连接 RSS、Google Sheet 等来源,定时触发 Bot 发送(需要绑定你的 Bot Token)。
- Cron-job.org + 自建脚本:免费定时触发你的 Python 脚本 URL。
注意事项与安全建议
- 隐私:不要公开 Token。
- 限流:Bot 向频道发送消息基本无限制,但不要刷屏。
- 测试:先在私有频道或群组测试。
- 更新:如果 Bot 停止工作,检查 Token 是否有效,或库是否需要升级。
- 如果遇到问题,可以在 Telegram 搜索 “Telegram Bot 教程” 或去官方文档 查看。