fix(api): use MessageMediaType enum for poll checks

Replace string comparisons with the MessageMediaType.POLL enum and add the
necessary import. This ensures poll messages are correctly identified and
skipped during media processing.
This commit is contained in:
vvzvlad
2026-04-16 03:46:03 +03:00
parent 9f9e952c4e
commit cd4e6f0c82
2 changed files with 4 additions and 3 deletions
+3 -2
View File
@@ -30,6 +30,7 @@ import sys
import magic
from pyrogram import errors
from pyrogram.types import Message
from pyrogram.enums import MessageMediaType
from fastapi import FastAPI, HTTPException, Response, Request
from fastapi.responses import HTMLResponse, FileResponse, StreamingResponse
from telegram_client import TelegramClient
@@ -139,7 +140,7 @@ if __name__ == "__main__":
async def find_file_id_in_message(message: Message, file_unique_id: str) -> Union[str, None]:
"""Find file_id by checking all possible media types in message"""
if message.media == "MessageMediaType.POLL":
if message.media == MessageMediaType.POLL:
logger.debug(f"Message {message.id} is a poll, skipping media search")
return None
@@ -360,7 +361,7 @@ async def download_media_file(channel: Union[str, int], post_id: int, file_uniqu
logger.error(f"Timeout getting messages for {channel}/{post_id}")
raise HTTPException(status_code=504, detail="Request timeout")
if message.media == "MessageMediaType.POLL":
if message.media == MessageMediaType.POLL:
return None, False
# Check if it is a video and if its size exceeds 100 MB
+1 -1
View File
@@ -650,7 +650,7 @@ class PostParser:
content_media = []
base_url = Config['pyrogram_bridge_url']
if message.media and message.media != "MessageMediaType.POLL":
if message.media and message.media != MessageMediaType.POLL:
content_media.append(f'<div class="message-media">')
file_unique_id = self._get_file_unique_id(message)