Botxona

Errors and fixes (top 15)

The most common problems and how to fix them — open the logs to pin down the exact cause.

My bot does not respond at all. What should I do?

Check the likely causes in this order: (1) the bot may be asleep — a delay of a few seconds on the first message is normal (about sleep mode); (2) the token may have been revoked — check in BotFather; (3) the bot may have crashed — check the bot's status in the dashboard; (4) the bot previously had a webhook set, while Botxona uses long polling — see the next item.

My bot used to have a webhook. What happens now?

If the bot previously called setWebhook somewhere else, Telegram keeps trying to deliver messages to that (now dead) address, and updates never reach Botxona. Fix: call deleteWebhook on first start (a one-off, harmless call):

await bot.delete_webhook(drop_pending_updates=False)

Botxona itself works via long polling — your code should not call setWebhook.

What does "409 Conflict: terminated by other getUpdates request" mean?

It means something is trying to connect to the same token from two places at once (for example, the bot is running both on your computer and on Botxona). Fix: stop the bot elsewhere (your computer, another server) — only one running instance per token.

What does "ModuleNotFoundError: No module named 'X'" mean?

Your code uses library X, but it is missing from requirements.txt (or listed under the wrong name). Fix: add an X==version line to requirements.txt and redeploy (6 rules — rule 3).

Why do I get a "Read-only file system" error?

Your code is trying to write outside DATA_DIR — in the production container those locations are read-only. Fix: point all writes inside DATA_DIR (details).

The bot shuts down because it runs out of memory (OOM)

Every plan has a RAM limit (Limits). If the bot uses more memory than allowed, the container is killed and restarted. Fix: don't keep large lists in memory (write them to the database), process images/files as streams, or move to a plan with more RAM.

The bot works in BotFather but fails on Botxona

You most likely copied the token incorrectly (with a space or only partially) — re-enter it following the instructions on the Getting a token page.

The "Build" step turns red during deploy

A library failed to install or the code has a syntax error. Read the last log lines in the report — they usually state the exact cause (e.g. a library with an incompatible version).

Error at the smoke test step

The bot may have crashed right after starting or received a 401 (invalid token). Check the token and read the error line in the logs.

Your repository is private. Make it public in the GitHub settings or upload the code as a ZIP (details).

"Size exceeded" error when uploading a ZIP

The archive is larger than 20 MB or its unpacked size exceeds 100 MB. Don't include unnecessary folders like node_modules, venv or .git (details).

My payment is not being confirmed

Confirmation usually happens within a few minutes. If the amount did not match exactly (you rounded off the unique extra UZS), an administrator will check the transfer manually — wait a little or contact support.

The first message is delayed because the bot was asleep

This is normal — waking a sleeping bot takes a few seconds (about 3–6 seconds for Python bots), while an active bot answers instantly (details). If the bot must always respond quickly, switch it to "Always on" mode.

I changed an environment variable but it has no effect

After you save it in the dashboard, the bot should restart automatically — wait a few seconds. If your code reads the variable only once at startup (the usual case), the change will not be visible until the bot restarts.

The bot won't open for another user (handed over to a client)

The client must first press /start in the platform bot (such as @BotxonaBot) — otherwise the system does not recognize them and the handover request cannot reach them.

If nothing helps

Show the logs to an AI (how) or contact support.