Phase 0 MVP: Telegram Archiver fully functional (992 posts tested)

This commit is contained in:
2026-03-06 22:15:50 +03:00
parent bb8c7766b4
commit b76e27afcb
14 changed files with 1171 additions and 134 deletions
+50
View File
@@ -0,0 +1,50 @@
#!/usr/bin/env python
"""
Interactive login script for Telegram Archiver with SMS fallback.
If you don't receive the code in the Telegram app, this script will
offer to request an SMS instead.
"""
import sys
import os
from pathlib import Path
# Add project root to path
project_root = Path(__file__).parent
sys.path.insert(0, str(project_root))
# Set working directory to project root for .env loading
os.chdir(project_root)
from app.telethon_client import TelethonArchiver
from config import get_settings
from telethon.errors import SessionPasswordNeededError
import asyncio
async def login():
"""Interactive login to Telegram with SMS fallback."""
settings = get_settings()
print("\n" + "=" * 60)
print("TELEGRAM ARCHIVER - AUTHENTICATION")
print("=" * 60)
print(f"Phone: {settings.phone}")
print("=" * 60)
async with TelethonArchiver(settings) as client:
print("\n✅ Successfully logged in!")
print(f"📁 Session saved to: {settings.session_path}")
# Test by getting me info
me = await client.client.get_me()
print(f"\n👤 Logged in as: {me.first_name} @{me.username}")
print(f" User ID: {me.id}")
if me.username:
print(f"\n✅ You can now archive your channel: @{me.username}")
print("\n" + "=" * 60)
if __name__ == "__main__":
asyncio.run(login())