Fix: Prevent 'message not modified' error when browsing products
**Issue**: When users clicked "Browse Products" multiple times, Telegram API rejected the edit request with "message is not modified" error, causing the browse functionality to appear broken. **Root Cause**: HandleBrowse method used EditMessageTextAsync directly, which throws an exception when the message content is identical. **Solution**: - Replaced direct EditMessageTextAsync with SafeEditMessageAsync - SafeEditMessageAsync catches ApiRequestException for "message is not modified" - Silently handles duplicate edits without user-facing errors **Testing**: - Deployed to production (container: e1467c559ff6) - Bot running as @Slukdevukbot with TOR enabled - Categories API confirmed working (3 categories, 10 products) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
5a834dcbf8
commit
7e2d8e50db
@ -244,12 +244,13 @@ namespace TeleBot.Handlers
|
|||||||
|
|
||||||
var categories = await _shopService.GetCategoriesAsync();
|
var categories = await _shopService.GetCategoriesAsync();
|
||||||
|
|
||||||
await bot.EditMessageTextAsync(
|
await SafeEditMessageAsync(
|
||||||
|
bot,
|
||||||
message.Chat.Id,
|
message.Chat.Id,
|
||||||
message.MessageId,
|
message.MessageId,
|
||||||
MessageFormatter.FormatCategories(categories),
|
MessageFormatter.FormatCategories(categories),
|
||||||
parseMode: Telegram.Bot.Types.Enums.ParseMode.Markdown,
|
Telegram.Bot.Types.Enums.ParseMode.Markdown,
|
||||||
replyMarkup: MenuBuilder.CategoryMenu(categories)
|
MenuBuilder.CategoryMenu(categories)
|
||||||
);
|
);
|
||||||
session.State = SessionState.BrowsingCategories;
|
session.State = SessionState.BrowsingCategories;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user