Browse Source

Add option to not bridge `m.notice`s (#55)

Alejandro Herrera 2 years ago
parent
commit
53a29ce132

+ 1 - 0
mautrix_instagram/config.py

@@ -85,6 +85,7 @@ class Config(BaseBridgeConfig):
         copy("bridge.resend_bridge_info")
         copy("bridge.unimportant_bridge_notices")
         copy("bridge.disable_bridge_notices")
+        copy("bridge.bridge_notices")
 
         copy("bridge.provisioning.enabled")
         copy("bridge.provisioning.prefix")

+ 3 - 0
mautrix_instagram/example-config.yaml

@@ -228,6 +228,9 @@ bridge:
     # Disable bridge notices entirely
     disable_bridge_notices: false
 
+    # Should Matrix m.notice-type messages be bridged?
+    bridge_notices: true
+
     # Provisioning API part of the web server for automated portal creation and fetching information.
     # Used by things like mautrix-manager (https://github.com/tulir/mautrix-manager).
     provisioning:

+ 5 - 0
mautrix_instagram/portal.py

@@ -92,6 +92,7 @@ try:
 except ImportError:
     Image = None
 
+
 StateBridge = EventType.find("m.bridge", EventType.Class.STATE)
 StateHalfShotBridge = EventType.find("uk.half-shot.bridge", EventType.Class.STATE)
 MediaData = Union[
@@ -482,6 +483,10 @@ class Portal(DBPortal, BasePortal):
             f"Handling Matrix message {event_id} from {sender.mxid}/{sender.igpk} "
             f"with request ID {request_id}"
         )
+
+        if message.msgtype == MessageType.NOTICE and not self.config["bridge.bridge_notices"]:
+            return
+
         if message.msgtype in (MessageType.EMOTE, MessageType.TEXT, MessageType.NOTICE):
             text = message.body
             if message.msgtype == MessageType.EMOTE: