diff --git a/mautrix_telegram/bot.py b/mautrix_telegram/bot.py index b1d9e2ca..3e0b7cb9 100644 --- a/mautrix_telegram/bot.py +++ b/mautrix_telegram/bot.py @@ -229,7 +229,7 @@ class Bot(AbstractUser): elif isinstance(action, MessageActionChatDeleteUser) and action.user_id == self.tgid: self.remove_chat(to_id) - async def update(self, update: TypeUpdate): + async def update(self, update): if not isinstance(update, (UpdateNewMessage, UpdateNewChannelMessage)): return if isinstance(update.message, MessageService): diff --git a/mautrix_telegram/formatter/from_matrix.py b/mautrix_telegram/formatter/from_matrix.py index aadc7b26..768643a6 100644 --- a/mautrix_telegram/formatter/from_matrix.py +++ b/mautrix_telegram/formatter/from_matrix.py @@ -17,16 +17,25 @@ from html import unescape from html.parser import HTMLParser from collections import deque -from typing import Optional, List, Tuple, Type, Callable, Dict +from typing import Optional, List, Tuple, Type, Callable, Dict, Union import math import re import logging -from telethon_aio.tl.types import (TypeMessageEntity, MessageEntityMention, +from telethon_aio.tl.types import (MessageEntityMention, InputMessageEntityMentionName, MessageEntityEmail, MessageEntityUrl, MessageEntityTextUrl, MessageEntityBold, MessageEntityItalic, MessageEntityCode, MessageEntityPre, - MessageEntityBotCommand, InputUser) + MessageEntityBotCommand, MessageEntityHashtag, + MessageEntityMentionName, InputUser) + +try: + from telethon_aio.tl.types import TypeMessageEntity +except ImportError: + TypeMessageEntity = Union[ + MessageEntityMention, MessageEntityHashtag, MessageEntityBotCommand, MessageEntityUrl, + MessageEntityEmail, MessageEntityBold, MessageEntityItalic, MessageEntityCode, + MessageEntityPre, MessageEntityTextUrl, MessageEntityMentionName] from ..context import Context from .. import user as u, puppet as pu, portal as po diff --git a/mautrix_telegram/formatter/from_telegram.py b/mautrix_telegram/formatter/from_telegram.py index 2ec2d8f9..4cd6de00 100644 --- a/mautrix_telegram/formatter/from_telegram.py +++ b/mautrix_telegram/formatter/from_telegram.py @@ -15,7 +15,7 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . from html import escape -from typing import Optional, List, Tuple +from typing import Optional, List, Tuple, Union try: from lxml.html.diff import htmldiff @@ -28,7 +28,16 @@ from telethon_aio.tl.types import (MessageEntityMention, MessageEntityMentionNam MessageEntityEmail, MessageEntityUrl, MessageEntityTextUrl, MessageEntityBold, MessageEntityItalic, MessageEntityCode, MessageEntityPre, MessageEntityBotCommand, Message, PeerChannel, - MessageEntityHashtag, TypeMessageEntity) + MessageEntityHashtag) + +try: + from telethon_aio.tl.types import TypeMessageEntity +except ImportError: + TypeMessageEntity = Union[ + MessageEntityMention, MessageEntityHashtag, MessageEntityBotCommand, MessageEntityUrl, + MessageEntityEmail, MessageEntityBold, MessageEntityItalic, MessageEntityCode, + MessageEntityPre, MessageEntityTextUrl, MessageEntityMentionName] + from mautrix_appservice import MatrixRequestError from mautrix_appservice.intent_api import IntentAPI