32 lines
973 B
Python
32 lines
973 B
Python
"""
|
|
Одноразовый интерактивный логин user-аккаунта Telegram.
|
|
|
|
Запуск:
|
|
docker compose run --rm callsvc python scripts/login.py
|
|
|
|
Введёт код подтверждения (и пароль 2FA, если включён) и сохранит
|
|
session-файл в /data/sessions/<SESSION_NAME>.session — том смонтирован
|
|
в docker-compose.yml, так что сессия переживёт пересоздание контейнера.
|
|
"""
|
|
|
|
from pyrogram import Client
|
|
|
|
from app.config import settings
|
|
|
|
|
|
def main():
|
|
client = Client(
|
|
settings.session_name,
|
|
api_id=settings.api_id,
|
|
api_hash=settings.api_hash,
|
|
phone_number=settings.phone_number,
|
|
workdir=settings.sessions_dir,
|
|
)
|
|
with client:
|
|
me = client.get_me()
|
|
print(f"Logged in as {me.first_name} (id={me.id}). Session saved to {settings.sessions_dir}.")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|