Preparing a ZIP archive for your bot
You need a ZIP archive to upload your bot code. Here is how to create one on each device, what to leave out, and the limits.
Steps
Zipping on Windows
Right-click the project folder → "Send to" → "Compressed (zipped) folder". Tip: open the folder, select all the files and zip them — otherwise the archive will contain an extra nested folder (not a problem, but be aware of it).
Zipping on macOS
Select the folder in Finder, right-click → "Compress". macOS sometimes adds a __MACOSX service folder — don't worry, Botxona ignores it automatically.
Zipping on Android
Select the folder in an app such as "Files" or "ZArchiver" and tap "Compress" (Zip).
Zipping on iPhone
In the Files app, press and hold the folder → "Compress". If your code is somewhere else (e.g. Google Drive), download it to Files first, then compress it.
What to leave out of the archive
It is not a problem if the following end up in the archive — the system removes or ignores them automatically:
.env— deleted automatically (so tokens don't leak). Settings go into the dashboard, not the ZIP (Environment variables).venv/,.venv/,node_modules/,vendor/(Go),__pycache__/,.git/— skipped; they only bloat the archive, so don't include them.
Limits
| Limit | Value |
|---|---|
| ZIP size | 20 MB |
| Unpacked size | 100 MB |
| Number of files | up to 3000 |
| Single file size | 25 MB |
| Executables (.exe, .dll, .so, etc.) | not allowed |
| Symlinks | ignored |
Zipping with a single outer folder (e.g. mybot/mybot/main.py) is fine — the system detects the inner structure automatically.
Alternative: GitHub
Instead of a ZIP, you can provide a link to a public GitHub repository — no need to re-upload every time, and on the Pro/Business plans the bot redeploys automatically on push. Details: Connecting via GitHub. Only public repositories are supported — if you give a private repo link, the system rejects it with a clear error message.
Next step
Once the archive is ready: check that it follows the 6 rules, then upload it and read the check results.