Set history & join rules to match KakaoTalk behaviour
This commit is contained in:
parent
2be6a761b6
commit
73f8792b75
|
@ -30,6 +30,10 @@ class KnownChannelType(str, Enum):
|
|||
def is_direct(cls, value: Union["KnownChannelType", str]) -> bool:
|
||||
return value in [cls.DirectChat, cls.MemoChat]
|
||||
|
||||
@classmethod
|
||||
def is_open(cls, value: Union["KnownChannelType", str]) -> bool:
|
||||
return value in [cls.OM, cls.OD]
|
||||
|
||||
|
||||
ChannelType = Union[KnownChannelType, str] # Substitute for ChannelType = "name1" | ... | "nameN" | str
|
||||
|
||||
|
|
|
@ -40,6 +40,8 @@ from mautrix.types import (
|
|||
EventType,
|
||||
FileInfo,
|
||||
ImageInfo,
|
||||
JoinRule,
|
||||
JoinRulesStateEventContent,
|
||||
LocationMessageEventContent,
|
||||
MediaInfo,
|
||||
MediaMessageEventContent,
|
||||
|
@ -630,6 +632,17 @@ class Portal(DBPortal, BasePortal):
|
|||
"content": self.bridge_info,
|
||||
},
|
||||
]
|
||||
if KnownChannelType.is_open(info.channel_info.type):
|
||||
initial_state.extend((
|
||||
{
|
||||
"type": str(EventType.ROOM_JOIN_RULES),
|
||||
"content": JoinRulesStateEventContent(join_rule=JoinRule.PUBLIC).serialize(),
|
||||
},
|
||||
{
|
||||
"type": "m.room.guest_access",
|
||||
"content": {"guest_access": "forbidden"},
|
||||
},
|
||||
))
|
||||
invites = []
|
||||
if self.config["bridge.encryption.default"] and self.matrix.e2ee:
|
||||
self.encrypted = True
|
||||
|
|
Loading…
Reference in New Issue