АПИ НА СВОЙ ИЗМЕНИЛ from pyrogram import Client from pyrogram.raw.functions.contacts import Search from pyrogram.errors import FloodWait, PeerIdInvalid, UsernameNotOccupied import time api_id = АПИ_ИД api_hash = "АПИХЕШ" def main(): print("Запуск программы...") chats = set() try: with open('queries.txt', encoding='utf-8') as file: queries = [q.strip() for q in file if q.strip()] print(f"Загружено {len(queries)} запросов") except FileNotFoundError: print("ОШИБКА: файл queries.txt не найден!") return if not queries: print("ОШИБКА: список запросов пуст!") return print("Подключение к Telegram...") with Client("session", api_id, api_hash) as client: print("Подключение успешно!") for i, query in enumerate(queries, 1): print(f"Обработка запроса {i}/{len(queries)}: '{query}'") max_retries = 3 retry_count = 0 while retry_count < max_retries: try: result = client.invoke(Search(q=query, limit=100)) break except FloodWait as e: print(f"FloodWait для запроса '{query}': спим {e.value} секунд") time.sleep(e.value) retry_count += 1 except Exception as e: print(f"Ошибка при поиске '{query}': {e}") break else: print(f"Превышено количество попыток для запроса '{query}'") continue if 'result' not in locals(): continue found_chats = 0 for chat in result.chats: username = chat.username if not username and not chat.megagroup and not chat.gigagroup: try: full_chat = client.get_chat(chat.id) linked_chat = getattr(full_chat, "linked_chat", None) if linked_chat and linked_chat.username: username = linked_chat.username except (PeerIdInvalid, UsernameNotOccupied, Exception): continue if username: print(f"[{query}] — @{username}") chats.add(username) found_chats += 1 print(f"Найдено {found_chats} чатов для запроса '{query}'") time.sleep(1) try: with open('result_chats.txt', 'r', encoding='utf-8') as file: existing = set(line.strip() for line in file if line.strip()) except FileNotFoundError: existing = set() new_chats = chats - existing if new_chats: with open('result_chats.txt', 'a', encoding='utf-8') as file: for chat in sorted(new_chats): file.write(f"{chat}\n") print(f"Добавлено {len(new_chats)} новых чатов") else: print("Новых чатов не найдено") print(f"Всего уникальных чатов: {len(chats)}") if __name__ == "__main__": try: main() except (KeyboardInterrupt, SystemExit): print("Прервано пользователем.") except Exception as e: print(f"Неожиданная ошибка: {e}") Python from pyrogram import Client from pyrogram.raw.functions.contacts import Search from pyrogram.errors import FloodWait, PeerIdInvalid, UsernameNotOccupied import time api_id = АПИ_ИД api_hash = "АПИХЕШ" def main(): print("Запуск программы...") chats = set() try: with open('queries.txt', encoding='utf-8') as file: queries = [q.strip() for q in file if q.strip()] print(f"Загружено {len(queries)} запросов") except FileNotFoundError: print("ОШИБКА: файл queries.txt не найден!") return if not queries: print("ОШИБКА: список запросов пуст!") return print("Подключение к Telegram...") with Client("session", api_id, api_hash) as client: print("Подключение успешно!") for i, query in enumerate(queries, 1): print(f"Обработка запроса {i}/{len(queries)}: '{query}'") max_retries = 3 retry_count = 0 while retry_count < max_retries: try: result = client.invoke(Search(q=query, limit=100)) break except FloodWait as e: print(f"FloodWait для запроса '{query}': спим {e.value} секунд") time.sleep(e.value) retry_count += 1 except Exception as e: print(f"Ошибка при поиске '{query}': {e}") break else: print(f"Превышено количество попыток для запроса '{query}'") continue if 'result' not in locals(): continue found_chats = 0 for chat in result.chats: username = chat.username if not username and not chat.megagroup and not chat.gigagroup: try: full_chat = client.get_chat(chat.id) linked_chat = getattr(full_chat, "linked_chat", None) if linked_chat and linked_chat.username: username = linked_chat.username except (PeerIdInvalid, UsernameNotOccupied, Exception): continue if username: print(f"[{query}] — @{username}") chats.add(username) found_chats += 1 print(f"Найдено {found_chats} чатов для запроса '{query}'") time.sleep(1) try: with open('result_chats.txt', 'r', encoding='utf-8') as file: existing = set(line.strip() for line in file if line.strip()) except FileNotFoundError: existing = set() new_chats = chats - existing if new_chats: with open('result_chats.txt', 'a', encoding='utf-8') as file: for chat in sorted(new_chats): file.write(f"{chat}\n") print(f"Добавлено {len(new_chats)} новых чатов") else: print("Новых чатов не найдено") print(f"Всего уникальных чатов: {len(chats)}") if __name__ == "__main__": try: main() except (KeyboardInterrupt, SystemExit): print("Прервано пользователем.") except Exception as e: print(f"Неожиданная ошибка: {e}")
RTX4070, судя по коду, который ты привел, проблема может быть связана с несколькими моментами: 1. **Проблемы с API ID и API Hash**: Убедись, что ты правильно указал `api_id` и `api_hash`. Они должны быть действительными и соответствовать твоему приложению в Telegram. 2. **Файл `queries.txt`**: Убедись, что файл `queries.txt` существует в той же директории, откуда ты запускаешь скрипт, и что он не пустой. 3. **Обработка исключений**: В коде есть обработка исключений, таких как `FloodWait`, но если ты получаешь ошибку "0", возможно, это связано с другой ошибкой, которая не была учтена. Попробуй добавить более детальную обработку исключений, чтобы понять, что именно происходит. 4. **Проблемы с подключением**: Убедись, что у тебя стабильное интернет-соединение, так как проблемы с сетью могут вызывать ошибки при подключении к Telegram. 5. **Лимиты Telegram API**: Telegram может накладывать ограничения на количество запросов, которые ты можешь отправить за определенный период времени. Убедись, что ты не превышаешь эти лимиты. Если ты можешь предоставить больше информации о том, на каком этапе возникает ошибка и какие сообщения об ошибках ты получаешь, это поможет более точно определить проблему.
а где ввод кода для входа? дебагер включи да посмотри в каком моменте ошибка The post was merged to previous Jul 28, 2025 at 4:21 PM а вообще зачем ты пайрограм используешь, он устарел и более не поддерживается, там может быть что угодно