Ignore stories and story replies properly

This commit is contained in:
Tulir Asokan
2023-08-19 12:08:12 +03:00
parent 4f2118c7ee
commit f7db298fda
@@ -44,9 +44,11 @@ from telethon.tl.types import (
MessageMediaGeoLive, MessageMediaGeoLive,
MessageMediaPhoto, MessageMediaPhoto,
MessageMediaPoll, MessageMediaPoll,
MessageMediaStory,
MessageMediaUnsupported, MessageMediaUnsupported,
MessageMediaVenue, MessageMediaVenue,
MessageMediaWebPage, MessageMediaWebPage,
MessageReplyStoryHeader,
PeerChannel, PeerChannel,
PeerUser, PeerUser,
Photo, Photo,
@@ -142,6 +144,7 @@ class TelegramMessageConverter:
MessageMediaUnsupported: self._convert_unsupported, MessageMediaUnsupported: self._convert_unsupported,
MessageMediaGame: self._convert_game, MessageMediaGame: self._convert_game,
MessageMediaContact: self._convert_contact, MessageMediaContact: self._convert_contact,
MessageMediaStory: self._convert_story,
} }
self._allowed_media = tuple(self._media_converters.keys()) self._allowed_media = tuple(self._media_converters.keys())
@@ -252,6 +255,8 @@ class TelegramMessageConverter:
) -> None: ) -> None:
if not evt.reply_to: if not evt.reply_to:
return return
elif isinstance(evt.reply_to, MessageReplyStoryHeader):
return
space = ( space = (
evt.peer_id.channel_id evt.peer_id.channel_id
if isinstance(evt, Message) and isinstance(evt.peer_id, PeerChannel) if isinstance(evt, Message) and isinstance(evt.peer_id, PeerChannel)
@@ -700,6 +705,17 @@ class TelegramMessageConverter:
) )
return ConvertedMessage(content=content) return ConvertedMessage(content=content)
@staticmethod
async def _convert_story(
source: au.AbstractUser, evt: Message, client: MautrixTelegramClient, **_
) -> ConvertedMessage:
content = await formatter.telegram_to_matrix(
evt, source, client, override_text="Stories are not yet supported"
)
content.msgtype = MessageType.NOTICE
content["fi.mau.telegram.unsupported"] = True
return ConvertedMessage(content=content)
def _parse_document_attributes(attributes: list[TypeDocumentAttribute]) -> DocAttrs: def _parse_document_attributes(attributes: list[TypeDocumentAttribute]) -> DocAttrs:
name, mime_type, is_sticker, sticker_alt, width, height = None, None, False, None, 0, 0 name, mime_type, is_sticker, sticker_alt, width, height = None, None, False, None, 0, 0