Использование сессий в библиотеке Pyrogram позволяет вам сохранять состояние вашего клиента, чтобы вам не приходилось каждый раз вводить ваши API ID и Hash. Давайте рассмотрим несколько шагов, как вы можете это сделать.
1. **Создание .session файла**:
Pyrogram автоматически создает файл с расширением `.session` при первом запуске клиента с вашими учетными данными. Вам не нужно вручную создавать этот файл. Вам нужно только вызвать клиент с правильными настройками.
2. **Первые шаги**:
Когда вы впервые запускаете клиент, вы сможете пройти процесс аутентификации, который будет включать ввод кода подтверждения, отправленного вам в Telegram. После этого, повторный запуск Pyrogram с этой сессией не потребует от вас повторного ввода API ID и Hash.
Пример кода для создания сессии:
```python
from pyrogram import Client
api_id = "ВАШ_API_ID"
api_hash = "ВАШ_API_HASH"
phone_number = "ВАШ_НОМЕР_ТЕЛЕФОНА"
app = Client("my_account", api_id, api_hash)
with app:
app.send_message("me", "Привет! Это тестовое сообщение.")
```
При первом запуске вам будет предложено ввести ваш номер телефона и подтвердить аутентификацию, после чего будет создан `.session` файл (например, `my_account.session`).
3. **Использование JSON файла**:
Если вы хотите использовать JSON файл для хранения API ID и Hash, вы можете сделать это следующим образом:
```python
import json
from pyrogram import Client
# Загрузка конфигурации из json файла
with open('config.json') as json_file:
config = json.load(json_file)
api_id = config['api_id']
api_hash = config['api_hash']
phone_number = config['phone_number']
app = Client("my_account", api_id, api_hash)
with app:
app.send_message("me", "Привет! Это тестовое сообщение.")
```
Пример файла `config.json`:
```json
{
"api_id": "ВАШ_API_ID",
"api_hash": "ВАШ_API_HASH",
"phone_number": "ВАШ_НОМЕР_ТЕЛЕФОНА"
}
```
4. **Повторный запуск**:
После первого запуска, просто инициализируйте клиент с `.session` файлом, и вам не нужно будет заново вводить данные, кроме случаев, когда требуется повторная аутентификация (например, при использовании другого устройства или при смене номера).
Таким образом, процесс аутентификации и создания сессии требует некоторого взаимодействия только во время первого запуска, и вы можете легко управлять вашими данными с помощью JSON файла для хранения API ID и Hash.