电报documentation声明:
收到几乎所有消息(除了一些纯粹的消息 服务以及协议中使用的纯文本消息 用于创建授权密钥)必须得到确认。这需要 使用以下服务信息(不需要 确认):
MsgsAck
This thread暗示将acks发送回服务器,但不是发送这些ack的机制。我尝试向服务器发送msgs_ack
和{{1}}但它们失败了,因为它们是数据类型,而不是构造函数(方法)。这引出了两个问题:
答案 0 :(得分:1)
解决这个问题的简单方法是:
1)累积从服务器收到的msg_ids - 那些需要按照文档中的说明进行确认:这些都是内容相关的消息,而不是服务消息
2)每次要向服务器发送新消息时,都可以将累积的确认消息与要发送的消息一起包含在消息容器中。
3)如果你已经累积了一段时间(例如X分钟)确认了msg_ids,而没有机会通过上面的步骤2)清除它们,那么你只需将确认消息发送回电报,并将msg_ids列表发送给得到承认。
要发送确认,请使用此:
msgs_ack#62d6b459 msg_ids:Vector<long> = MsgsAck;