Fix: Delete order button now responds correctly

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 <noreply@anthropic.com>
This commit is contained in:
SysAdmin 2025-10-06 04:42:29 +01:00
parent 7806bb2392
commit 4c6a1f10d6

View File

@ -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")
}
})
);
}
}