diff --git a/tgpy/handlers/__init__.py b/tgpy/handlers/__init__.py index ce9c117..0dd7cf0 100644 --- a/tgpy/handlers/__init__.py +++ b/tgpy/handlers/__init__.py @@ -49,21 +49,20 @@ async def on_message_edited(event: events.MessageEdited.Event) -> None: message_data = message_design.parse_message(message) reactions_fix_result = reactions_fix.check_hash(message) try: - match reactions_fix_result: - case ReactionsFixResult.ignore: - return - case ReactionsFixResult.show_warning: - if message_data.is_tgpy_message: - message = await message_design.edit_message( - message, message_data.code, 'Edit message again to evaluate' - ) - else: - message = await handle_message(message, only_show_warning=True) - return - case ReactionsFixResult.evaluate: - pass - case _: - raise ValueError(f'Bad reactions fix result: {reactions_fix_result}') + if reactions_fix_result == ReactionsFixResult.ignore: + return + elif reactions_fix_result == ReactionsFixResult.show_warning: + if message_data.is_tgpy_message: + message = await message_design.edit_message( + message, message_data.code, 'Edit message again to evaluate' + ) + else: + message = await handle_message(message, only_show_warning=True) + return + elif reactions_fix_result == ReactionsFixResult.evaluate: + pass + else: + raise ValueError(f'Bad reactions fix result: {reactions_fix_result}') if not message_data.is_tgpy_message: message = await handle_message(message) diff --git a/tgpy/message_design.py b/tgpy/message_design.py index 8db597d..85c5b8a 100644 --- a/tgpy/message_design.py +++ b/tgpy/message_design.py @@ -1,6 +1,7 @@ import sys import traceback as tb from dataclasses import dataclass +from typing import Optional from telethon.tl.custom import Message from telethon.tl.types import MessageEntityBold, MessageEntityCode, MessageEntityTextUrl @@ -83,11 +84,11 @@ async def edit_message( @dataclass class MessageParseResult: is_tgpy_message: bool - code: str | None - result: str | None + code: Optional[str] + result: Optional[str] -def get_title_entity(message: Message) -> MessageEntityTextUrl | None: +def get_title_entity(message: Message) -> Optional[MessageEntityTextUrl]: for e in message.entities or []: if isinstance(e, MessageEntityTextUrl) and e.url == TITLE_URL: return e