LonamiWebs / Telethon

Pure Python 3 MTProto API Telegram client library, for bots too!
https://docs.telethon.dev
MIT License
10.01k stars 1.41k forks source link

FloodWaitError on GetParticipants out of nowhere #3708

Closed striller17 closed 2 years ago

striller17 commented 2 years ago

from telethon import TelegramClient

all_participants = client.get_participants(target_group, aggressive=True) Basically this line causes the whole problem. I was running this code as usual , its a simple members scrap code from groups, and out of nowhere starter recieving this problem I tried changing User, API id and API hash , turning on VPN, reinstalling PIP and Telethon and Python, Nothing seems to work.

Traceback (most recent call last): File "c:\Users\tmaxi\Desktop\Adding\NewAdder\scraptpt.py", line 54, in all_participants = client.get_participants(target_group, aggressive=True) File "C:\Users\tmaxi\AppData\Local\Programs\Python\Python39\lib\site-packages\telethon\sync.py", line 39, in syncified return loop.run_until_complete(coro) File "C:\Users\tmaxi\AppData\Local\Programs\Python\Python39\lib\asyncio\base_events.py", line 642, in run_until_complete return future.result() File "C:\Users\tmaxi\AppData\Local\Programs\Python\Python39\lib\site-packages\telethon\client\chats.py", line 507, in get_participants return await self.iter_participants(*args, **kwargs).collect() File "C:\Users\tmaxi\AppData\Local\Programs\Python\Python39\lib\site-packages\telethon\requestiter.py", line 113, in collect async for message in self: File "C:\Users\tmaxi\AppData\Local\Programs\Python\Python39\lib\site-packages\telethon\requestiter.py", line 74, in anext if await self._load_next_chunk(): File "C:\Users\tmaxi\AppData\Local\Programs\Python\Python39\lib\site-packages\telethon\client\chats.py", line 222, in _load_next_chunk results = await self.client(self.requests) File "C:\Users\tmaxi\AppData\Local\Programs\Python\Python39\lib\site-packages\telethon\client\users.py", line 30, in call return await self._call(self._sender, request, ordered=ordered) File "C:\Users\tmaxi\AppData\Local\Programs\Python\Python39\lib\site-packages\telethon\client\users.py", line 80, in _call raise MultiError(exceptions, results, requests) telethon.errors.common.MultiError: ([FloodWaitError('A wait of 28 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 28 seconds is required (caused by GetParticipantsRequest)'), None, None, FloodWaitError('A wait of 28 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 28 seconds is required (caused by GetParticipantsRequest)'), None, FloodWaitError('A wait of 28 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 28 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 28 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 28 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 28 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 28 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 28 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 28 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 28 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 28 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 28 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 28 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 28 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 28 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 28 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 28 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 28 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 28 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 28 seconds is required (caused by GetParticipantsRequest)')], [None, None, <telethon.tl.types.channels.ChannelParticipants object at 0x0000029944F63400>, <telethon.tl.types.channels.ChannelParticipants object at 0x0000029944F457C0>, None, None, <telethon.tl.types.channels.ChannelParticipants object at 0x0000029944F56430>, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None], [<telethon.tl.functions.channels.GetParticipantsRequest object at 0x0000029944089310>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x0000029944089B50>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x0000029944089C10>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x0000029944089CD0>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x0000029944089D90>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x0000029944089E50>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x0000029944089F10>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x0000029944089FD0>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x00000299440920D0>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x0000029944092190>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x0000029944092250>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x0000029944092310>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x00000299440923D0>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x0000029944092490>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x0000029944092550>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x0000029944092610>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x00000299440926D0>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x0000029944092790>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x0000029944092850>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x0000029944092910>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x00000299440929D0>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x0000029944092A90>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x0000029944092B50>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x0000029944092C10>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x0000029944092CD0>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x0000029944092D90>])

striller17 commented 2 years ago

Aswell i have started recieving this error

Traceback (most recent call last): File "c:\Users\tmaxi\Desktop\Adding\NewAdder\scraptpt.py", line 36, in if chat.megagroup== True: AttributeError: 'ChatForbidden' object has no attribute 'megagroup'

The code i use is exactly the same and work till yesterday. i am using latest telethon , python and pip versions

mixtorena commented 2 years ago

Everyone is having the same problem, it will be fixed as soon as possible.

lainospeec commented 2 years ago

So it's a problem in the telegram api?

lainospeec commented 2 years ago

I thought it was a limitation that telegram put.

striller17 commented 2 years ago

I dont think telegram would put such a limitation since shit ton of bots are interacting with group members and so on, its a necessary function, i've tried using another PC aswell, same issue

AllowCode commented 2 years ago

Hi everyone I noticed that the method works on a group of 900 people, but does not work on a group of 7000 members. Is there a way/method to get a certain chunk of members to wait and request the next one?

striller17 commented 2 years ago

Same, aswell i have noticed that it works completely fine on my own groups, and getting a full list. While on other groups it doesnt work.

AllowCode commented 2 years ago

The difference in the number of requests a method has to make depending on the number of group members

striller17 commented 2 years ago

Not really, my group has over 1k users and i can scrap it, while groups with around 500-1000 users i can't scrap due to that error.

AllowCode commented 2 years ago

@striller17 Can you send me example of grop with 500-1000 members and that you can't scrap?

striller17 commented 2 years ago

t.me/group387

this one has 1776 users, i can't scrap it mine has 2k+ and i can scrap it try it on your own, aswell try to scrap my group t.me/NGenEN

Thoufak commented 2 years ago

Don't use aggressive=True.

striller17 commented 2 years ago

if you dont use Aggressive=True you get another error, ChannelParticipants object is not subscriptible

New-dev0 commented 2 years ago

Telethon is free software. That means using it is a right: you are free to use it for absolutely any purpose whatsoever. However, help and support with using it is a privilege. If you misbehave or want to do bad things, despite possibly having good intentions, nobody is obligated to help you.

AllowCode commented 2 years ago

@New-dev0 So inspiring words, but not useful, exist projects that use members collecting for legal reasons. If you know method, that can get custom members chunk, you'll help us

@striller17 I successfully got members from "@group387" and "NGenEN". I think we need to do custom delays between the get members chunk requests, but i don't know telethon's method to get members chunk with custom offset

striller17 commented 2 years ago

how can you put delays in a single function? I'd like to see your code to understand. you can DM me on telegram @NGenOwn

AllowCode commented 2 years ago

I searching method, which can get chunk of members, i dont know how to do that now. If you can't get members from group, but i can - difference in our account's and their limitations

striller17 commented 2 years ago

Try to scrap large group, do you get the same error? Because i've tried VPN, Different accounts, and another PC

AllowCode commented 2 years ago

I cant scrap crypto_chatik for example

lainospeec commented 2 years ago

I have reports of people who have already managed to fix it, it's about some new permission in the extraction, but I still haven't found it, groups of own authorship it does normal extraction.

striller17 commented 2 years ago

Please update us when you solve it, aswell you could ask those people for a solution

lainospeec commented 2 years ago

I asked he charged me 100 dollars

striller17 commented 2 years ago

I think he is lying.. anyway don't pay for that, there will be a free solution asap i hope.

striller17 commented 2 years ago

The code below sort of fixes the issue, not sure how, i just seen it somewhere but i am able to scrap a small portion of users from groups, perhaps it scraps the whole group, im not sure. but works for now, still waiting for a full solution.

ak48exe commented 2 years ago

flootwait error when will it be fixed ?

phuongnullcare123 commented 2 years ago

telethon.errors.common.MultiError: ([None, FloodWaitError('A wait of 29 seconds is required (caused by GetParticipantsRequest)'), None, FloodWaitError('A wait o f 29 seconds is required (caused by GetParticipantsRequest)'), None, None, Flood WaitError('A wait of 29 seconds is required (caused by GetParticipantsRequest)') , FloodWaitError('A wait of 29 seconds is required (caused by GetParticipantsReq uest)'), FloodWaitError('A wait of 29 seconds is required (caused by GetParticip antsRequest)'), FloodWaitError('A wait of 29 seconds is required (caused by GetP articipantsRequest)'), FloodWaitError('A wait of 29 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 29 seconds is required ( caused by GetParticipantsRequest)'), FloodWaitError('A wait of 29 seconds is req uired (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 29 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 29 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 29 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError( 'A wait of 29 seconds is required (caused by GetParticipantsRequest)'), FloodWai tError('A wait of 29 seconds is required (caused by GetParticipantsRequest)'), F loodWaitError('A wait of 29 seconds is required (caused by GetParticipantsReques t)'), FloodWaitError('A wait of 29 seconds is required (caused by GetParticipant sRequest)'), FloodWaitError('A wait of 29 seconds is required (caused by GetPart icipantsRequest)'), FloodWaitError('A wait of 29 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 29 seconds is required (cau sed by GetParticipantsRequest)'), FloodWaitError('A wait of 29 seconds is requir ed (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 29 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 29 sec onds is required (caused by GetParticipantsRequest)')], [<telethon.tl.types.chan nels.ChannelParticipants object at 0x00000023C5F43280>, None, <telethon.tl.types .channels.ChannelParticipants object at 0x00000023C5F382B0>, None, <telethon.tl. types.channels.ChannelParticipants object at 0x00000023C5F3A190>, <telethon.tl.t ypes.channels.ChannelParticipants object at 0x00000023C5F387F0>, None, None, Non e, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None], [<telethon.tl.functions.channels.GetParticipantsReques t object at 0x00000023C4F615B0>, <telethon.tl.functions.channels.GetParticipants Request object at 0x00000023C4F687F0>, <telethon.tl.functions.channels.GetPartic ipantsRequest object at 0x00000023C4F68A90>, <telethon.tl.functions.channels.Get ParticipantsRequest object at 0x00000023C4F68B50>, <telethon.tl.functions.channe ls.GetParticipantsRequest object at 0x00000023C4F68C10>, <telethon.tl.functions. channels.GetParticipantsRequest object at 0x00000023C4F68CD0>, <telethon.tl.func tions.channels.GetParticipantsRequest object at 0x00000023C4F68D90>, <telethon.t l.functions.channels.GetParticipantsRequest object at 0x00000023C4F68E50>, <tele thon.tl.functions.channels.GetParticipantsRequest object at 0x00000023C4F68F10>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x00000023C4F6 8FD0>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x000000 23C4F6A0D0>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x 00000023C4F6A190>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x00000023C4F6A250>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x00000023C4F6A310>, <telethon.tl.functions.channels.GetParticipantsRe quest object at 0x00000023C4F6A3D0>, <telethon.tl.functions.channels.GetParticip antsRequest object at 0x00000023C4F6A490>, <telethon.tl.functions.channels.GetPa rticipantsRequest object at 0x00000023C4F6A550>, <telethon.tl.functions.channels .GetParticipantsRequest object at 0x00000023C4F6A610>, <telethon.tl.functions.ch annels.GetParticipantsRequest object at 0x00000023C4F6A6D0>, <telethon.tl.functi ons.channels.GetParticipantsRequest object at 0x00000023C4F6A790>, <telethon.tl. functions.channels.GetParticipantsRequest object at 0x00000023C4F6A850>, <teleth on.tl.functions.channels.GetParticipantsRequest object at 0x00000023C4F6A910>, < telethon.tl.functions.channels.GetParticipantsRequest object at 0x00000023C4F6A9 D0>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x00000023 C4F6AA90>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x00 000023C4F6AB50>, <telethon.tl.functions.channels.GetParticipantsRequest object a

Lonami commented 2 years ago

Flood waits come from Telegram's API. Telethon cannot fix them.

ak48exe commented 2 years ago

the error still persists how can i fix it

A7moo7y commented 2 years ago

I'm having the same problem please let me know if you get a solution

striller17 commented 2 years ago

I have solved the issue. DM me on telegram @NGenOwn for details.

AnvarKhan commented 2 years ago

is there any news?

cortex06 commented 2 years ago

I spoke with @striller17 he is asking $100, I hope someone else can solve it

ak48exe commented 2 years ago

nothing but a scammer

striller17 commented 2 years ago

It is your personal opinion...

striller17 commented 2 years ago

You didnt pay me, therefore didnt get the fix.

ak48exe commented 2 years ago

Is it wrong with everyone right now or is it a personal problem?

ak48exe commented 2 years ago

get out of here dog

AllowCode commented 2 years ago

@ak48exe Withou aggression, bro

yoyokodon commented 2 years ago

how to fix?

PmsHere commented 2 years ago

Any solution for this error?

yadanigu commented 2 years ago

[!] Couldn't scrape members [!] ([None, None, None, FloodWaitError('A wait of 29 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 29 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 29 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 29 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 29 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 29 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 29 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 29 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 29 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 29 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 29 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 29 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 29 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 29 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 29 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 29 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 29 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 29 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 28 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 28 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 28 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 28 seconds is required (caused by GetParticipantsRequest)'), FloodWaitError('A wait of 28 seconds is required (caused by GetParticipantsRequest)')], [<telethon.tl.types.channels.ChannelParticipants object at 0x000001D4300457B0>, <telethon.tl.types.channels.ChannelParticipants object at 0x000001D4300455D0>, <telethon.tl.types.channels.ChannelParticipants object at 0x000001D430045720>, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None], [<telethon.tl.functions.channels.GetParticipantsRequest object at 0x000001D42F6B5810>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x000001D42F6B59F0>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x000001D42F6EE290>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x000001D42F6ED360>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x000001D42F6ECB50>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x000001D42F6ED1E0>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x000001D42F6EE5F0>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x000001D42F6EE440>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x000001D42F6EE3E0>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x000001D42F6EDF60>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x000001D42F6EDC60>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x000001D42F6EE0E0>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x000001D42F6EDA50>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x000001D42F6EDC90>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x000001D42F6EDC00>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x000001D42F6ED030>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x000001D42F6ED390>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x000001D42F6ED2A0>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x000001D42F6ED210>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x000001D42F6ECCA0>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x000001D42F6ED570>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x000001D42F6ED150>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x000001D42F6EEE00>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x000001D42F6EF820>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x000001D42F6EF8E0>, <telethon.tl.functions.channels.GetParticipantsRequest object at 0x000001D42F6EF9A0>])

yadanigu commented 2 years ago

please help for this problem

Lonami commented 2 years ago

Please refer to https://github.com/LonamiWebs/Telethon/issues/3708#issuecomment-1033042654.

Flood errors come from Telegram. Telethon cannot fix them. I am going to lock the issue now because nothing productive comes out of it.

Lonami commented 2 years ago

Also, I cannot reproduce the issue in the development version, so anyone asking for money for the fix is likely a scam.