Don't try to set room state in non-existent portals
This commit is contained in:
+35
-27
@@ -1118,9 +1118,10 @@ class Portal(DBPortal, BasePortal):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
self.about = about
|
self.about = about
|
||||||
await self._try_set_state(
|
if self.mxid:
|
||||||
sender, EventType.ROOM_TOPIC, RoomTopicStateEventContent(topic=self.about)
|
await self._try_set_state(
|
||||||
)
|
sender, EventType.ROOM_TOPIC, RoomTopicStateEventContent(topic=self.about)
|
||||||
|
)
|
||||||
if save:
|
if save:
|
||||||
await self.save()
|
await self.save()
|
||||||
return True
|
return True
|
||||||
@@ -1132,14 +1133,15 @@ class Portal(DBPortal, BasePortal):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
self.title = title
|
self.title = title
|
||||||
try:
|
if self.mxid:
|
||||||
await self._try_set_state(
|
try:
|
||||||
sender, EventType.ROOM_NAME, RoomNameStateEventContent(name=self.title)
|
await self._try_set_state(
|
||||||
)
|
sender, EventType.ROOM_NAME, RoomNameStateEventContent(name=self.title)
|
||||||
self.name_set = True
|
)
|
||||||
except Exception as e:
|
self.name_set = True
|
||||||
self.log.warning(f"Failed to set room name: {e}")
|
except Exception as e:
|
||||||
self.name_set = False
|
self.log.warning(f"Failed to set room name: {e}")
|
||||||
|
self.name_set = False
|
||||||
if save:
|
if save:
|
||||||
await self.save()
|
await self.save()
|
||||||
return True
|
return True
|
||||||
@@ -1152,14 +1154,17 @@ class Portal(DBPortal, BasePortal):
|
|||||||
if puppet.avatar_url:
|
if puppet.avatar_url:
|
||||||
self.photo_id = puppet.photo_id
|
self.photo_id = puppet.photo_id
|
||||||
self.avatar_url = puppet.avatar_url
|
self.avatar_url = puppet.avatar_url
|
||||||
try:
|
if self.mxid:
|
||||||
await self._try_set_state(
|
try:
|
||||||
None, EventType.ROOM_AVATAR, RoomAvatarStateEventContent(url=self.avatar_url)
|
await self._try_set_state(
|
||||||
)
|
None,
|
||||||
self.avatar_set = True
|
EventType.ROOM_AVATAR,
|
||||||
except Exception as e:
|
RoomAvatarStateEventContent(url=self.avatar_url),
|
||||||
self.log.warning(f"Failed to set room avatar: {e}")
|
)
|
||||||
self.avatar_set = False
|
self.avatar_set = True
|
||||||
|
except Exception as e:
|
||||||
|
self.log.warning(f"Failed to set room avatar: {e}")
|
||||||
|
self.avatar_set = False
|
||||||
return True
|
return True
|
||||||
elif photo is not None and user is not None:
|
elif photo is not None and user is not None:
|
||||||
return await self._update_avatar(user, photo=photo)
|
return await self._update_avatar(user, photo=photo)
|
||||||
@@ -1202,14 +1207,17 @@ class Portal(DBPortal, BasePortal):
|
|||||||
return False
|
return False
|
||||||
self.photo_id = photo_id
|
self.photo_id = photo_id
|
||||||
self.avatar_url = file.mxc
|
self.avatar_url = file.mxc
|
||||||
try:
|
if self.mxid:
|
||||||
await self._try_set_state(
|
try:
|
||||||
sender, EventType.ROOM_AVATAR, RoomAvatarStateEventContent(url=self.avatar_url)
|
await self._try_set_state(
|
||||||
)
|
sender,
|
||||||
self.avatar_set = True
|
EventType.ROOM_AVATAR,
|
||||||
except Exception as e:
|
RoomAvatarStateEventContent(url=self.avatar_url),
|
||||||
self.log.warning(f"Failed to set room avatar: {e}")
|
)
|
||||||
self.avatar_set = False
|
self.avatar_set = True
|
||||||
|
except Exception as e:
|
||||||
|
self.log.warning(f"Failed to set room avatar: {e}")
|
||||||
|
self.avatar_set = False
|
||||||
if save:
|
if save:
|
||||||
await self.save()
|
await self.save()
|
||||||
return True
|
return True
|
||||||
|
|||||||
Reference in New Issue
Block a user