diff --git a/aiogram/utils/parts.py b/aiogram/utils/parts.py index e03f7bcc..b4bb9d67 100644 --- a/aiogram/utils/parts.py +++ b/aiogram/utils/parts.py @@ -15,12 +15,13 @@ def split_text(text: str, length: int = MAX_MESSAGE_LENGTH) -> typing.List[str]: return [text[i:i + length] for i in range(0, len(text), length)] -def safe_split_text(text: str, length: int = MAX_MESSAGE_LENGTH) -> typing.List[str]: +def safe_split_text(text: str, length: int = MAX_MESSAGE_LENGTH, split_separator: str = ' ') -> typing.List[str]: """ Split long text :param text: :param length: + :param split_separator :return: """ # TODO: More informative description @@ -30,7 +31,7 @@ def safe_split_text(text: str, length: int = MAX_MESSAGE_LENGTH) -> typing.List[ while temp_text: if len(temp_text) > length: try: - split_pos = temp_text[:length].rindex(' ') + split_pos = temp_text[:length].rindex(split_separator) except ValueError: split_pos = length if split_pos < length // 4 * 3: