← Все вопросы
Как спрятать токен бота в переменную окружения (.env)?
6
Понял, что токен нельзя вставлять прямо в код. Но как тогда правильно его подключить, чтобы код работал, а сам токен лежал отдельно? Слышал про какой-то .env, но не понял как это сделать на практике.
2 ответа
10
✓ Принятый ответ — помог автору
Самый простой способ — библиотека python-dotenv плюс файл .env.
- Поставь:
pip install python-dotenv - Рядом с
bot.pyсоздай файл.env(с точкой в начале):
BOT_TOKEN=123456789:AAE...твой_токен
- В коде читай его из окружения:
import os
from dotenv import load_dotenv
from aiogram import Bot
load_dotenv() # подгружает .env в окружение
bot = Bot(os.getenv("BOT_TOKEN"))
- Обязательно создай файл
.gitignoreи впиши туда одну строку:
.env
Теперь токен лежит в .env у тебя на компьютере, а в git и на GitHub уезжает только код. Друг при желании создаёт свой .env со своим токеном.
3
Если не хочешь ставить лишнюю библиотеку, можно задать переменную окружения прямо в системе и читать через os.getenv("BOT_TOKEN") без load_dotenv. Но для учебного проекта вариант с .env удобнее: всё в одном месте и легко переносить.
Ваш ответ
Войдите, чтобы ответить на вопрос.