diff --git a/telegram/commands.go b/telegram/commands.go index 82dca91..56945bc 100644 --- a/telegram/commands.go +++ b/telegram/commands.go @@ -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)