diff --git a/td/generate/scheme/td_api.tl b/td/generate/scheme/td_api.tl index 767d5d37e..cb949c692 100644 --- a/td/generate/scheme/td_api.tl +++ b/td/generate/scheme/td_api.tl @@ -2270,8 +2270,8 @@ chatEventPollStopped message:message = ChatEventAction; //@description A message was pinned @message Pinned message chatEventMessagePinned message:message = ChatEventAction; -//@description A message was unpinned -chatEventMessageUnpinned = ChatEventAction; +//@description A message was unpinned @message Unpinned message +chatEventMessageUnpinned message:message = ChatEventAction; //@description A new member joined the chat chatEventMemberJoined = ChatEventAction; diff --git a/td/generate/scheme/td_api.tlo b/td/generate/scheme/td_api.tlo index 1fced6629..89bfec09b 100644 Binary files a/td/generate/scheme/td_api.tlo and b/td/generate/scheme/td_api.tlo differ diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index cd8670745..c9d96f789 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -30468,10 +30468,15 @@ tl_object_ptr MessagesManager::get_chat_event_action_ob parse_telegram_api_message(std::move(action->message_), false, "channelAdminLogEventActionUpdatePinned"), true); if (message.second == nullptr) { - return make_tl_object(); + LOG(ERROR) << "Failed to get pinned message"; + return nullptr; + } + auto message_object = get_message_object(message.first, message.second.get(), true); + if (message.second->is_pinned) { + return make_tl_object(std::move(message_object)); + } else { + return make_tl_object(std::move(message_object)); } - return make_tl_object( - get_message_object(message.first, message.second.get(), true)); } case telegram_api::channelAdminLogEventActionEditMessage::ID: { auto action = move_tl_object_as(action_ptr);