Переменные окружения (env)
Переменные окружения (environment variables) — это настройки, которые ваш бот читает при запуске: токен, ID канала, список админов и т. д. Вместо того чтобы прописывать их в коде, код их читает — тогда для смены токена не нужно переписывать код.
Переменные, которые даёт платформа
Эти переменные вы изменить не можете — Botxona задаёт их автоматически:
| Переменная | Значение |
|---|---|
BOT_TOKEN | Telegram-токен вашего бота |
TELEGRAM_API_URL | Адрес прокси платформы. Необязательно — использовать его не нужно: даже если бот обращается к стандартному api.telegram.org, запросы автоматически проходят через прокси |
DATA_DIR | Единственное место для хранения постоянных данных |
TZ | Часовой пояс (Asia/Tashkent) |
PORT | Порт, который должен слушать бот, если он поднимает HTTP-сервер |
Переменные, которые вы добавляете сами
Настройки, специфичные для логики бота, — например ADMIN_IDS, CHANNEL_ID, WORK_HOURS. Их вы документируете в коде в файле .env.example (без значений, только имя и комментарий):
# Telegram ID админов, через запятую
ADMIN_IDS=
# Рабочее время, например 09:00-18:00
WORK_HOURS=09:00-18:00
При загрузке бота система читает этот файл и показывает поле ввода для каждой переменной в разделе панели Настройки → Переменные окружения. Значения вы вводите там — они хранятся в зашифрованном виде и после сохранения больше не отображаются на экране (видна только отметка «установлено»), а ввод нового значения заменяет старое.
После ввода или изменения значения бот автоматически перезапускается — загружать код заново не нужно.
Что будет, если .env.example нет?
Бот всё равно запустится, но в отчёте проверки появится жёлтая отметка и список переменных, которые используются в коде, но не задокументированы, — их тоже можно добавить в панели вручную.
Секреты никогда не попадают в ZIP
Даже если файл .env (с реальными значениями) оказался в архиве, система автоматически удаляет его — ради безопасности. Полезен и безопасен только .env.example (образец без значений).
Следующий шаг
Как проверяется каждая переменная: 6 правил — пункт 6. Где хранить данные: Данные и резервные копии.