import os name = "Synapse Create DM Room" kind = "action" showstatus = True resolve = { "get": { "sender": ["messageheaders", "userCard", "id"], "location": ["profile", "location"], "username": ["messageheaders", "userCard", "username"], }, "construct": { "matrixuser": [ "@rmass_", {"resolved": "sender"}, ":loxthelion.com", ], "matrixdm": [ "rmass_dm_", {"resolved": "sender"}, ], }, } keys = [ { "keytitle": "name", "keyvalue": { "resolved": "username", }, }, { "keytitle": "topic", "keyvalue": { "resolved": "location", }, }, { "keytitle": "room_alias_name", "keyvalue": { "resolved": "matrixdm", }, }, { "keytitle": "visibility", "keyvalue": "private", }, { "keytitle": "preset", "keyvalue": "private_chat", }, { "keytitle": "is_direct", "keyvalue": True, }, { "keytitle": "invite", "keyvalue": [ "@lyncoln:loxthelion.com", #{"resolved": "matrixuser"}, "@rmass_bridge:loxthelion.com", ], }, #{ #"keytitle": "power_level_content_override", #"keyvalue": { #"users": { #"@lyncoln:loxthelion.com": 100, #"@rmass_:loxthelion.com": 100, #}, #}, #} ] method = "POST" path = [ "https://loxthelion.com/_matrix/client/v3/createRoom?user_id=", #"@rmass_bridge:loxthelion.com", {"resolved": "matrixuser"}, #":loxthelion.com", ] headers = { "Authorization": { "os": "AS_TOKEN", "prefix": "Bearer ", }, "Content-Type": "application/json", } outputs = { "room_id": "room_id", } saverow = { "table": "user_profiles", "columns": [ {"rmass_user_id": "INTEGER PRIMARY KEY"}, {"rmass_username": "TEXT NOT NULL UNIQUE"}, {"rmass_dm_room": "TEXT NOT NULL UNIQUE"}, {"rmass_avatar_hash": "TEXT"}, ], "rowitems": [ {"resolved": "sender"}, {"resolved": "username"}, {"resolved": "matrixdm"}, {"outputs" : "useravatar_hash"}, ], } #readrow = { # "table": "user_profiles", # "columns": [ # {"rmass_user_id": "INTEGER PRIMARY KEY"}, # {"rmass_username": "TEXT NOT NULL UNIQUE"}, # {"rmass_dm_room": "TEXT NOT NULL UNIQUE"}, # {"rmass_avatar_hash": "TEXT"}, # ], # "searchcolumn": "rmass_dm_room", # "rowsearchvalue": [ # {"resolved": "matrixdm"}, # ], # "columnnumber": 2, #} filters = [ { "filterkey": "matrixdm", "operator": "==", "filtervalue": {"outputs": "db_dm_room"}, "print": "DM Room already created. Continuing...", }, ]