Add support for bridging spoilers
This commit is contained in:
@@ -95,5 +95,8 @@ class MatrixParser(BaseMatrixParser[TelegramMessage]):
|
|||||||
async def color_to_fstring(self, msg: TelegramMessage, color: str) -> TelegramMessage:
|
async def color_to_fstring(self, msg: TelegramMessage, color: str) -> TelegramMessage:
|
||||||
return msg
|
return msg
|
||||||
|
|
||||||
async def spoiler_to_fstring(self, msg: TelegramMessage, spoiler: str) -> TelegramMessage:
|
async def spoiler_to_fstring(self, msg: TelegramMessage, reason: str) -> TelegramMessage:
|
||||||
|
msg = msg.format(self.e.SPOILER)
|
||||||
|
if reason:
|
||||||
|
msg = msg.prepend(f"{reason}: ")
|
||||||
return msg
|
return msg
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ from telethon.tl.types import (
|
|||||||
MessageEntityMention as Mention,
|
MessageEntityMention as Mention,
|
||||||
MessageEntityMentionName as MentionName,
|
MessageEntityMentionName as MentionName,
|
||||||
MessageEntityPre as Pre,
|
MessageEntityPre as Pre,
|
||||||
|
MessageEntitySpoiler as Spoiler,
|
||||||
MessageEntityStrike as Strike,
|
MessageEntityStrike as Strike,
|
||||||
MessageEntityTextUrl as TextURL,
|
MessageEntityTextUrl as TextURL,
|
||||||
MessageEntityUnderline as Underline,
|
MessageEntityUnderline as Underline,
|
||||||
@@ -55,6 +56,7 @@ class TelegramEntityType(Enum):
|
|||||||
MENTION = Mention
|
MENTION = Mention
|
||||||
MENTION_NAME = InputMentionName
|
MENTION_NAME = InputMentionName
|
||||||
COMMAND = Command
|
COMMAND = Command
|
||||||
|
SPOILER = Spoiler
|
||||||
|
|
||||||
USER_MENTION = 1
|
USER_MENTION = 1
|
||||||
ROOM_MENTION = 2
|
ROOM_MENTION = 2
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ from telethon.tl.types import (
|
|||||||
MessageEntityMentionName,
|
MessageEntityMentionName,
|
||||||
MessageEntityPhone,
|
MessageEntityPhone,
|
||||||
MessageEntityPre,
|
MessageEntityPre,
|
||||||
|
MessageEntitySpoiler,
|
||||||
MessageEntityStrike,
|
MessageEntityStrike,
|
||||||
MessageEntityTextUrl,
|
MessageEntityTextUrl,
|
||||||
MessageEntityUnderline,
|
MessageEntityUnderline,
|
||||||
@@ -293,6 +294,8 @@ async def _telegram_entities_to_matrix(
|
|||||||
html.append(f"<font color='blue'>{entity_text}</font>")
|
html.append(f"<font color='blue'>{entity_text}</font>")
|
||||||
elif entity_type in (MessageEntityHashtag, MessageEntityCashtag, MessageEntityPhone):
|
elif entity_type in (MessageEntityHashtag, MessageEntityCashtag, MessageEntityPhone):
|
||||||
html.append(f"<font color='blue'>{entity_text}</font>")
|
html.append(f"<font color='blue'>{entity_text}</font>")
|
||||||
|
elif entity_type == MessageEntitySpoiler:
|
||||||
|
html.append(f"<span data-mx-spoiler>{entity_text}</span>")
|
||||||
else:
|
else:
|
||||||
skip_entity = True
|
skip_entity = True
|
||||||
last_offset = relative_offset + (0 if skip_entity else entity.length)
|
last_offset = relative_offset + (0 if skip_entity else entity.length)
|
||||||
|
|||||||
+2
-2
@@ -5,8 +5,8 @@ aiohttp>=3,<4
|
|||||||
yarl>=1,<2
|
yarl>=1,<2
|
||||||
mautrix>=0.14.0,<0.15
|
mautrix>=0.14.0,<0.15
|
||||||
#telethon>=1.24,<1.25
|
#telethon>=1.24,<1.25
|
||||||
# Fork to make session storage async
|
# Fork to make session storage async and update to layer 136
|
||||||
tulir-telethon==1.25.0a1
|
tulir-telethon==1.25.0a2
|
||||||
asyncpg>=0.20,<0.26
|
asyncpg>=0.20,<0.26
|
||||||
mako>=1,<2
|
mako>=1,<2
|
||||||
setuptools
|
setuptools
|
||||||
|
|||||||
Reference in New Issue
Block a user