Автоматическая авторизация в Telegram-приложении для получения токена
Требуется реализовать автоматический процесс авторизации в стороннем приложении (не моём) для получения токена доступа.
Решение на Python с использованием библиотеки Pyrogram
На Python был найден рабочий код с применением библиотеки Pyrogram:
api_id = 123
api_hash = 'hash'
client = Client('main', api_id=api_id, api_hash=api_hash)
async def get_auth_token(client: Client):
async with client:
bot_entity = await client.get_users('bot')
bot = InputUser(user_id=bot_entity.id, access_hash=bot_entity.raw.access_hash)
peer = await client.resolve_peer('bot')
bot_app = InputBotAppShortName(bot_id=bot, short_name='name')
web_view = await client.invoke(
RequestAppWebView(
peer=peer,
app=bot_app,
platform="android",
)
)
init_data = unquote(web_view.url.split('tgWebAppData=', 1)[1].split('&tgWebAppVersion', 1)[0])
token = f'tma {init_data}'
return token
async def main():
token = await get_auth_token(client)
print(token)Поиск решения на PHP с MadelineProto
Была предпринята попытка найти аналогичное решение для PHP с использованием библиотеки MadelineProto. К сожалению, поиск не увенчался успехом - возможно, были упущены какие-то варианты.
Ключевой вопрос: поддерживает ли MadelineProto функционал авторизации, аналогичный описанному выше для Pyrogram? Если вы знакомы с этой библиотекой, поделитесь информацией о наличии подобных возможностей.