diff --git a/post_parser.py b/post_parser.py index bbc0962..cbba0ad 100644 --- a/post_parser.py +++ b/post_parser.py @@ -198,12 +198,12 @@ class PostParser: return "📎 Document" if message.media == MessageMediaType.PHOTO: return "📷 Photo" if message.media == MessageMediaType.VIDEO: return "🎥 Video" + if message.media == MessageMediaType.STORY: return "📱 Story" if message.media == MessageMediaType.ANIMATION: return "🎞 GIF" if message.media == MessageMediaType.AUDIO: return "🎵 Audio" if message.media == MessageMediaType.VOICE: return "🎤 Voice" if message.media == MessageMediaType.VIDEO_NOTE: return "📱 Video circle" if message.media == MessageMediaType.STICKER: return "🎯 Sticker" - if message.media == MessageMediaType.STORY: return "📱 Story" # Web pages (if no text or media title) if message.web_page: @@ -327,9 +327,13 @@ class PostParser: len((message.text or message.caption or '').strip()) <= 200): flags.append("video") - # Add flag "story" if the message contains a story + # Add flag "story" if the message is a story if message.media == MessageMediaType.STORY: flags.append("story") + if message.story and message.story.media == MessageMediaType.VIDEO: + flags.append("video") + elif message.story and message.story.media == MessageMediaType.PHOTO: + flags.append("photo") # Add flag "audio" if the message media is AUDIO if (message.media in [MessageMediaType.AUDIO, MessageMediaType.VOICE] and @@ -638,25 +642,6 @@ class PostParser: if message.media and message.media != "MessageMediaType.POLL": content_media.append(f'
') - # Handle stories - if message.media == MessageMediaType.STORY and hasattr(message, "story"): - story = message.story - if story and hasattr(story, "video") and story.video: - story_file_id = story.video.file_unique_id - if story_file_id: - sender_username = getattr(story.sender_chat, "username", None) - channel_username = sender_username or self.get_channel_username(message) - if channel_username: - file = f"{channel_username}/{story.id}/{story_file_id}" - digest = generate_media_digest(file) - url = f"{base_url}/media/{file}/{digest}" - content_media.append(f'') - content_media.append(f'
📱 Story from @{channel_username}
') - logger.debug(f"Collected story video file: {channel_username}/{story.id}/{story_file_id}") - content_media.append('
') - return '\n'.join(content_media) - file_unique_id = self._get_file_unique_id(message) if file_unique_id is None: logger.debug(f"File unique id not found for message {message.id}") @@ -697,6 +682,14 @@ class PostParser: elif message.media == MessageMediaType.VIDEO_NOTE: content_media.append(f'') + elif message.media == MessageMediaType.STORY: + if hasattr(message, 'story') and message.story: + if message.story.media == MessageMediaType.VIDEO and hasattr(message.story, 'video'): + content_media.append(f'') + elif message.story.media == MessageMediaType.PHOTO and hasattr(message.story, 'photo'): + content_media.append(f'') elif message.media == MessageMediaType.AUDIO: mime_type = getattr(message.audio, 'mime_type', 'audio/mpeg') content_media.append(f'