#!/usr/bin/env python3 """ Helper script pentru obținerea Chat ID Telegram (pentru DM și grupuri) """ import os import requests from dotenv import load_dotenv # Load environment load_dotenv() BOT_TOKEN = os.getenv('TELEGRAM_BOT_TOKEN') if not BOT_TOKEN: print("❌ TELEGRAM_BOT_TOKEN nu este setat în .env!") print("\nAdaugă în .env:") print("TELEGRAM_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrs") exit(1) def get_updates(): """Preia ultimele update-uri de la bot""" url = f"https://api.telegram.org/bot{BOT_TOKEN}/getUpdates" response = requests.get(url) return response.json() def main(): print("=" * 60) print(" Telegram Chat ID Helper") print("=" * 60) print() print("📱 Instrucțiuni:") print("1. Trimite /start către bot (DM)") print(" SAU") print("2. Trimite /start în grupul unde ai bot-ul") print() print("Apasă Enter după ce ai trimis mesajul...") input() print("\n🔍 Căutare mesaje...") data = get_updates() if not data.get('ok'): print(f"❌ Eroare API: {data}") return results = data.get('result', []) if not results: print("❌ Niciun mesaj găsit!") print("\nAsigură-te că:") print("• Ai trimis /start către bot SAU în grup") print("• Bot-ul este adăugat în grup (dacă folosești grup)") print("• Token-ul este corect") return print(f"\n✅ Găsit {len(results)} mesaje!\n") print("=" * 60) # Procesează ultimele mesaje seen_chats = {} for update in results: if 'message' in update: msg = update['message'] chat = msg['chat'] chat_id = chat['id'] chat_type = chat['type'] # Evită duplicate if chat_id in seen_chats: continue seen_chats[chat_id] = True # Detalii chat if chat_type == 'private': # DM user = msg['from'] print(f"📱 DM cu {user.get('first_name', 'Unknown')}") print(f" User ID: {user['id']}") print(f" Username: @{user.get('username', 'N/A')}") print(f" Chat ID: {chat_id}") elif chat_type in ['group', 'supergroup']: # Grup print(f"👥 Grup: {chat.get('title', 'Unknown')}") print(f" Chat ID: {chat_id} ⚠️ NEGATIV pentru grupuri!") print(f" Tip: {chat_type}") # User care a trimis mesajul user = msg['from'] print(f" Mesaj de la: @{user.get('username', 'Unknown')} (ID: {user['id']})") print() print("=" * 60) print("\n💡 Pentru configurare .env:") print() # Recomandări for chat_id, chat_data in seen_chats.items(): if chat_id < 0: # Grup print(f"# Pentru grup (notificări + comenzi):") print(f"TELEGRAM_CHAT_ID={chat_id}") else: # DM print(f"# Pentru DM:") print(f"TELEGRAM_CHAT_ID={chat_id}") print() print("# User IDs autorizați (pot rula /scrape):") print("TELEGRAM_ALLOWED_USER_IDS=", end="") # Colectează user IDs unice user_ids = set() for update in results: if 'message' in update: user_id = update['message']['from']['id'] user_ids.add(user_id) print(",".join(str(uid) for uid in sorted(user_ids))) print() print("=" * 60) if __name__ == "__main__": main()