diff --git a/Telegram/SourceFiles/data/data_peer_bot_commands.cpp b/Telegram/SourceFiles/data/data_peer_bot_commands.cpp index 8adc31a9e..2487dc768 100644 --- a/Telegram/SourceFiles/data/data_peer_bot_commands.cpp +++ b/Telegram/SourceFiles/data/data_peer_bot_commands.cpp @@ -17,11 +17,16 @@ ChatBotCommands::Changed ChatBotCommands::update( clear(); } else { for (const auto &commands : list) { - auto &value = operator[](commands.userId); - changed |= commands.commands.empty() - ? remove(commands.userId) - : !ranges::equal(value, commands.commands); - value = commands.commands; + if (commands.commands.empty()) { + changed |= remove(commands.userId); + } else { + auto &value = operator[](commands.userId); + const auto isEqual = ranges::equal(value, commands.commands); + changed |= !isEqual; + if (!isEqual) { + value = commands.commands; + } + } } } return changed;