Files
rmmanager/plugins/rmass/actions/synapseregister.py
T

89 lines
1.7 KiB
Python

import os
name = "Synapse User Registration"
kind = "action"
showstatus = True
resolve = {
"get": {
"sender": ["messageheaders", "userCard", "id"],
"username": ["messageheaders", "userCard", "username"],
},
"construct": {
"matrixreguser": [
"rmass_",
{"resolved": "sender"},
#":loxthelion.com",
],
},
}
keys = [
{
"keytitle": "type",
"keyvalue": "m.login.application_service",
},
{
"keytitle": "username",
"keyvalue": {
"resolved": "matrixreguser",
#"prefix": "rmass_"
},
},
{
"keytitle": "inhibitlogin",
"keyvalue": True,
},
]
isrequest = True
method = "POST"
path = "https://loxthelion.com/_matrix/client/v3/register"
headers = {
"Authorization": {
"os": "AS_TOKEN",
"prefix": "Bearer ",
},
"Content-Type": "application/json",
}
outputs = {
"user_id": "user_id",
}
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_user_id",
"rowsearchvalue": [
{"resolved": "sender"},
],
"columnnumber": 0,
"export": {
0: "db_sender_id",
1: "db_username",
2: "db_dm_room",
3: "db_avatar_hash",
}
}
filters = [
{
"filterkey": "sender",
"operator": "==",
"filtervalue": {"outputs": "db_sender_id"},
"print": "User already registered. Continuing...",
},
]