import asyncio
import string
import random
from pyrogram import Client
from pyrogram.errors import UsernameNotOccupied, FloodWait, RPCError
# ... фикс для Python 3.14 (тот блок try/except) ...
app = Client("my_account", api_id=API_ID, api_hash=API_HASH)
def generate_random_username(length=5):
return ''.join(random.choice(string.ascii_lowercase) for _ in range(length))
async def check_username(username):
try:
await app.check_username(username)
return True
except UsernameNotOccupied:
return False
except FloodWait as e:
print(f"⚠️ FloodWait! Ждем {e.value} секунд...")
await asyncio.sleep(e.value)
return False
except RPCError as e:
# Если ошибка связана с покупкой на Fragment — просто пропускаем
if "USERNAME_PURCHASE_AVAILABLE" in str(e):
return False
return False
except Exception:
return False