Fix retrieving only 1 message in /history

calls
Bohdan Horbeshko 2 years ago
parent 077edae986
commit 570601d1b8

@ -676,12 +676,21 @@ func (c *Client) ProcessChatCommand(chatID int64, cmdline string) (string, bool)
}
}
messages, err := c.client.GetChatHistory(&client.GetChatHistoryRequest{
ChatID: chatID,
Limit: limit,
})
if err != nil {
return err.Error(), true
var messages *client.Messages
var err error
for _ = range make([]struct{}, 2) {
messages, err = c.client.GetChatHistory(&client.GetChatHistoryRequest{
ChatID: chatID,
Limit: limit,
})
if err != nil {
return err.Error(), true
}
// TDlib yields only the latest message on the first request
if !(len(messages.Messages) == 1 && limit > 1) {
break
}
}
c.sendMessagesReverse(chatID, messages.Messages)

Loading…
Cancel
Save