Как авторизовать Telegram app через python?
Подскажите как авторизовать приложение и получить данные через pyrogram или посредством Telegram API вида
{"id": id, "first_name": first_name, "auth_date": auth_date, "hash": hash}
Мой подход таков
- С помощью Telegram API отправляю запрос => ввод номера телефона и отправка кода В этот момент начинают лететь запросы на /login и ответов false а) в pyrogram подтверждаю вход нажатием кнопки confirm После этого пытаюсь получить данные но мне пишет что сессия истекла хотя прошло не более 10 секунд. Я так понимаю если не происходит отправки post запроса то сессия сразу разрывается
Но не до конца понимаю как все-таки авторизоваться в приложении и получить data-onauth
Вот код для отправки Запрос для отправки кода
params = {
'bot_id': '6190046558',
'origin': 'https://galxe.com',
'request_access': 'write',
'return_to': 'https://galxe.com/accountSetting?tab=SocialLinlk',
}
data = {
'phone': phone,
}
response = session.post('https://oauth.telegram.org/auth/request', params=params, headers=headers,data=data)
код для постоянных запросов (видимо проверка авторизации)
response = requests.post('https://oauth.telegram.org/auth/login?bot_id=6190046558&origin=https://galxe.com&request_access=write&return_to=https://galxe.com/accountSetting?tab=SocialLinlk', headers=headers, data=data)
Код для подтверждения входа через приложение
headers = {
'authority': 'oauth.telegram.org',
'accept': '*/*',
'accept-language': 'en-US,en;q=0.9',
'cache-control': 'no-cache',
'content-type': 'application/x-www-form-urlencoded; charset=UTF-8',
'origin': 'https://galxe.com',
'pragma': 'no-cache',
'sec-ch-ua': '"Not/A)Brand";v="99", "Google Chrome";v="115", "Chromium";v="115"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Windows"',
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'cross-site',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36',
'x-requested-with': 'XMLHttpRequest',
}
data = {
'bot_id': '6190046558',
}
response = requests.post('https://oauth.telegram.org/auth/get', headers=headers, data=data)
Пытался одновременно запустить получение pyrogram - подтверждение кода (Acept) и постоянные запросы для сохранения авторизации = безрезультатно. Буду благодарен если подскажите как можно авторизовать приложение