From f0f4524fc576a97ebd89224e9a37485ea3b8d862 Mon Sep 17 00:00:00 2001 From: Jonathan Weth <git@jonathanweth.de> Date: Sun, 10 Apr 2022 16:35:05 +0200 Subject: [PATCH] Ensure that the bot user has joined the respective room --- aleksis/apps/matrix/models.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/aleksis/apps/matrix/models.py b/aleksis/apps/matrix/models.py index b5c41bf..a2c19c5 100644 --- a/aleksis/apps/matrix/models.py +++ b/aleksis/apps/matrix/models.py @@ -184,6 +184,10 @@ class MatrixRoom(ExtensiblePolymorphicModel): ) return r + def _ensure_joined(self) -> True: + r = do_matrix_request("POST", f"join/{self.room_id}") + return r + @classmethod def get_profiles_for_group(cls, group: Group) -> QuerySet: """Get all profile objects for the members/owners of a group.""" @@ -247,8 +251,13 @@ class MatrixRoom(ExtensiblePolymorphicModel): space.sync() return None + def sync_room_params(self): + """Sync all room-specific parameters, e. g. the name.""" + self._ensure_joined() + def sync(self): """Sync this room.""" + self.sync_room_params() self.sync_profiles() if get_site_preferences()["matrix__use_spaces"]: self.sync_space() @@ -337,6 +346,7 @@ class MatrixSpace(MatrixRoom): def sync(self): """Sync this space.""" + self.sync_room_params() self.ensure_children() self.sync_children() self.sync_profiles() -- GitLab