Тестил на (Python 3.11.9, telethon1.39.0) По идее любой python > 3 подойдет. Закрепленные боты останутся видимыми, но с пустыми чатами. Боты заблокались все, у пары ботов не очистилась история(при перезапуске доудалились все). У личных ботов аккаунта не удаляется история, они просто блочатся. 12 строчка: device_model - любое название устройства отсюда https://www.kimovil.com/ru/all-smartphone-brands app_version - ласт версию отсюда https://telegram-for-desktop.ru.uptodown.com/windows/versions import asyncio from telethon import TelegramClient, functions, types, errors async def main(): # Ввод данных для авторизации api_id = input("Введите API ID: ") api_hash = input("Введите API Hash: ") phone = input("Введите номер телефона: ") # Создаем клиент client = TelegramClient('telethon_session', api_id, api_hash, device_model="Xiaomi Redmi K80 Pro", app_version="5.12.3", lang_code="ru") # Функция для запроса пароля 2FA def get_2fa_password(): return input("Введите пароль 2FA (если не требуется, нажмите Enter): ") # Авторизация await client.start(phone=phone, password=get_2fa_password) print("Авторизация успешна. Начинаем обработку...") # Перебираем все диалоги async for dialog in client.iter_dialogs(): # Проверяем, является ли диалог приватным чатом с ботом if isinstance(dialog.entity, types.User) and dialog.entity.bot: bot = dialog.entity try: # Блокируем бота await client(functions.contacts.BlockRequest(id=bot)) print(f"Бот {bot.first_name} (ID: {bot.id}) заблокирован") # Удаляем всю переписку с ботом await client.delete_dialog(bot) print(f"Переписка с {bot.first_name} удалена") except errors.RPCError as e: print(f"Ошибка при обработке бота {bot.id}: {e}") await asyncio.sleep(1) print("Обработка завершена!") # Запуск основной функции asyncio.run(main()) Python import asyncio from telethon import TelegramClient, functions, types, errors async def main(): # Ввод данных для авторизации api_id = input("Введите API ID: ") api_hash = input("Введите API Hash: ") phone = input("Введите номер телефона: ") # Создаем клиент client = TelegramClient('telethon_session', api_id, api_hash, device_model="Xiaomi Redmi K80 Pro", app_version="5.12.3", lang_code="ru") # Функция для запроса пароля 2FA def get_2fa_password(): return input("Введите пароль 2FA (если не требуется, нажмите Enter): ") # Авторизация await client.start(phone=phone, password=get_2fa_password) print("Авторизация успешна. Начинаем обработку...") # Перебираем все диалоги async for dialog in client.iter_dialogs(): # Проверяем, является ли диалог приватным чатом с ботом if isinstance(dialog.entity, types.User) and dialog.entity.bot: bot = dialog.entity try: # Блокируем бота await client(functions.contacts.BlockRequest(id=bot)) print(f"Бот {bot.first_name} (ID: {bot.id}) заблокирован") # Удаляем всю переписку с ботом await client.delete_dialog(bot) print(f"Переписка с {bot.first_name} удалена") except errors.RPCError as e: print(f"Ошибка при обработке бота {bot.id}: {e}") await asyncio.sleep(1) print("Обработка завершена!") # Запуск основной функции asyncio.run(main())