From b28f20da925748bbc82f028e7524ce7ff3a82318 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Thu, 29 Nov 2018 01:37:57 +0200 Subject: [PATCH] Add internal admin list to bypass room permission checks Pending maubot-wide access controls --- base-config.yaml | 3 +++ rss/bot.py | 3 +++ 2 files changed, 6 insertions(+) diff --git a/base-config.yaml b/base-config.yaml index bc2a105..6408c6b 100644 --- a/base-config.yaml +++ b/base-config.yaml @@ -5,3 +5,6 @@ update_interval: 60 spam_sleep: 2 # The prefix for all commands command_prefix: "!rss" +# Users who can bypass room permission checks +admins: +- "@user:example.com" diff --git a/rss/bot.py b/rss/bot.py index 5041a4c..5e65350 100644 --- a/rss/bot.py +++ b/rss/bot.py @@ -34,6 +34,7 @@ class Config(BaseProxyConfig): helper.copy("update_interval") helper.copy("spam_sleep") helper.copy("command_prefix") + helper.copy("admins") CommandHandler = Callable[[MessageEvent, str, List[str]], Awaitable[None]] @@ -181,6 +182,8 @@ class RSSBot(Plugin): return levels async def can_manage(self, evt: MessageEvent) -> bool: + if evt.sender in self.config["admins"]: + return True levels = await self.get_power_levels(evt.room_id) if levels.get_user_level(evt.sender) < levels.state_default: await evt.reply("You don't the permission to manage the subscriptions of this room.")