首页 > 解决方案 > Telethon Cannot sign into accounts with two step verfication

问题描述

I'm trying to log into telegram using telethon with a number with two-step verification. I use this code,

client = TelegramClient(f'sessions/1', API_ID, API_HASH)
client.connect()
phone = input('phone ; ')
y = client.send_code_request(phone)
x = client.sign_in(phone=phone, password=input('password : '), code=input('code :'))

But It still says that the account is two-step protected. Is there any easier way to do this without this method or... how can I properly use this method?

I want to log into the account fully from the code without typing anything in the terminal (Here I used inputs just for testing. I will connect a GUI later where users can enter the details) so I don't think client.start() will work. and I'm a little confused when it comes to passing the parameters to client.start() method.

Any help would be really appreciated. Thank you.

标签: pythontelegramtelegram-bottelethon

解决方案


您还需要传递phone_code_hashclient.send_code_request(phone).

您可以尝试(参见带有 phone_code_hash 和send_code_request的sign_in函数调用):

y = client.send_code_request(phone)
client.sign_in(phone=phone, password=input('password : '), code=input('code :'), phone_code_hash=y.phone_code_hash)

推荐阅读