diff --git a/src/parsing/html_parser.py b/src/parsing/html_parser.py
index 18828b47ce..0f6d3e58a9 100644
--- a/src/parsing/html_parser.py
+++ b/src/parsing/html_parser.py
@@ -110,7 +110,7 @@ async def _parse_item(self, soup: Union[PageElement, BeautifulSoup, Tag, Navigab
columns = row.findAll(('td', 'th'))
if len(rows) > 1 and len(columns) > 1: # allow single-row or single-column tables
if env.TABLE_TO_IMAGE:
- self.media.add(UploadedImage(convert_table_to_png(str(soup))))
+ self.media.add(UploadedImage(convert_table_to_png(str(soup)), 'table.png'))
return None
for j, column in enumerate(columns): # transpose single-row tables into single-column tables
row_content = await self._parse_item(column)
diff --git a/src/parsing/medium.py b/src/parsing/medium.py
index 49f5560f72..6e3746d697 100644
--- a/src/parsing/medium.py
+++ b/src/parsing/medium.py
@@ -634,9 +634,10 @@ class Animation(Image):
class UploadedImage(AbstractMedium):
type: str = IMAGE
- def __init__(self, file: Union[bytes, BytesIO, Callable, Awaitable]):
+ def __init__(self, file: Union[bytes, BytesIO, Callable, Awaitable], file_name: str = None):
super().__init__()
self.file = file
+ self.file_name = file_name
self.uploaded_file: Union[InputFile, InputFileBig, None] = None
def telegramize(self) -> Optional[InputMediaUploadedPhoto]:
@@ -705,7 +706,7 @@ async def validate(self, flush: bool = False, *_, **__) -> bool:
raise ValueError(f'File must be bytes or BytesIO, got {type(self.file)}')
if isinstance(self.file, BytesIO):
self.file.seek(0)
- self.uploaded_file = await env.bot.upload_file(self.file)
+ self.uploaded_file = await env.bot.upload_file(self.file, file_name=self.file_name)
if isinstance(self.file, BytesIO):
self.file.close()
self.valid = True