From 50cd878f13b877fe290a3af6aff6a3f5c2e0ee98 Mon Sep 17 00:00:00 2001 From: Cy Nhr Date: Sat, 18 Jun 2022 20:23:59 +0200 Subject: [PATCH] Include command prefix in game and poll messages Game and poll messages send by the bridge to matrix each include a command the receiver might want to run (to play the game or to vote in the poll). But these command suggestions did always include the "!tg" command prefix, even if the command prefix was changed to a different value in the config. That could lead to the bridge ignoring the exact command it suggested earlier. With this commit, these messages contain the correct command prefix as defined in the config so that the command suggestions can be executed by the user without manually correcting the prefix. --- mautrix_telegram/portal_util/message_convert.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mautrix_telegram/portal_util/message_convert.py b/mautrix_telegram/portal_util/message_convert.py index 4cc2a7bc..8a8391fd 100644 --- a/mautrix_telegram/portal_util/message_convert.py +++ b/mautrix_telegram/portal_util/message_convert.py @@ -117,12 +117,14 @@ class TelegramMessageConverter: portal: po.Portal matrix: m.MatrixHandler config: Config + command_prefix: str log: TraceLogger def __init__(self, portal: po.Portal) -> None: self.portal = portal self.matrix = portal.matrix self.config = portal.config + self.command_prefix = self.config["bridge.command_prefix"] self.log = portal.log.getChild("msg_conv") self._media_converters = { @@ -534,17 +536,18 @@ def n() -> int: text_answers = "\n".join(f"{n()}. {answer.text}" for answer in poll.answers) html_answers = "\n".join(f"
  • {answer.text}
  • " for answer in poll.answers) + vote_command = f"{self.command_prefix} vote {poll_id}" content = TextMessageEventContent( msgtype=MessageType.TEXT, format=Format.HTML, body=( f"Poll: {poll.question}\n{text_answers}\n" - f"Vote with !tg vote {poll_id} " + f"Vote with {vote_command} " ), formatted_body=( f"Poll: {poll.question}
    \n" f"
      {html_answers}
    \n" - f"Vote with !tg vote {poll_id} <choice number>" + f"Vote with {vote_command} <choice number>" ), ) @@ -574,7 +577,7 @@ async def _convert_dice(evt: Message, **_) -> ConvertedMessage: async def _convert_game(self, source: au.AbstractUser, evt: Message, **_) -> ConvertedMessage: game: Game = evt.media.game play_id = self._encode_msgid(source, evt) - command = f"!tg play {play_id}" + command = f"{self.command_prefix} play {play_id}" override_text = f"Run {command} in your bridge management room to play {game.title}" override_entities = [ MessageEntityPre(offset=len("Run "), length=len(command), language="")