确认telegram.org服务器响应

时间:2016-09-27 17:39:16

标签: api telegram

电报documentation声明:

  

收到几乎所有消息(除了一些纯粹的消息   服务以及协议中使用的纯文本消息   用于创建授权密钥)必须得到确认。这需要   使用以下服务信息(不需要   确认):

MsgsAck

This thread暗示将acks发送回服务器,但不是发送这些ack的机制。我尝试向服务器发送msgs_ack和{{1}}但它们失败了,因为它们是数据类型,而不是构造函数(方法)。这引出了两个问题:

  1. 电报客户端如何将电子邮件发送回服务器? (单独和作为方法调用的一部分)
  2. 电报客户端如何区分需要ack的服务器响应和不需要ack的服务器响应? (看来回复包括req_msg_id需要一个确认,但我想要确认)

1 个答案:

答案 0 :(得分:1)

解决这个问题的简单方法是:

1)累积从服务器收到的msg_ids - 那些需要按照文档中的说明进行确认:这些都是内容相关的消息,而不是服务消息

2)每次要向服务器发送新消息时,都可以将累积的确认消息与要发送的消息一起包含在消息容器中。

3)如果你已经累积了一段时间(例如X分钟)确认了msg_ids,而没有机会通过上面的步骤2)清除它们,那么你只需将确认消息发送回电报,并将msg_ids列表发送给得到承认。

要发送确认,请使用此:

msgs_ack#62d6b459 msg_ids:Vector<long> = MsgsAck;