Implement disabling notifications while backfilling

This commit is contained in:
Tulir Asokan
2020-07-29 22:47:00 +03:00
parent ffcfd019c2
commit 5e8aa8818f
+4
View File
@@ -39,6 +39,7 @@ from mautrix.appservice import IntentAPI
from mautrix.types import (EventID, UserID, ImageInfo, ThumbnailInfo, RelatesTo, MessageType, from mautrix.types import (EventID, UserID, ImageInfo, ThumbnailInfo, RelatesTo, MessageType,
EventType, MediaMessageEventContent, TextMessageEventContent, EventType, MediaMessageEventContent, TextMessageEventContent,
LocationMessageEventContent, Format) LocationMessageEventContent, Format)
from mautrix.bridge import NotificationDisabler
from ..types import TelegramID from ..types import TelegramID
from ..db import Message as DBMessage, TelegramFile as DBTelegramFile from ..db import Message as DBMessage, TelegramFile as DBTelegramFile
@@ -466,6 +467,7 @@ class PortalTelegram(BasePortal, ABC):
self.backfill_leave.add(sender.default_mxid_intent) self.backfill_leave.add(sender.default_mxid_intent)
client = source.client client = source.client
async with NotificationDisabler(self.mxid, source):
if limit > config["bridge.backfill.takeout_limit"]: if limit > config["bridge.backfill.takeout_limit"]:
self.log.debug(f"Opening takeout client for {source.tgid}") self.log.debug(f"Opening takeout client for {source.tgid}")
async with client.takeout(**self._takeout_options) as takeout: async with client.takeout(**self._takeout_options) as takeout:
@@ -683,3 +685,5 @@ class PortalTelegram(BasePortal, ABC):
def init(context: Context) -> None: def init(context: Context) -> None:
global config global config
config = context.config config = context.config
NotificationDisabler.puppet_cls = p.Puppet
NotificationDisabler.config_enabled = config["bridge.backfill.disable_notifications"]