Всем темщикам и любителям привет! Идея:Создать команду для iPhone, при активации которой, сессия TG телефона/любого другого устройства убивается Реализация:Так как в api telegram нет функции завершить исполнение скрипта одной командой, будем использовать VPS сервер, python: Telethron и его функции: GetAuthorizationsRequest, ResetAuthorizationRequest Готовая программа: Реализованная программа: Код программы from telethon import TelegramClient from telethon.errors import SessionPasswordNeededError from telethon.tl.functions.account import GetAuthorizationsRequest, ResetAuthorizationRequest # Настройки Telegram api_id = '' # Сюда ваш API ID api_hash = '' # Сюда ваш API Hash phone_number = '+Xxxxxxxxxxx' # Ваш номер телефона model_device = '' # Сюда модель трубы/девайса, которое надо завершать, пример - iPhone 16 client = TelegramClient('session_name', api_id, api_hash) async def terminate_phone_session(): await client.start(phone=phone_number) try: authorizations = await client(GetAuthorizationsRequest()) for auth in authorizations.authorizations: date_created = auth.date_created.strftime('%Y-%m-%d %H:%M:%S') print(f"Устройство: {auth.device_model}, IP: {auth.ip}, Дата создания: {date_created}") if auth.device_model == model_device: print(f"Завершаем сессию: {auth.device_model} ({auth.ip})") await client(ResetAuthorizationRequest(hash=auth.hash)) print("Сессия завершена.") break except SessionPasswordNeededError: print("Требуется двухэтапная аутентификация. Введите пароль.") except Exception as e: print(f"Ошибка: {e}") with client: client.loop.run_until_complete(terminate_phone_session()) Python from telethon import TelegramClient from telethon.errors import SessionPasswordNeededError from telethon.tl.functions.account import GetAuthorizationsRequest, ResetAuthorizationRequest # Настройки Telegram api_id = '' # Сюда ваш API ID api_hash = '' # Сюда ваш API Hash phone_number = '+Xxxxxxxxxxx' # Ваш номер телефона model_device = '' # Сюда модель трубы/девайса, которое надо завершать, пример - iPhone 16 client = TelegramClient('session_name', api_id, api_hash) async def terminate_phone_session(): await client.start(phone=phone_number) try: authorizations = await client(GetAuthorizationsRequest()) for auth in authorizations.authorizations: date_created = auth.date_created.strftime('%Y-%m-%d %H:%M:%S') print(f"Устройство: {auth.device_model}, IP: {auth.ip}, Дата создания: {date_created}") if auth.device_model == model_device: print(f"Завершаем сессию: {auth.device_model} ({auth.ip})") await client(ResetAuthorizationRequest(hash=auth.hash)) print("Сессия завершена.") break except SessionPasswordNeededError: print("Требуется двухэтапная аутентификация. Введите пароль.") except Exception as e: print(f"Ошибка: {e}") with client: client.loop.run_until_complete(terminate_phone_session()) Получение api-ключей Telegram: Заходим на сайт: my.telegram.org Авторизуемся, создаем приложение Шаги создания приложения эти ключи копируем, дальше по инструкции ниже Меняем значения api_id, api_hash, phone_number, model_device; на свои Запускаем код со своего компа Создаем сессию, даём ей отлежаться пару дней (тг не дает новым сессиям завершать другие) Сервер:Создаем папку и заходим в неё mkdir finish_iph cd finish_iph Code mkdir finish_iph cd finish_iph Создаем файл для кода touch d.py nano d.py Code touch d.py nano d.py Вставляем код, запускаем для проверки если всё работает, то переходим в команды на iPhone: iPhone: Создаем новую команду, добавляем блок: 'Выполнить скрипт через SSH' заполняем данные по примеру Данные скрипта для вставки: cd finish_iph python3 d.py Code cd finish_iph python3 d.py Заполняем данные своего сервера для аунтентификации Пример заполнения команды После успешного создания команды, добавляем её как бинд на кнопку действия: Откройте «Настройки» > «Кнопка действия». Листаем до страницы 'Команды', выбираем нашу Spoiler Поздравляю, всё работает) Принимаю пожелания и идеи доработок)
можно сделать ещё веб-сервер, и чтобы команда выполнялась при запросе. будет ещё проще. и можно будет на андроиде сделать то же самое через tasker.
MALWARE, изначально так и было, однако после того, как я нашел блок с подключением по ssh в командай айфона, я подумал, что можно проще)
InfernLife, из минусов сессии будут отлетать практически каждые 20 минут, хотя с кнопкой такой же прикол, наверное...
доза, так а в чем трабл, можно либо туда, либо туда команду забиндить. на кнопку удобнее, ибо там прям прожать надо