148 lines
3.1 KiB
Python
148 lines
3.1 KiB
Python
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_bridge: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"},
|
|
],
|
|
"onconflict": {
|
|
"target": "rmass_user_id",
|
|
"update": [
|
|
"rmass_username",
|
|
"rmass_dm_room",
|
|
"rmass_avatar_hash",
|
|
],
|
|
"preservenull": True,
|
|
},
|
|
}
|
|
|
|
#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...",
|
|
},
|
|
]
|