响应telegram.org API

时间:2016-09-07 19:46:28

标签: python telegram

在我的电报客户端中,我经历了看似典型的创建有效会话的过程:

  1. 生成随机session_id
  2. 创建验证密钥
  3. 使用initConnection
  4. 致电getNearestDc
  5. 切换到最近的DC,其中包含一个新的随机session_id和 AUTH_KEY
  6. 尝试sendCode命令,导致另一次切换到。{1}} 纠正DC
  7. 在此过程的各个阶段,我从服务器收到MessageContainers,表示状态和MsgAcks等。这是预期的,我现在正在解码它们。其中一些消息的类型为new_session_created,如下所示:

    {'msg': {u'new_session_created': {u'first_msg_id': 6327252208304908288L, u'unique_id': -4911750325772918873L, u'server_salt': 6799011375684265530L}}, 'seqno': 1, 'msg_id': 6327252210221112321L}
    

    我当前的server_salt与此消息中的不同。我是否需要切换到使用新盐?那对unique_id来说,是我的新session_id还是我只是忽略这些消息?

    将所有这些分类后,我需要在下次客户端启动时保存哪个部分会话? session_id,auth_key,auth_key_id?

1 个答案:

答案 0 :(得分:1)

保存并重新使用您刚收到的这种新盐,用于本次会议的下一次请求。

要进行子请求登录,只需session_idrecent_saltauth_key

Auth_key_id是根据auth_key计算的,因此您可能会,也可能不会选择存储