diff --git a/ariadne/services/comms.py b/ariadne/services/comms.py index 9608507..fcad2dc 100644 --- a/ariadne/services/comms.py +++ b/ariadne/services/comms.py @@ -664,8 +664,21 @@ class CommsService: with self._client() as client: token = self._login(client, settings.comms_seeder_user, settings.comms_seeder_password) - self._ensure_user(client, token, settings.comms_seeder_user, settings.comms_seeder_password, True) - self._ensure_user(client, token, settings.comms_bot_user, settings.comms_bot_password, False) + for user, password, admin in ( + (settings.comms_seeder_user, settings.comms_seeder_password, True), + (settings.comms_bot_user, settings.comms_bot_password, False), + ): + try: + self._ensure_user(client, token, user, password, admin) + except RuntimeError as exc: + message = str(exc) + if "You are not a server admin" in message: + logger.warning( + "comms seed room ensure skipped", + extra={"event": "comms_seed_room", "user": user, "detail": message}, + ) + continue + raise room_id = self._ensure_room(client, token) self._join_user(client, token, room_id, _canon_user(settings.comms_bot_user, settings.comms_server_name)) self._join_all_locals(client, token, room_id)