From 42e33ab54d08ef0868f037c10e24d4af3bee0fc2 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sat, 10 Mar 2018 14:55:37 +0200 Subject: [PATCH] Add temporary patch for TypeMessageEntity --- mautrix_telegram/bot.py | 2 +- mautrix_telegram/formatter/from_matrix.py | 15 ++++++++++++--- mautrix_telegram/formatter/from_telegram.py | 13 +++++++++++-- 3 files changed, 24 insertions(+), 6 deletions(-) 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