You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何无需BotFather自动创建Telegram Bot并获取Token(Python实现)

关于Telegram Bot自动化创建与绕过BotFather的问题

一、自动化创建并销毁一次性Bot的可行方案

虽然Telegram要求所有Bot必须通过BotFather创建,但你可以通过模拟与BotFather的交互实现自动化流程,用Python结合Telegram客户端库就能完成。核心思路如下:

  • 使用pyrogram或telethon这类支持用户账号登录的库(BotFather仅与用户账号交互,无法用Bot账号操作),登录你的Telegram账号
  • 向@BotFather发送标准化命令完成创建:
    1. 发送/newbot启动创建流程
    2. 回复随机生成的Bot名称(可借助uuid生成无重复字符串)
    3. 回复唯一的Bot用户名(必须以bot结尾)
    4. 从BotFather的返回消息中提取Bot Token
  • 使用完毕后,向@BotFather发送/deletebot并确认,完成Bot销毁

示例代码片段(基于pyrogram):

import pyrogram
import uuid
import asyncio

async def create_temp_bot():
    # 替换为你的API ID和API Hash(从my.telegram.org获取)
    api_id = 123456
    api_hash = "your_api_hash_here"
    client = pyrogram.Client("temp_session", api_id, api_hash)
    
    await client.start()
    # 生成随机Bot名称和用户名
    bot_name = f"TempBot_{uuid.uuid4().hex[:8]}"
    bot_username = f"{bot_name.lower().replace('_', '')}_bot"
    
    # 发送/newbot命令
    await client.send_message("BotFather", "/newbot")
    # 回复Bot名称
    async for msg in client.get_chat_history("BotFather", limit=1):
        if "Choose a name for your bot" in msg.text:
            await client.send_message("BotFather", bot_name)
    # 回复Bot用户名
    async for msg in client.get_chat_history("BotFather", limit=1):
        if "Choose a username for your bot" in msg.text:
            await client.send_message("BotFather", bot_username)
    # 提取Token
    async for msg in client.get_chat_history("BotFather", limit=1):
        if "Use this token to access the HTTP API" in msg.text:
            token = msg.text.split("`")[1]
            print(f"生成的Bot Token: {token}")
    
    # 销毁Bot
    await client.send_message("BotFather", "/deletebot")
    async for msg in client.get_chat_history("BotFather", limit=1):
        if "Please select the bot you want to delete" in msg.text:
            await client.send_message("BotFather", bot_username)
    async for msg in client.get_chat_history("BotFather", limit=1):
        if "Are you sure you want to delete" in msg.text:
            await client.send_message("BotFather", "Yes")
    
    await client.stop()

asyncio.run(create_temp_bot())

注意:运行前需在my.telegram.org注册获取API ID和Hash,且你的账号需无BotFather交互限制。

二、无需BotFather创建Bot的可能性

没有官方支持的方法可以绕过BotFather创建Bot。Telegram的Bot系统完全由BotFather管控,所有Bot的Token生成、权限配置、销毁操作都必须通过这个官方Bot完成。

任何声称能绕过BotFather的第三方工具或方法,要么存在诈骗风险(窃取账号信息或Token),要么违反Telegram服务条款,可能导致主账号被永久封禁,绝对不建议尝试。

内容的提问来源于stack exchange,提问作者amedix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 11:20:34