Home · Help · Telegram bot not responding: checklist

Telegram bot not responding: checklist

Start with three one-minute checks: the plan limit, the channel status and an enabled flow. Below is what to check if all three pass. A detailed breakdown of each cause with symptoms is in the blog article “Why a Telegram bot doesn’t respond”.

3 checks in a minute

  1. Free plan limit. The sign: the bot replies to new people with a single line, “We can't reply in this chat right now,” but keeps talking to those who already wrote this month. The Free plan includes 30 conversations (distinct contacts) per month per bot across all channels combined. Your plan is shown in the “Overview” subtitle, and the number of conversations used so far is on the same page, in the “Plan” card. Messages from new contacts over the limit don’t appear in “Conversations”. The Basic plan (650 ₽/month) removes the limit; you can switch to it in the “Payment” section. If there’s no limit message, move on to the next step.
  2. Channel status and token. “Channels” → the Telegram channel row. CHBT doesn’t check channels periodically; the status changes on events. “Working” is set when Telegram accepts the webhook on connection or after “Reinstall webhook”, when the bot receives an incoming message, and when a message is successfully sent on behalf of the bot. “Error” is set when connecting or reinstalling fails, or when Telegram rejects the token while a message is being sent on behalf of the bot. So “Working” reflects the last such event, not a live check: if another service has taken over the webhook, the status doesn’t change. “Error” with the text “bot token rejected (401 Unauthorized)” means the token was revoked or replaced in @BotFather; the bot owner and admins get an email about it unless that email is turned off in “Notifications”. Connect Telegram again with the current token. You can delete the old channel row: its message history stays readable in “Conversations”, and its contacts stay in “Contacts”. If the token is correct but “Conversations” is empty, click “Reinstall webhook”.
  3. The flow is enabled and has an entry point. “Flows” → the card of the flow you need shows the “Enabled” badge, not “Draft”. You enable a flow with the toggle on its card or in the flow list on the “Overview” page. In the editor, the flow has the “Command (/start)” trigger; for text without a command, use “Any message” or “Keywords”. New empty flows and copies are created as drafts.

A detailed breakdown of causes with symptoms and fixes is on the blog: why a Telegram bot doesn’t respond.

If all three checks pass

  • Messages don't reach “Conversations”. Message the bot from a different account. If “Conversations” stays empty while the status is “Working”, the webhook has been taken over: the bot was once run by your own code or in another service, and that code called setWebhook again. Stop the old code or remove the token from that service, then click “Reinstall webhook”.
  • A keyword intercepted the input. The “Keywords” trigger is checked against every incoming message, even inside a flow. The word “price” in “Contains a word” mode will restart the flow in the middle of collecting a phone number. Switch short words to “Exact match” mode or remove common word stems from them.
  • The conversation is with an operator or paused. The bot is silent for just one person — for example, for you after your own test. Go to “Conversations” → find the chat: if the status is “Operator”, click “Return to bot”; if it's at a “Pause” block, wait until the time is up or check the delay setting.
  • Group. In a group, the bot sees only commands and replies to its own messages as long as Group Privacy is enabled for it in @BotFather (the default) and it isn't a group admin. Private chats still work.
  • The user blocked the bot. Telegram responds with “Forbidden: bot was blocked by the user”, and the bot's reply in “Conversations” is marked “not delivered”. Neither the bot nor CHBT can do anything until the person unblocks the bot and messages it themselves.

A quick way to tell a flow problem from a connection problem is “Check flow” in the editor: the test chat works without Telegram. If everything replies there but the messenger stays silent, the problem is in the channel, not in the blocks. How the channel was connected is in the connection guide; where to get a fresh token is in the article on the BotFather token. For an overview of the channel, see the Telegram bot page. If the bot can't message first and a broadcast fails with PEER_ID_INVALID, that's a separate cause, not a malfunction. Don't have a bot yet? Create one for free and connect Telegram in five minutes.

Create a bot for free