async def _handle_matrix_text(self, sender_id: TelegramID,
                               event_id: EventID, space: TelegramID,
                               client: 'MautrixTelegramClient',
                               content: TextMessageEventContent,
                               reply_to: TelegramID) -> None:
     async with self.send_lock(sender_id):
         lp = self.get_config("telegram_link_preview")
         if content.get_edit():
             orig_msg = DBMessage.get_by_mxid(content.get_edit(), self.mxid,
                                              space)
             if orig_msg:
                 response = await client.edit_message(
                     self.peer,
                     orig_msg.tgid,
                     content,
                     parse_mode=self._matrix_event_to_entities,
                     link_preview=lp)
                 self._add_telegram_message_to_db(event_id, space, -1,
                                                  response)
                 return
         response = await client.send_message(
             self.peer,
             content,
             reply_to=reply_to,
             parse_mode=self._matrix_event_to_entities,
             link_preview=lp)
         self._add_telegram_message_to_db(event_id, space, 0, response)
     await self._send_delivery_receipt(event_id)
Beispiel #2
0
 async def _handle_matrix_text(self, sender_id: TelegramID,
                               event_id: EventID, space: TelegramID,
                               client: 'MautrixTelegramClient',
                               content: TextMessageEventContent,
                               reply_to: TelegramID) -> None:
     if content.formatted_body and content.format == Format.HTML:
         message, entities = formatter.matrix_to_telegram(
             content.formatted_body)
     else:
         message, entities = formatter.matrix_text_to_telegram(content.body)
     async with self.send_lock(sender_id):
         lp = self.get_config("telegram_link_preview")
         if content.get_edit():
             orig_msg = DBMessage.get_by_mxid(content.get_edit(), self.mxid,
                                              space)
             if orig_msg:
                 response = await client.edit_message(
                     self.peer,
                     orig_msg.tgid,
                     message,
                     formatting_entities=entities,
                     link_preview=lp)
                 self._add_telegram_message_to_db(event_id, space, -1,
                                                  response)
                 return
         response = await client.send_message(self.peer,
                                              message,
                                              reply_to=reply_to,
                                              formatting_entities=entities,
                                              link_preview=lp)
         self._add_telegram_message_to_db(event_id, space, 0, response)
     await self._send_delivery_receipt(event_id)