This commit is contained in:
rpt0 2025-08-11 07:37:27 +00:00
parent 36e7d8b13b
commit d6b2227e02
2 changed files with 7 additions and 4 deletions

View file

@ -77,7 +77,8 @@ class SendGift:
"""
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(
peer=peer,

View file

@ -436,13 +436,15 @@ async def parse_text_entities(
entities: List["types.MessageEntity"]
) -> Dict[str, Union[str, List[raw.base.MessageEntity]]]:
if entities:
# Inject the client instance because parsing user mentions requires it
for entity in entities:
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:
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 {
"message": text,