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

如何使用Pyrogram库转移Telegram频道所有权?

使用Pyrogram转移Telegram频道所有权

promote_chat_member确实无法完成频道所有权转移——这个方法仅用于分配管理员权限,不涉及所有权变更。要转移频道所有权,必须使用Pyrogram提供的底层API方法pyrogram.raw.functions.channels.EditCreator,以下是具体使用步骤和代码示例:

核心步骤

  1. 确认你是频道的现任所有者,且目标用户已加入该频道。
  2. 通过resolve_peer方法获取频道和目标用户的底层对象(InputChannel和InputUser),无需手动构造。
  3. 调用EditCreator方法,若账号开启两步验证,需额外处理密码验证。

基础使用代码(无两步验证)

from pyrogram import Client
from pyrogram.raw.functions.channels import EditCreator

app = Client("your_session_name")

async def transfer_channel_owner(channel_identifier, target_user_identifier):
    async with app:
        # 将频道ID/用户名转换为InputChannel对象
        channel = await app.resolve_peer(channel_identifier)
        # 将目标用户ID/用户名转换为InputUser对象
        target_user = await app.resolve_peer(target_user_identifier)
        
        # 执行所有权转移
        await app.invoke(
            EditCreator(
                channel=channel,
                user_id=target_user
            )
        )
        print("频道所有权已成功转移")

# 替换为你的频道ID/用户名,以及目标用户的ID/用户名
app.run(transfer_channel_owner("your_channel_username", "target_user_id"))

处理两步验证的情况

如果你的账号开启了两步验证,需要先获取SRP验证参数并构造密码对象,示例代码如下:

from pyrogram import Client
from pyrogram.raw.functions.channels import EditCreator
from pyrogram.raw.functions.account import GetPassword

app = Client("your_session_name")

async def transfer_with_2fa(channel_identifier, target_user_identifier, your_2fa_password):
    async with app:
        channel = await app.resolve_peer(channel_identifier)
        target_user = await app.resolve_peer(target_user_identifier)
        
        # 获取两步验证的SRP参数
        password_info = await app.invoke(GetPassword())
        # 计算验证所需的SRP值
        srp_data = password_info.compute_check(your_2fa_password)
        
        # 执行转移(传入密码验证对象)
        await app.invoke(
            EditCreator(
                channel=channel,
                user_id=target_user,
                password=srp_data
            )
        )
        print("频道所有权已成功转移(已处理两步验证)")

# 替换为对应参数
app.run(transfer_with_2fa("your_channel_username", "target_user_id", "your_2fa_pass"))

注意事项

  • resolve_peer支持接收频道/用户的ID、用户名(带@)等多种格式,无需手动构造底层对象。
  • 所有权转移是不可逆操作,执行前请务必确认目标用户身份。
  • 若操作失败,检查是否满足:你是现任所有者、目标用户已加入频道、两步验证密码正确(若开启)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 20:25:20