diff --git a/td/telegram/MessageContent.cpp b/td/telegram/MessageContent.cpp index 9aa6c52e6..43f704d9b 100644 --- a/td/telegram/MessageContent.cpp +++ b/td/telegram/MessageContent.cpp @@ -6332,6 +6332,18 @@ vector get_message_content_file_ids(const MessageContent *content, const } } +StoryFullId get_message_content_story_full_id(const Td *td, const MessageContent *content) { + CHECK(content != nullptr); + switch (content->get_type()) { + case MessageContentType::Text: + return td->web_pages_manager_->get_web_page_story_full_id(static_cast(content)->web_page_id); + case MessageContentType::Story: + return static_cast(content)->story_full_id; + default: + return StoryFullId(); + } +} + string get_message_content_search_text(const Td *td, const MessageContent *content) { switch (content->get_type()) { case MessageContentType::Text: { diff --git a/td/telegram/MessageContent.h b/td/telegram/MessageContent.h index b30d3d378..b63275a80 100644 --- a/td/telegram/MessageContent.h +++ b/td/telegram/MessageContent.h @@ -237,6 +237,8 @@ FileId get_message_content_thumbnail_file_id(const MessageContent *content, cons vector get_message_content_file_ids(const MessageContent *content, const Td *td); +StoryFullId get_message_content_story_full_id(const Td *td, const MessageContent *content); + string get_message_content_search_text(const Td *td, const MessageContent *content); bool update_message_content_extended_media(MessageContent *content, diff --git a/td/telegram/WebPagesManager.cpp b/td/telegram/WebPagesManager.cpp index 2f5badbf7..d907fb90f 100644 --- a/td/telegram/WebPagesManager.cpp +++ b/td/telegram/WebPagesManager.cpp @@ -1809,6 +1809,14 @@ int32 WebPagesManager::get_web_page_media_duration(const WebPage *web_page) cons return -1; } +StoryFullId WebPagesManager::get_web_page_story_full_id(WebPageId web_page_id) const { + const WebPage *web_page = get_web_page(web_page_id); + if (web_page == nullptr || web_page->story_full_ids.empty()) { + return StoryFullId(); + } + return web_page->story_full_ids[0]; +} + vector WebPagesManager::get_web_page_user_ids(WebPageId web_page_id) const { const WebPage *web_page = get_web_page(web_page_id); vector user_ids; diff --git a/td/telegram/WebPagesManager.h b/td/telegram/WebPagesManager.h index b299d19e1..3baca8ff7 100644 --- a/td/telegram/WebPagesManager.h +++ b/td/telegram/WebPagesManager.h @@ -87,6 +87,8 @@ class WebPagesManager final : public Actor { int32 get_web_page_media_duration(WebPageId web_page_id) const; + StoryFullId get_web_page_story_full_id(WebPageId web_page_id) const; + vector get_web_page_user_ids(WebPageId web_page_id) const; void on_story_changed(StoryFullId story_full_id);