Add room encrytpion event.
This commit is contained in:
parent
fb47b94252
commit
15f814bee8
1 changed files with 22 additions and 0 deletions
|
@ -156,6 +156,8 @@ class RoomInfo():
|
||||||
other_events.append(RoomNameEvent.from_dict(event))
|
other_events.append(RoomNameEvent.from_dict(event))
|
||||||
elif event["type"] == "m.room.aliases":
|
elif event["type"] == "m.room.aliases":
|
||||||
other_events.append(RoomAliasEvent.from_dict(event))
|
other_events.append(RoomAliasEvent.from_dict(event))
|
||||||
|
elif event["type"] == "m.room.encryption":
|
||||||
|
other_events.append(RoomEncryptionEvent.from_dict(event))
|
||||||
except (ValueError, TypeError, KeyError) as error:
|
except (ValueError, TypeError, KeyError) as error:
|
||||||
message = ("{prefix}matrix: Error parsing "
|
message = ("{prefix}matrix: Error parsing "
|
||||||
"room event of type {type}: {error}").format(
|
"room event of type {type}: {error}").format(
|
||||||
|
@ -563,3 +565,23 @@ class RoomAliasEvent(RoomNameEvent):
|
||||||
name = sanitize_id(event_dict['content']['aliases'][-1])
|
name = sanitize_id(event_dict['content']['aliases'][-1])
|
||||||
|
|
||||||
return cls(event_id, sender, age, name)
|
return cls(event_id, sender, age, name)
|
||||||
|
|
||||||
|
|
||||||
|
class RoomEncryptionEvent(RoomEvent):
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def from_dict(cls, event_dict):
|
||||||
|
event_id = sanitize_id(event_dict["event_id"])
|
||||||
|
sender = sanitize_id(event_dict["sender"])
|
||||||
|
age = sanitize_age(event_dict["unsigned"]["age"])
|
||||||
|
|
||||||
|
return cls(event_id, sender, age)
|
||||||
|
|
||||||
|
def execute(self, server, room, buff, tags):
|
||||||
|
room.encrypted = True
|
||||||
|
|
||||||
|
message = ("{prefix}This room is encrypted, encryption is "
|
||||||
|
"currently unsuported. Message sending is disabled for "
|
||||||
|
"this room.").format(prefix=W.prefix("error"))
|
||||||
|
|
||||||
|
W.prnt(buff, message)
|
||||||
|
|
Loading…
Add table
Reference in a new issue