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

Python通过Telethon调用hideAllChatJoinRequests审批频道入群申请

Telethon调用未封装原生API实现批量审批入群申请实现方案

当你在Telethon官方文档中找不到对应原生API的高层封装方法时,可以直接通过Telethon的TL层自动生成的请求类调用任意Telegram原生接口,不需要等待官方封装高层便捷方法。

前置条件

  • 你使用的Python3环境已经安装了稳定版Telethon库
  • 你的账号对目标频道/群组拥有管理员权限,且具备审批入群申请的对应权限
  • 你已经拿到了自己账号的api_id和api_hash

实现代码

首先导入对应原生接口的请求类,所有原生接口对应的请求类都已经按照API分类放在telethon.tl.functions路径下:

from telethon import TelegramClient
from telethon.tl.functions.messages import HideAllChatJoinRequestsRequest

# 初始化客户端,替换成你自己的配置参数
client = TelegramClient(
    session='your_local_session_name',
    api_id=YOUR_OWN_API_ID,
    api_hash='YOUR_OWN_API_HASH'
)

async def batch_process_join_request(target_chat, approve: bool = True, invite_link: str = None):
    """
    批量处理目标群组/频道的待入群申请
    :param target_chat: 目标群组/频道,支持传数字ID、公开@用户名、已获取的Chat/Channel对象
    :param approve: True为全部通过申请,False为全部驳回申请
    :param invite_link: 可选,传入指定邀请链接则仅处理通过该链接提交的申请,留空处理全部待审申请
    """
    resp = await client(HideAllChatJoinRequestsRequest(
        peer=target_chat,
        approved=approve,
        link=invite_link
    ))
    return resp

# 调用示例
if __name__ == '__main__':
    with client:
        # 替换成你要操作的频道/群组标识
        process_result = client.loop.run_until_complete(
            batch_process_join_request(target_chat="@your_channel_username", approve=True)
        )
        print("批量处理执行结果:", process_result)

参数说明

  • peer:对应原生接口的peer参数,传入你要操作的频道/群组的唯一标识即可
  • approved:对应原生接口的approved参数,控制批量操作是通过还是驳回
  • link:对应原生接口的link参数,用于筛选特定邀请链接来源的入群申请,不需要筛选可以传None

补充说明

Telethon的高层便捷方法(比如你之前用的get_dialogs)只是对高频场景做的二次封装,所有Telegram官方开放的原生MTProto接口,都已经通过TL schema自动生成了对应的请求类,调用方式和上面的示例完全一致,不需要单独找对应的高层封装方法。
如果需要先拉取待审批的申请列表再做精细化处理,也可以用同样的方式导入telethon.tl.functions.messages.GetChatJoinRequestsRequest调用对应接口。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 03:12:19