Всем темщикам и любителям привет!
Идея:
Создать команду для 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())
Получение api-ключей Telegram:
Заходим на сайт:
Авторизуемся, создаем приложение
Меняем значения
api_id,
api_hash,
phone_number,
model_device; на свои
Запускаем код со своего компа
Создаем сессию, даём ей отлежаться пару дней (тг не дает новым сессиям завершать другие)
Сервер:
Создаем папку и заходим в неё
mkdir finish_iph
cd finish_iph
Создаем файл для кода
touch d.py
nano d.py
Вставляем код, запускаем для проверки
если всё работает, то переходим в команды на iPhone:
iPhone:�
Создаем новую команду, добавляем блок: 'Выполнить скрипт через SSH'
заполняем данные по примеру
Данные скрипта для вставки:
cd finish_iph
python3 d.py
Заполняем данные своего сервера для аунтентификации
После успешного создания команды, добавляем её как бинд на кнопку действия:
Откройте «Настройки» > «Кнопка действия».
Листаем до страницы 'Команды', выбираем нашу