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

如何使用Telethon创建防复制频道?及私有群组邀请链接问题

解决方案

一、实现防复制内容的频道/群组

Telegram原生支持「禁止保存内容」的功能,Telethon可通过调用底层API方法实现,完全满足你创建「可发布但内容不可复制」频道的需求,具体操作如下:

  • 核心是调用ChangeChatDefaultBannedRightsRequest方法,设置no_save_messages为True,限制用户复制、转发、保存频道/群组内的内容。
  • 代码示例:
from telethon import TelegramClient, functions
from telethon.tl.types import ChatBannedRights

async def enable_no_save_content(client, chat_id):
    # 构造禁止保存内容的权限配置
    banned_rights = ChatBannedRights(
        no_save_messages=True,
        until_date=None  # 永久生效,需临时限制可设置具体时间戳
    )
    # 发送请求设置权限
    await client(functions.messages.ChangeChatDefaultBannedRightsRequest(
        peer=chat_id,
        banned_rights=banned_rights
    ))
  • 该设置对公开/私有频道、私有群组均生效,启用后系统会限制内容的复制、保存操作。

二、私有群组获取邀请链接

私有群组的邀请链接可通过ExportChatInviteRequest方法生成,前提是你的账号拥有该群组的管理员权限(需包含「邀请用户」权限),代码示例:

from telethon import functions

async def get_private_group_invite(client, group_id):
    # 生成永久有效的无需审核的邀请链接
    invite_result = await client(functions.messages.ExportChatInviteRequest(
        peer=group_id,
        legacy_revoke_permanent=True,
        request_needed=False
    ))
    # 返回生成的链接
    return invite_result.link
  • 可通过调整参数生成不同类型的链接:
    • legacy_revoke_permanent=False:生成可多次使用的链接,管理员可随时撤销
    • request_needed=True:用户需通过链接申请加入,等待管理员审核

补充说明

Telethon的高层封装文档可能未直接提及这些功能,但通过调用functions模块下的底层API方法,完全可以实现你需要的所有操作,这些方法是对Telegram官方API的直接映射。

内容的提问来源于stack exchange,提问作者Ростислав Костин

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 06:01:05