Files
rmmanager/plugins/rmass/actions/synapseassignusername.py

81 lines
1.6 KiB
Python

import os
name = "Synapse Assign Username"
kind = "action"
showstatus = True
alias = "synapseassignusername"
#depends = []
#astoken = os.environ["AS_TOKEN"]
resolve = {
"get": {
"sender": ["messageheaders", "userCard", "id"],
#"sender": ["pullmessages", 0, "userCard", "id"],
"username": ["messageheaders", "userCard", "username"],
#"username": ["pullmessages", 0, "userCard", "username"],
},
"construct": {
"matrixuser": [
"@rmass_",
{"resolved": "sender"},
":loxthelion.com",
],
},
}
keys = [
{
"keytitle": "displayname",
"keyvalue": {
"resolved": "username",
},
},
]
isrequest = True
method = "PUT"
path = [
"https://loxthelion.com/_matrix/client/v3/profile/",
{"resolved": "matrixuser"},
"/displayname?user_id=",
{"resolved": "matrixuser"},
]
headers = {
"Authorization": {
"os": "AS_TOKEN",
"prefix": "Bearer ",
},
"Content-Type": "application/json",
}
#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_username",
# "rowsearchvalue": [
# {"resolved": "username"},
# ],
# "columnnumber": 1,
#}
filters = [
{
"filterkey": "username",
"operator": "==",
"filtervalue": {"outputs": "db_username"},
"print": "Username up to date. Continuing...",
},
]