对Telegram API进行非交互认证的问题-发送了SMS,但客户端没有接收到它



我在非交互式身份验证到Telegram API时遇到问题,使用版本1.26.1的Telethon和Python 3.10.7

我不能使用bot帐户,因为我需要访问消息历史记录,所以我试图使用下面的代码使用电话号码进行身份验证。

代码成功地将身份验证SMS消息发送到我的手机,但是TelegramClient实例没有接收到该消息。代码以:

结束
telethon.errors.rpcerrorlist.AuthKeyUnregisteredError: The key is not registered in the system (caused by GetStateRequest)

…且从未达到handleMessage

我把完整的调试日志放在下面。如果有人能指出我在这里做错了什么,我将不胜感激。我有点力不从心了!

import os
import logging
import asyncio
from telethon import TelegramClient, events
logging.basicConfig(level=logging.DEBUG)
api_id = os.environ["TELEGRAM_API_ID"]
api_hash = os.environ["TELEGRAM_API_HASH"]
phone_number = '[PHONE NUMBER GOES HERE]'
async def authenticate():
client = TelegramClient('my.session', api_id, api_hash)
await client.connect()
if not await client.is_user_authorized():
await client.send_code_request(phone_number)
@client.on(events.NewMessage())
async def handle_message(event):
code = event.message.message.strip()
try:
await client.sign_in(phone_number, code)
except SessionPasswordNeededError:
await client.sign_in(password=input('Password: '))
await client.run_until_disconnected()
if __name__ == '__main__':
loop = asyncio.new_event_loop()
loop.run_until_complete(authenticate())
DEBUG:asyncio:Using selector: EpollSelector
INFO:telethon.network.mtprotosender:Connecting to 149.154.167.51:443/TcpFull...
DEBUG:telethon.network.mtprotosender:Connection attempt 1...
DEBUG:telethon.network.mtprotosender:Connection success!
DEBUG:telethon.network.mtprotosender:New auth_key attempt 1...
DEBUG:telethon.network.mtprotosender:auth_key generation success!
DEBUG:telethon.network.mtprotosender:Starting send loop
DEBUG:telethon.network.mtprotosender:Starting receive loop
INFO:telethon.network.mtprotosender:Connection to 149.154.167.51:443/TcpFull complete!
DEBUG:telethon.network.mtprotosender:Waiting for messages to send...
DEBUG:telethon.extensions.messagepacker:Assigned msg_id = 7189537184681364208 to InvokeWithLayerRequest (7f29d8a7b7c0)
DEBUG:telethon.network.mtprotosender:Encrypting 1 message(s) in 80 bytes for sending
DEBUG:telethon.network.mtprotosender:Encrypted messages put in a queue to be sent
DEBUG:telethon.network.mtprotosender:Waiting for messages to send...
DEBUG:telethon.network.mtprotosender:Receiving items from the network...
DEBUG:telethon.network.mtprotosender:Handling bad salt for message 7189537184681364208
DEBUG:telethon.network.mtprotosender:1 message(s) will be resent
DEBUG:telethon.network.mtprotosender:Receiving items from the network...
DEBUG:telethon.extensions.messagepacker:Assigned msg_id = 7189537185773452908 to InvokeWithLayerRequest (7f29d8a7b7c0)
DEBUG:telethon.network.mtprotosender:Encrypting 1 message(s) in 80 bytes for sending
DEBUG:telethon.network.mtprotosender:Encrypted messages put in a queue to be sent
DEBUG:telethon.network.mtprotosender:Waiting for messages to send...
DEBUG:telethon.extensions.messagepacker:Assigned msg_id = 7189537185778229860 to MsgsAck (7f29d8a7bf10)
DEBUG:telethon.network.mtprotosender:Encrypting 1 message(s) in 36 bytes for sending
DEBUG:telethon.network.mtprotosender:Encrypted messages put in a queue to be sent
DEBUG:telethon.network.mtprotosender:Waiting for messages to send...
DEBUG:telethon.network.mtprotosender:Handling container
DEBUG:telethon.network.mtprotosender:Handling new session created
DEBUG:telethon.network.mtprotosender:Handling acknowledge for [7189537185773452908]
DEBUG:telethon.network.mtprotosender:Receiving items from the network...
DEBUG:telethon.network.mtprotosender:Handling RPC result for message 7189537185773452908
DEBUG:telethon.network.mtprotosender:Receiving items from the network...
DEBUG:telethon.extensions.messagepacker:Assigned msg_id = 7189537186917455820 to GetUsersRequest (7f29d8a7ba30)
DEBUG:telethon.network.mtprotosender:Encrypting 1 message(s) in 32 bytes for sending
DEBUG:telethon.network.mtprotosender:Encrypted messages put in a queue to be sent
DEBUG:telethon.network.mtprotosender:Waiting for messages to send...
DEBUG:telethon.extensions.messagepacker:Assigned msg_id = 7189537186924582628 to MsgsAck (7f29d8a7bbb0)
DEBUG:telethon.network.mtprotosender:Encrypting 1 message(s) in 60 bytes for sending
DEBUG:telethon.network.mtprotosender:Encrypted messages put in a queue to be sent
DEBUG:telethon.network.mtprotosender:Waiting for messages to send...
DEBUG:telethon.network.mtprotosender:Handling RPC result for message 7189537186917455820
DEBUG:telethon.network.mtprotosender:Receiving items from the network...
DEBUG:telethon.extensions.messagepacker:Assigned msg_id = 7189537190076001912 to MsgsAck (7f29d8a7b8b0)
DEBUG:telethon.network.mtprotosender:Encrypting 1 message(s) in 36 bytes for sending
DEBUG:telethon.network.mtprotosender:Encrypted messages put in a queue to be sent
DEBUG:telethon.network.mtprotosender:Waiting for messages to send...
DEBUG:telethon.extensions.messagepacker:Assigned msg_id = 7189537190089288504 to MsgsAck (7f29d8a7bc40)
DEBUG:telethon.network.mtprotosender:Encrypting 1 message(s) in 36 bytes for sending
DEBUG:telethon.network.mtprotosender:Encrypted messages put in a queue to be sent
DEBUG:telethon.network.mtprotosender:Waiting for messages to send...
DEBUG:telethon.extensions.messagepacker:Assigned msg_id = 7189537190098677428 to GetStateRequest (7f29d88d0400)
DEBUG:telethon.network.mtprotosender:Encrypting 1 message(s) in 20 bytes for sending
DEBUG:telethon.network.mtprotosender:Encrypted messages put in a queue to be sent
DEBUG:telethon.network.mtprotosender:Waiting for messages to send...
DEBUG:telethon.network.mtprotosender:Handling RPC result for message 7189537190098677428
DEBUG:telethon.network.mtprotosender:Receiving items from the network...
DEBUG:telethon.extensions.messagepacker:Assigned msg_id = 7189537193126077088 to MsgsAck (7f29d88d0190)
DEBUG:telethon.network.mtprotosender:Encrypting 1 message(s) in 36 bytes for sending
DEBUG:telethon.network.mtprotosender:Encrypted messages put in a queue to be sent
DEBUG:telethon.network.mtprotosender:Waiting for messages to send...
DEBUG:telethon.extensions.messagepacker:Assigned msg_id = 7189537193136570368 to MsgsAck (7f29d88d0490)
DEBUG:telethon.network.mtprotosender:Encrypting 1 message(s) in 36 bytes for sending
DEBUG:telethon.network.mtprotosender:Encrypted messages put in a queue to be sent
DEBUG:telethon.network.mtprotosender:Waiting for messages to send...
DEBUG:telethon.extensions.messagepacker:Assigned msg_id = 7189537193148678216 to SendCodeRequest (7f29d8a7bdc0)
DEBUG:telethon.network.mtprotosender:Encrypting 1 message(s) in 84 bytes for sending
DEBUG:telethon.network.mtprotosender:Encrypted messages put in a queue to be sent
DEBUG:telethon.network.mtprotosender:Waiting for messages to send...
DEBUG:telethon.network.mtprotosender:Handling RPC result for message 7189537193148678216
DEBUG:telethon.network.mtprotosender:Receiving items from the network...
DEBUG:telethon.extensions.messagepacker:Assigned msg_id = 7189537195352681552 to MsgsAck (7f29d88d0760)
DEBUG:telethon.network.mtprotosender:Encrypting 1 message(s) in 36 bytes for sending
DEBUG:telethon.network.mtprotosender:Encrypted messages put in a queue to be sent
DEBUG:telethon.network.mtprotosender:Waiting for messages to send...
DEBUG:telethon.extensions.messagepacker:Assigned msg_id = 7189537195354932224 to MsgsAck (7f29d88d0880)
DEBUG:telethon.network.mtprotosender:Encrypting 1 message(s) in 36 bytes for sending
INFO:telethon.client.users:Phone migrated to 5
INFO:telethon.client.telegrambaseclient:Reconnecting to new data center 5
DEBUG:telethon.network.mtprotosender:Encrypted messages put in a queue to be sent
DEBUG:telethon.network.mtprotosender:Waiting for messages to send...
DEBUG:telethon.extensions.messagepacker:Assigned msg_id = 7189537195359768304 to GetConfigRequest (7f29d88d07f0)
DEBUG:telethon.network.mtprotosender:Encrypting 1 message(s) in 20 bytes for sending
DEBUG:telethon.network.mtprotosender:Encrypted messages put in a queue to be sent
DEBUG:telethon.network.mtprotosender:Waiting for messages to send...
DEBUG:telethon.network.mtprotosender:Handling RPC result for message 7189537195359768304
DEBUG:telethon.network.mtprotosender:Receiving items from the network...
INFO:telethon.network.mtprotosender:Disconnecting from 149.154.167.51:443/TcpFull...
DEBUG:telethon.network.mtprotosender:Closing current connection...
DEBUG:telethon.network.mtprotosender:Cancelling 0 pending message(s)...
INFO:telethon.network.mtprotosender:Disconnection from 149.154.167.51:443/TcpFull complete!
INFO:telethon.network.mtprotosender:Connecting to 91.108.56.159:443/TcpFull...
DEBUG:telethon.network.mtprotosender:Connection attempt 1...
DEBUG:telethon.network.mtprotosender:Connection success!
DEBUG:telethon.network.mtprotosender:New auth_key attempt 1...
DEBUG:telethon.network.mtprotosender:auth_key generation success!
DEBUG:telethon.network.mtprotosender:Starting send loop
DEBUG:telethon.network.mtprotosender:Starting receive loop
INFO:telethon.network.mtprotosender:Connection to 91.108.56.159:443/TcpFull complete!
DEBUG:telethon.network.mtprotosender:Waiting for messages to send...
DEBUG:telethon.extensions.messagepacker:Assigned msg_id = 7189537203673150696 to InvokeWithLayerRequest (7f29d8a7b7f0)
DEBUG:telethon.extensions.messagepacker:Assigned msg_id = 7189537203673461596 to MsgsAck (7f29d88d11b0)
DEBUG:telethon.network.mtprotosender:Encrypting 2 message(s) in 140 bytes for sending
DEBUG:telethon.network.mtprotosender:Encrypted messages put in a queue to be sent
DEBUG:telethon.network.mtprotosender:Waiting for messages to send...
DEBUG:telethon.network.mtprotosender:Receiving items from the network...
DEBUG:telethon.network.mtprotosender:Handling bad salt for message 7189537203673723856
DEBUG:telethon.network.mtprotosender:1 message(s) will be resent
DEBUG:telethon.network.mtprotosender:Receiving items from the network...
DEBUG:telethon.extensions.messagepacker:Assigned msg_id = 7189537204019291560 to InvokeWithLayerRequest (7f29d8a7b7f0)
DEBUG:telethon.network.mtprotosender:Encrypting 1 message(s) in 80 bytes for sending
DEBUG:telethon.network.mtprotosender:Encrypted messages put in a queue to be sent
DEBUG:telethon.network.mtprotosender:Waiting for messages to send...
DEBUG:telethon.extensions.messagepacker:Assigned msg_id = 7189537204021352448 to MsgsAck (7f29d8a7bfa0)
DEBUG:telethon.network.mtprotosender:Encrypting 1 message(s) in 36 bytes for sending
DEBUG:telethon.network.mtprotosender:Encrypted messages put in a queue to be sent
DEBUG:telethon.network.mtprotosender:Waiting for messages to send...
DEBUG:telethon.network.mtprotosender:Handling container
DEBUG:telethon.network.mtprotosender:Handling new session created
DEBUG:telethon.network.mtprotosender:Handling acknowledge for [7189537204019291560]
DEBUG:telethon.network.mtprotosender:Receiving items from the network...
DEBUG:telethon.network.mtprotosender:Handling RPC result for message 7189537204019291560
DEBUG:telethon.network.mtprotosender:Receiving items from the network...
DEBUG:telethon.extensions.messagepacker:Assigned msg_id = 7189537204400215784 to GetUsersRequest (7f29d88d13c0)
DEBUG:telethon.network.mtprotosender:Encrypting 1 message(s) in 32 bytes for sending
DEBUG:telethon.network.mtprotosender:Encrypted messages put in a queue to be sent
DEBUG:telethon.network.mtprotosender:Waiting for messages to send...
DEBUG:telethon.extensions.messagepacker:Assigned msg_id = 7189537204402837432 to MsgsAck (7f29d8a7b7f0)
DEBUG:telethon.network.mtprotosender:Encrypting 1 message(s) in 60 bytes for sending
DEBUG:telethon.network.mtprotosender:Encrypted messages put in a queue to be sent
DEBUG:telethon.network.mtprotosender:Waiting for messages to send...
DEBUG:telethon.network.mtprotosender:Handling RPC result for message 7189537204400215784
DEBUG:telethon.network.mtprotosender:Receiving items from the network...
DEBUG:telethon.extensions.messagepacker:Assigned msg_id = 7189537205717031756 to MsgsAck (7f29d88d1690)
DEBUG:telethon.network.mtprotosender:Encrypting 1 message(s) in 36 bytes for sending
DEBUG:telethon.network.mtprotosender:Encrypted messages put in a queue to be sent
DEBUG:telethon.network.mtprotosender:Waiting for messages to send...
DEBUG:telethon.extensions.messagepacker:Assigned msg_id = 7189537205720388692 to MsgsAck (7f29d88d15a0)
DEBUG:telethon.network.mtprotosender:Encrypting 1 message(s) in 36 bytes for sending
DEBUG:telethon.network.mtprotosender:Encrypted messages put in a queue to be sent
DEBUG:telethon.network.mtprotosender:Waiting for messages to send...
DEBUG:telethon.extensions.messagepacker:Assigned msg_id = 7189537205730562488 to SendCodeRequest (7f29d8a7bdc0)
DEBUG:telethon.network.mtprotosender:Encrypting 1 message(s) in 84 bytes for sending
DEBUG:telethon.network.mtprotosender:Encrypted messages put in a queue to be sent
DEBUG:telethon.network.mtprotosender:Waiting for messages to send...
DEBUG:telethon.network.mtprotosender:Handling RPC result for message 7189537205730562488
DEBUG:telethon.network.mtprotosender:Receiving items from the network...
DEBUG:telethon.extensions.messagepacker:Assigned msg_id = 7189537206757504740 to GetStateRequest (7f29d88d16f0)
DEBUG:telethon.network.mtprotosender:Encrypting 1 message(s) in 20 bytes for sending
DEBUG:telethon.network.mtprotosender:Encrypted messages put in a queue to be sent
DEBUG:telethon.network.mtprotosender:Waiting for messages to send...
DEBUG:telethon.extensions.messagepacker:Assigned msg_id = 7189537206768745700 to MsgsAck (7f29d88d1750)
DEBUG:telethon.network.mtprotosender:Encrypting 1 message(s) in 36 bytes for sending
DEBUG:telethon.network.mtprotosender:Encrypted messages put in a queue to be sent
DEBUG:telethon.network.mtprotosender:Waiting for messages to send...
DEBUG:telethon.network.mtprotosender:Handling RPC result for message 7189537206757504740
DEBUG:telethon.network.mtprotosender:Receiving items from the network...
DEBUG:telethon.extensions.messagepacker:Assigned msg_id = 7189537207230298320 to MsgsAck (7f29d88d0ca0)
DEBUG:telethon.network.mtprotosender:Encrypting 1 message(s) in 36 bytes for sending
DEBUG:telethon.network.mtprotosender:Encrypted messages put in a queue to be sent
DEBUG:telethon.network.mtprotosender:Waiting for messages to send...
DEBUG:telethon.extensions.messagepacker:Assigned msg_id = 7189537207232718748 to MsgsAck (7f29d88d1870)
DEBUG:telethon.network.mtprotosender:Encrypting 1 message(s) in 36 bytes for sending
INFO:telethon.network.mtprotosender:Disconnecting from 91.108.56.159:443/TcpFull...
DEBUG:telethon.network.mtprotosender:Closing current connection...
DEBUG:telethon.network.mtprotosender:Encrypted messages put in a queue to be sent
DEBUG:telethon.network.mtprotosender:Cancelling 0 pending message(s)...
INFO:telethon.network.mtprotosender:Disconnection from 91.108.56.159:443/TcpFull complete!
Traceback (most recent call last):
File "/app/telegram_authenticate_unattended.py", line 60, in <module>
loop.run_until_complete(authenticate())
File "/usr/local/lib/python3.10/asyncio/base_events.py", line 646, in run_until_complete
return future.result()
File "/app/telegram_authenticate_unattended.py", line 53, in authenticate
await client.run_until_disconnected()
File "/usr/local/lib/python3.10/site-packages/telethon/client/updates.py", line 32, in _run_until_disconnected
await self(functions.updates.GetStateRequest())
File "/usr/local/lib/python3.10/site-packages/telethon/client/users.py", line 30, in __call__
return await self._call(self._sender, request, ordered=ordered)
File "/usr/local/lib/python3.10/site-packages/telethon/client/users.py", line 84, in _call
result = await future
telethon.errors.rpcerrorlist.AuthKeyUnregisteredError: The key is not registered in the system (caused by GetStateRequest)

除非您成功登录(start),否则无法获得新的消息事件。

如果您正在尝试使用Telegram Bot实现登录流程,您可以签出以下代码:https://gitlab.com/spechide/GetUniBorgBot/-/blob/master/bot.py#L80

最新更新