> For the complete documentation index, see [llms.txt](https://help.bots.business/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.bots.business/troubleshooting/bot-not-responding.md).

# My bot does not reply

Diagnose a Telegram bot that does not reply: check token, launch state, commands, pending input, groups, errors, and iterations.

Start with a plain `/start` Answer in a private Telegram chat. This separates the connection and command setup from more complex BJS behavior.

{% stepper %}
{% step %}

### Confirm the bot and its status <a href="#id-1-confirm-the-bot-and-its-status" id="id-1-confirm-the-bot-and-its-status"></a>

Open **Dashboard** in Bots.Business. Check the name, configured token, and status. Tap **Launch bot** if it is stopped, then wait for the result. Use **Open** to reach the corresponding Telegram bot.

If the token was regenerated in BotFather, update it through **Edit bot**. Check whether another service is using the same Telegram bot connection.
{% endstep %}

{% step %}

### Check the saved command <a href="#id-2-check-the-saved-command" id="id-2-check-the-saved-command"></a>

Open **Commands** and inspect `/start`. Clear search and folder filters if necessary. For this test, set an ordinary text Answer, leave code empty, turn off **Wait for answer**, and remove any group restriction. Save, then send `/start` again.

Main command names match exactly. A command named `/START` is not a dependable substitute for `/start`; use consistent lowercase names. For buttons, check the [label and alias](/build-bot-behavior/reply-keyboard.md).
{% endstep %}

{% step %}

### Check whether the bot is waiting <a href="#id-3-check-whether-the-bot-is-waiting" id="id-3-check-whether-the-bot-is-waiting"></a>

If you turned on **Wait for answer**, the first command sends its prompt and the BJS runs after a reply. That delay can be intentional. A known command or alias cancels the pending wait and starts the matching command instead.

See [collecting input](/build-bot-behavior/collect-input.md) to test the complete conversation, including cancellation.
{% endstep %}

{% step %}

### Read the actual error <a href="#id-4-read-the-actual-error" id="id-4-read-the-actual-error"></a>

Open **Errors** and reproduce the problem once. Inspect the newest relevant entry. **Go to command** can take you to its code and reported line.

Formatting errors, unknown methods, missing callback commands, and absent user context require different fixes. Follow [Errors and debugging](/troubleshooting/errors.md) rather than repeatedly relaunching the bot.
{% endstep %}

{% step %}

### Check access and resources <a href="#id-5-check-access-and-resources" id="id-5-check-access-and-resources"></a>

* In **Chats**, check whether this chat is blocked.
* A command's **Allowed only for group** restriction requires membership in a Bots.Business user group.
* Open **Iterations** and check the current allowance and Extra Points.
* If a private chat works but a Telegram group does not, check the bot's group permissions and Telegram [privacy mode](https://core.telegram.org/bots/features#privacy-mode).
* If a simple answer works but a long command times out, investigate [performance](/troubleshooting/performance.md).
  {% endstep %}
  {% endstepper %}

## Still stuck?

Record the bot ID, command name, approximate time, exact error, and whether the failure happens in private chats, groups, or background work. Include a small example that reproduces it. Use **Settings → Support chat** and omit tokens, passwords, API keys, and private conversation contents.
