Telegram bot becomes unresponsive with 20+ simultaneous users

I created a Telegram bot that collects basic user data through a form-like interface. Everything works perfectly when 2-5 people use it at the same time. However, once around 20 users start interacting with the bot simultaneously, it completely stops responding to messages and won’t send any replies back.

The strange thing is that no errors show up in the application logs. The bot just goes silent without any indication of what went wrong.

I’m wondering if Telegram has some kind of rate limiting for bots regarding how many messages they can handle per second. Could this be a limitation on Telegram’s side, or should I focus on debugging my own code by testing with one user first and then slowly adding more users to see where the problem starts?

Any suggestions on how to troubleshoot this would be really helpful.

check your server resources first - cpu and memory spikes kill bot responsiveness without throwing errors. had the same issue where my vps ran out of ram around 15-20 concurrent users and the bot just froze. no crashes, no logs, just silence. upgraded hosting and it disappeared.

You’re hitting webhook timeouts, not rate limits. Telegram cuts off your bot after 60 seconds - if you can’t respond fast enough, it stops sending updates entirely. Had the same problem with a survey bot that worked great in testing but died under real load. My issue was database connections weren’t pooled properly. When multiple users hit submit at once, each request hogged a connection too long and eventually blocked everything. Fix it by pooling your database connections and moving heavy work to background tasks. Your webhook should respond instantly just to say ‘got it’ - do the actual processing separately. Your bot isn’t broken, it’s just not getting new messages because Telegram gave up on your slow responses.

This sounds like a bottleneck, not Telegram’s rate limiting. I hit the same issue when my bot took off. My code was processing messages one at a time instead of handling them concurrently. When multiple users hit the bot simultaneously, each request waited for the previous one to finish - creating a queue that eventually timed out. Telegram’s rate limits are pretty generous for normal bot use. The real problem is usually inefficient message handling or database operations blocking the main thread. Check if your form processing has any synchronous database writes or API calls causing delays. I switched to async processing and added proper error handling - completely fixed the unresponsiveness. Also consider a simple queue system if your bot does heavy operations.