Compare commits

...

2 commits

Author SHA1 Message Date
rick
8ccaf90646
Merge d6b2227e02 into cb38d6a02b 2025-08-11 07:37:45 +00:00
rpt0
d6b2227e02 fix 2025-08-11 07:37:27 +00:00
2 changed files with 7 additions and 4 deletions

View file

@ -77,7 +77,8 @@ class SendGift:
""" """
peer = await self.resolve_peer(chat_id) peer = await self.resolve_peer(chat_id)
text, entities = (await utils.parse_text_entities(self, text, parse_mode, entities)).values() result = await utils.parse_text_entities(self, text, parse_mode, entities)
text, entities = result["message"], result["entities"]
invoice = raw.types.InputInvoiceStarGift( invoice = raw.types.InputInvoiceStarGift(
peer=peer, peer=peer,

View file

@ -436,13 +436,15 @@ async def parse_text_entities(
entities: List["types.MessageEntity"] entities: List["types.MessageEntity"]
) -> Dict[str, Union[str, List[raw.base.MessageEntity]]]: ) -> Dict[str, Union[str, List[raw.base.MessageEntity]]]:
if entities: if entities:
# Inject the client instance because parsing user mentions requires it
for entity in entities: for entity in entities:
entity._client = client entity._client = client
text, entities = text, [await entity.write() for entity in entities] or None text, entities = text, [await entity.write() for entity in entities] or []
else: else:
text, entities = (await client.parser.parse(text, parse_mode)).values() parsed = await client.parser.parse(text, parse_mode)
text, entities = parsed["message"], parsed.get("entities") or []
return { return {
"message": text, "message": text,