Introduced DM Avatar assignment in workflow
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
import os
|
||||
|
||||
name = "Synapse Assign DM Room Avatar"
|
||||
|
||||
kind = "action"
|
||||
|
||||
showstatus = True
|
||||
|
||||
resolve = {
|
||||
"get": {
|
||||
"sender": ["messageheaders", "userCard", "id"],
|
||||
"avatar": ["uploadimage"],
|
||||
"room_id": ["room_id"],
|
||||
"username": ["messageheaders", "userCard", "username"],
|
||||
"avatar_hash": ["useravatar_hash"],
|
||||
},
|
||||
"construct": {
|
||||
"matrixuser": [
|
||||
"@rmass_",
|
||||
{"resolved": "sender"},
|
||||
":loxthelion.com",
|
||||
],
|
||||
"matrixdm": [
|
||||
"rmass_dm_",
|
||||
{"resolved": "sender"},
|
||||
],
|
||||
},
|
||||
}
|
||||
|
||||
keys = [
|
||||
{
|
||||
"keytitle": "url",
|
||||
"keyvalue": {
|
||||
"resolved": "avatar",
|
||||
},
|
||||
},
|
||||
]
|
||||
|
||||
method = "PUT"
|
||||
|
||||
path = [
|
||||
"https://loxthelion.com//_matrix/client/v3/rooms/",
|
||||
{"resolved": "room_id"},
|
||||
"/state/m.room.avatar",
|
||||
#{"resolved": "matrixuser"},
|
||||
#"/avatar_url?user_id=",
|
||||
#{"resolved": "matrixuser"},
|
||||
]
|
||||
|
||||
headers = {
|
||||
"Authorization": {
|
||||
"os": "AS_TOKEN",
|
||||
"prefix": "Bearer ",
|
||||
},
|
||||
"Content-Type": "application/json",
|
||||
}
|
||||
|
||||
|
||||
filters = [
|
||||
{
|
||||
"filterkey": "avatar_hash",
|
||||
"operator": "==",
|
||||
"filtervalue": {"outputs": "db_avatar_hash"},
|
||||
"print": f"DM avatar up to date. Skipping {name}...",
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
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,
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user