Fix retrieving only 1 message in /history

This commit is contained in:
Bohdan Horbeshko 2022-01-06 04:27:25 -05:00
parent 077edae986
commit 570601d1b8

View file

@ -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)