From 4c6a1f10d6f6d70e4e59e10a90ffbc677c58d91d Mon Sep 17 00:00:00 2001 From: SysAdmin Date: Mon, 6 Oct 2025 04:42:29 +0100 Subject: [PATCH] Fix: Delete order button now responds correctly MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Root cause: Callback was answered twice (line 68 + HandleDeleteOrder) - Telegram only allows answering callback query once - Second attempt threw exception, preventing message edit - Removed duplicate AnswerCallbackQueryAsync calls from HandleDeleteOrder - Added proper error message for failed delete attempts - Now shows success/failure via message edit instead of callback answer 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- TeleBot/TeleBot/Handlers/CallbackHandler.cs | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/TeleBot/TeleBot/Handlers/CallbackHandler.cs b/TeleBot/TeleBot/Handlers/CallbackHandler.cs index 6c3812d..ebaa5f8 100644 --- a/TeleBot/TeleBot/Handlers/CallbackHandler.cs +++ b/TeleBot/TeleBot/Handlers/CallbackHandler.cs @@ -1243,15 +1243,24 @@ namespace TeleBot.Handlers } }) ); - - await bot.AnswerCallbackQueryAsync(callbackQuery.Id, "Order deleted successfully"); } else { - await bot.AnswerCallbackQueryAsync( - callbackQuery.Id, - "Failed to delete order. It may have already been processed.", - showAlert: true + await bot.EditMessageTextAsync( + callbackQuery.Message!.Chat.Id, + callbackQuery.Message.MessageId, + "❌ *Failed to Delete Order*\n\n" + + "This order may have already been processed and cannot be cancelled.\n\n" + + "Only orders in 'Pending Payment' status can be deleted.", + parseMode: Telegram.Bot.Types.Enums.ParseMode.Markdown, + replyMarkup: new InlineKeyboardMarkup(new[] + { + new[] + { + InlineKeyboardButton.WithCallbackData("⬅️ Back to Orders", "orders"), + InlineKeyboardButton.WithCallbackData("🏠 Main Menu", "menu") + } + }) ); } }