WTelegramClient Messages_GetBotCallbackAnswer всегда выдает ошибку BOT_RESPONSE_TIMEOUT

Я пытаюсь написать простой бот на C# .net8-0, и мне нужно нажать несколько встроенных кнопок в сообщениях, но я всегда вижу ошибку BOT_RESPONSE_TIMEOUT, вот мой код

bool result = false;
if (GetInputPeer(chatId, out InputPeer? inputPeer) && inputPeer is not null)
{
    try
    {
        // get last messages in chat
        var history = await Client.Messages_GetHistory(inputPeer, limit: 50); // taking more messages for reliability
        Console.WriteLine($"Found {history.Messages.Length} messages in history.");

        // finding first message with needed inline button by callbackData
        foreach (var messageBase in history.Messages)
        {
            if (result) break;
            if (messageBase is Message message && message.reply_markup is ReplyInlineMarkup replyMarkup)
            {
                Console.WriteLine($"Found message with inline buttons: ID={message.ID}");

                // sorting out buttons lines 
                foreach (var row in replyMarkup.rows)
                {
                    if (result) break;
                    foreach (var button in row.buttons)
                    {
                        if (result) break;
                        if (button is KeyboardButtonCallback callbackButton &&
                            callbackButton.data.SequenceEqual(Encoding.UTF8.GetBytes(inlineButtonCallbackData)))
                        {
                            Console.WriteLine($"Found matching inline button with callback data: {inlineButtonCallbackData}");

                            // pressing inline button
                            var response = await Client.Messages_GetBotCallbackAnswer(inputPeer, message.ID, callbackButton.data);  // 
                            Console.WriteLine("Button pressed successfully.");
                            result = true; // break after success press
                            break;
                        }
                    }
                }
            }
        }

        if (!result) Console.WriteLine("No matching button with specified callback data found.");
    }
    catch (Exception ex)
    {
        Console.WriteLine($"Error pressing inline button: {ex.Message}");
    }
}
else
{
    Console.WriteLine($"InputPeer is null, chatId: {chatId} is skipped!");
}
return result;

Метод GetInputPeer работает отлично, проблема только с Messages_GetBotCallbackAnswer, возможно она из-за моего кода, но я так не думаю. Я попытался поискать в Google, Stackoverflow и спросить Chatgpt, но ничего не работает для меня.

Спасибо за вашу помощь и потраченное время.


Ответы (0 шт):