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"