From 570601d1b8aaaa82b4e618d84a9a95095ed5791a Mon Sep 17 00:00:00 2001 From: Bohdan Horbeshko Date: Thu, 6 Jan 2022 04:27:25 -0500 Subject: [PATCH] Fix retrieving only 1 message in /history --- telegram/commands.go | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) 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)