Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Telegram API throwing PeerFloodError: Too many requests

I am not using bot API. I am using Telegram API to send messages. Messages are being sent easily but the problem occurs after 19 users. On the 20th user, I receive PeerFloodError. Even after, searching a lot, I didn't find any specific limits and using sleep is not working either. Please suggest a way to overcome this problem.

Code

def send_message(root2, client):
    totalcount = 0
    for user in users:
        if totalcount >= len(users):
            root2.destroy()
            break

        if totalcount % 15 == 0 and totalcount != 0:
            print("Waiting for one minute...")
            time.sleep(60)

        if user not in users2 or user not in users3:
            totalcount += 1
            entity = client.get_entity(user)

            client.send_message(entity, message_str)
            time.sleep(8)
like image 777
Jaskaran Singh Avatar asked Oct 07 '18 18:10

Jaskaran Singh


1 Answers

most of the Telegram APIs have strict limits for each of 30-seconds, 30-minutes, 24-hours periods. spread 19(or less API calls in 30 minutes and catch whether it throws an error or not, if it's doing fine after 30minutes: Great! otherwise, do this process for 24 hours.)

note that for a bulk usage of Telegram APIs, you may need to use several accounts in your project.

like image 153
tashakori Avatar answered Nov 03 '22 16:11

tashakori