From fb237ca65eb7becd92853ddc4fa612333df9857a Mon Sep 17 00:00:00 2001 From: Khamidov Amal Date: Tue, 13 Oct 2020 15:48:53 +0500 Subject: [PATCH] feat(InputFile): adding Pathlib to supporting types for files --- aiogram/types/input_file.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/aiogram/types/input_file.py b/aiogram/types/input_file.py index 3c397395..7d6d83b2 100644 --- a/aiogram/types/input_file.py +++ b/aiogram/types/input_file.py @@ -4,6 +4,8 @@ import io import logging import os import secrets +from pathlib import Path +from typing import Union import aiohttp @@ -25,7 +27,7 @@ class InputFile(base.TelegramObject): https://core.telegram.org/bots/api#inputfile """ - def __init__(self, path_or_bytesio, filename=None, conf=None): + def __init__(self, path_or_bytesio: Union[str, io.IOBase, Path], filename=None, conf=None): """ :param path_or_bytesio: @@ -45,6 +47,11 @@ class InputFile(base.TelegramObject): elif isinstance(path_or_bytesio, _WebPipe): self._path = None self._file = path_or_bytesio + + elif isinstance(path_or_bytesio, Path): + self._file = path_or_bytesio.open("rb") + self._path = path_or_bytesio.resolve() + else: raise TypeError('Not supported file type.')