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'