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, но ничего не работает для меня.
Спасибо за вашу помощь и потраченное время.