Dusty Pianalto d3acd0a114 Update Client to send read receipts for every message
Fix bugs in events due to m.related_to in text events
2019-11-01 18:15:21 -08:00

102 lines
1.6 KiB
Python

from dataclasses import dataclass
from typing import Optional, List, Dict
@dataclass
class JSONWebKey:
key_opts: List[str]
k: str
ext: bool = True
alg: str = "A256CTR"
kty: str = "oct"
@dataclass
class EncryptedFile:
url: str
key: JSONWebKey
iv: str
hashes: Dict[str, str]
v: str = "v2"
@dataclass
class ImageInfoBase:
h: int
w: int
mimetype: str
size: int
@dataclass
class ImageInfo(ImageInfoBase):
thumbnail_info: ImageInfoBase
thumbnail_url: Optional[str] = None
thumbnail_file: Optional[EncryptedFile] = None
@dataclass
class FileInfo:
mimetype: str
size: int
thumbnail_info: ImageInfoBase
thumbnail_url: Optional[str] = None
thumbnail_file: Optional[EncryptedFile] = None
@dataclass
class AudioInfo:
duration: int
mimetype: str
size: int
@dataclass
class LocationInfo:
thumbnail_info: ImageInfoBase
thumbnail_url: Optional[str] = None
thumbnail_file: Optional[EncryptedFile] = None
@dataclass
class VideoInfo(ImageInfoBase):
duration: int
thumbnail_info: ImageInfoBase
thumbnail_url: Optional[str] = None
thumbnail_file: Optional[EncryptedFile] = None
@dataclass
class PreviousRoom:
room_id: str
event_id: str
@dataclass
class Signed:
mxid: str
signatures: Dict[str, Dict[str, str]]
token: str
@dataclass
class Invite:
display_name: str
signed: Signed
@dataclass
class ReactionRelation:
rel_type: str
event_id: str
key: str
@dataclass
class MessageRelation:
event_id: str
def notification_power_levels_default_factory():
return {'room': 50}