MSC4014
This commit is contained in:
@@ -1,10 +1,32 @@
|
||||
from resolvematrix import ServerResolver
|
||||
import urllib.parse, time, json, httpx
|
||||
import vona.globals as globals
|
||||
import vona.config as config
|
||||
|
||||
http_client = globals.http_client()
|
||||
|
||||
versions = [
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
"5",
|
||||
"6",
|
||||
"7",
|
||||
"8",
|
||||
"9",
|
||||
"10",
|
||||
"11",
|
||||
"12",
|
||||
"org.matrix.msc3757.10",
|
||||
"org.matrix.msc3757.11",
|
||||
"org.matrix.hydra.11",
|
||||
"org.matrix.msc3667",
|
||||
"org.matrix.msc3787",
|
||||
"org.matrix.msc4014",
|
||||
]
|
||||
|
||||
verparams = "&".join(f"ver={ver}" for ver in versions)
|
||||
|
||||
|
||||
def get_user_input(prompt):
|
||||
try:
|
||||
@@ -28,13 +50,11 @@ except Exception as e:
|
||||
print(f"Error reading server names: {e}")
|
||||
exit(1)
|
||||
|
||||
resolver = ServerResolver(client=http_client)
|
||||
|
||||
try:
|
||||
print("\nSending make_join request..")
|
||||
|
||||
make_join_response = http_client.get(
|
||||
path=f"/_matrix/federation/v1/make_join/{room_id}/%40{username}%3A{config.server_name}?ver=1&ver=2&ver=3&ver=4&ver=5&ver=6&ver=7&ver=8&ver=9&ver=10&ver=11&ver=12",
|
||||
path=f"/_matrix/federation/v1/make_join/{room_id}/%40{username}%3A{config.server_name}?{verparams}",
|
||||
destination=server_name,
|
||||
)
|
||||
|
||||
@@ -57,6 +77,16 @@ if make_join.get("room_version", "1") in ["1", "2"]:
|
||||
# NOTE: if we always make it opaque than Synapse will 500 lmao
|
||||
join_event["event_id"] = globals.make_event_id()
|
||||
|
||||
elif make_join.get("room_version", "1") == "org.matrix.msc4014":
|
||||
# dendrite dislikes this :p
|
||||
join_event["sender_key"] = globals.pubkey()
|
||||
|
||||
join_event["content"]["mxid_mapping"] = globals.sign_json({
|
||||
"sender_key": globals.pubkey(),
|
||||
"user_id": f"@{username}:{config.server_name}"
|
||||
})
|
||||
|
||||
|
||||
timestamp = input("\nTimestamp (leave blank for now):\n\t")
|
||||
try:
|
||||
join_event["origin_server_ts"] = int(timestamp)
|
||||
|
||||
Reference in New Issue
Block a user