Telegram、Telethon

本文介绍如何使用Telethon库实现Telegram自动化登录,通过发送消息保持在线状态,并解决群组成员获取限制问题。讨论了两种获取群成员的方法及其局限,以及如何应对10000成员以上的群组获取挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Telegram

telegron登录:

    async with TelegramClient(account, api_id, api_hash, proxy=proxy) as client:

需要发送一条信息之后才能显示online

await client.send_message("me",str(talkTime))

此时5分钟以后自动下线

防止下线,5分钟以内给自己发个信息

        while 1:
            talkTime=random.randint(200,250)
            await client.send_message("me",str(talkTime))
            print(account,"发送成功")
            await asyncio.sleep(talkTime)

telethon获取群成员:

方式一

from telethon.tl.functions.channels import GetParticipantsRequest
from telethon.tl.types import ChannelParticipantsSearch
from time import sleep

offset = 0
limit = 100
all_participants = []

while True:
    participants = client(GetParticipantsRequest(
        channel, ChannelParticipantsSearch(''), offset, limit,
        hash=0
    ))
    if not participants.users:
        break
    all_participants.extend(participants.users)
    offset += len(participants.users)

但是我测试了发现limit最多一次取202个,而且最终获取到的offset是10000,更多就获取不到了。

方式二

members=await client.get_participants(channel,aggressive=False)

官方文档上说如果需要获取超过10000的人,应该使用方式二,而且aggressive=True,我测试的账号群内成员8w,aggressive=True依然会报错。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值