import os name = "Synapse Assign Avatar" kind = "action" showstatus = True resolve = { "get": { "sender": ["messageheaders", "userCard", "id"], "avatar": ["uploadimage"], "username": ["messageheaders", "userCard", "username"], "avatar_hash": ["useravatar_hash"], }, "construct": { "matrixuser": [ "@rmass_", {"resolved": "sender"}, ":loxthelion.com", ], }, } keys = [ { "keytitle": "avatar_url", "keyvalue": { "resolved": "avatar", }, }, ] method = "PUT" path = [ "https://loxthelion.com/_matrix/client/v3/profile/", {"resolved": "matrixuser"}, "/avatar_url?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_avatar_hash", # "rowsearchvalue": [ # {"resolved": "avatar_hash"}, # #{"resolved": "sender"}, # ], # "columnnumber": 3, #} filters = [ { "filterkey": "avatar_hash", "operator": "==", "filtervalue": {"outputs": "db_avatar_hash"}, "print": f"User avatar up to date. Skipping {name}...", }, ]