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.
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)
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With