From 8cb35e12c228f27c0865f79296385f970b2fee3e Mon Sep 17 00:00:00 2001 From: wheelchairy Date: Thu, 27 Mar 2025 00:01:05 +0300 Subject: [PATCH] Switching to .env --- .env.example | 7 +++++++ .gitignore | 1 + README.md | 39 +++++++++++++++++++++++++++++++++++++++ requirements.txt | 3 ++- src/app.py | 16 +++++++++++++++- tokens.py.example | 7 ------- 6 files changed, 64 insertions(+), 9 deletions(-) create mode 100644 .env.example delete mode 100644 tokens.py.example diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..2c6a3fe --- /dev/null +++ b/.env.example @@ -0,0 +1,7 @@ +# ВАЖНО: Не используйте ключи из этого файла! +# Получите свои API-ключи на https://my.telegram.org/apps +# Скопируйте этот файл в .env и отредактируйте под свои ключи +# Спасибо за понимание! + +API_ID=your_api_id_here +API_HASH=your_api_hash_here \ No newline at end of file diff --git a/.gitignore b/.gitignore index 871a26b..b87114d 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ test.py __pycache__ */__pycache__ tokens.py +.env diff --git a/README.md b/README.md index 8f54732..5f26c32 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,42 @@ # Тальк Тальк — клиент Telegram с текстовым пользовательским интерфейсом, написанный на Python, Telethon и Textual. + +## Требования + +- Python 3.12 +- pyenv (рекомендуется для управления версиями Python) + +## Установка + +1. Установите Python 3.12 с помощью pyenv: +```bash +pyenv install 3.12 +pyenv local 3.12 +``` + +2. Создайте и активируйте виртуальное окружение: +```bash +python -m venv .venv +source .venv/bin/activate # для Linux/macOS +# или +.venv\Scripts\activate # для Windows +``` + +3. Установите зависимости: +```bash +pip install -r requirements.txt +``` + +4. Настройте переменные окружения: +```bash +cp .env.example .env +# Отредактируйте .env файл, добавив свои API ключи +# Получите ключи на https://my.telegram.org/apps +``` + +## Запуск + +```bash +python src/app.py +``` diff --git a/requirements.txt b/requirements.txt index 1211280..ed2b38f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,3 @@ textual -telethon \ No newline at end of file +telethon +python-dotenv \ No newline at end of file diff --git a/src/app.py b/src/app.py index 32ba7b8..e7b896c 100644 --- a/src/app.py +++ b/src/app.py @@ -1,10 +1,24 @@ """Главный файл приложения""" +import os +from dotenv import load_dotenv from telethon import TelegramClient, events from textual.app import App -from tokens import api_id, api_hash from src.screens import AuthScreen, ChatScreen +load_dotenv() + +api_id = os.getenv("API_ID") +api_hash = os.getenv("API_HASH") + +if not api_id or not api_hash: + raise ValueError( + "API_ID и API_HASH не найдены в .env файле. " + "Пожалуйста, скопируйте .env.example в .env и заполните свои ключи." + ) + +api_id = int(api_id) + class TelegramTUI(App): """Класс приложения""" diff --git a/tokens.py.example b/tokens.py.example deleted file mode 100644 index 8e5681f..0000000 --- a/tokens.py.example +++ /dev/null @@ -1,7 +0,0 @@ -""" И ПОЖАЛУЙСТА. ДАЖЕ НЕ ПРОБУЙТЕ ИСПОЛЬЗОВАТЬ КЛЮЧИ ОТСЮДА, КЛИЕНТ ИХ НЕ ПРИМЕТ И ТЕЛЕТОН ТОЖЕ""" -""" СДЕЛАЙТЕ cp tokens.py.example в tokens.py И ПОДРЕДАКТИРУЙТЕ ПОД СВОИ КЛЮЧИ """ -""" СПАСИБО """ -"""Получите свои API-ключи на https://my.telegram.org/apps""" - -api_id = 12345 -api_hash = "0123456789abcdef"