diff --git a/plugins/rmass/actions/synapseassigndmavatar.py b/plugins/rmass/actions/synapseassigndmavatar.py new file mode 100644 index 0000000..6bb33b2 --- /dev/null +++ b/plugins/rmass/actions/synapseassigndmavatar.py @@ -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, + }, +} \ No newline at end of file diff --git a/plugins/rmass/operations/synapsemessagepush.py b/plugins/rmass/operations/synapsemessagepush.py index 12b8004..d23512d 100644 --- a/plugins/rmass/operations/synapsemessagepush.py +++ b/plugins/rmass/operations/synapsemessagepush.py @@ -1,4 +1,4 @@ -from plugins.rmass.actions import pullmessagelist, refresh_tokens, getmessage, synapseregister, synapseassignusername, getrmassuseravatar, rmassavatartosynapse, synapseassignavatar, synapsecreatespace, synapsegetspaceid, synapsecreatedmroom, synapsegetroomid, synapseassignspace, synapsepushmessages +from plugins.rmass.actions import pullmessagelist, refresh_tokens, getmessage, synapseregister, synapseassignusername, getrmassuseravatar, rmassavatartosynapse, synapseassignavatar, synapsecreatespace, synapsegetspaceid, synapsecreatedmroom, synapseassigndmavatar, synapsegetroomid, synapseassignspace, synapsepushmessages name = "Get Message List" @@ -25,6 +25,7 @@ recursiveset = { #synapsegetspaceid, synapsecreatedmroom, synapsegetroomid, + synapseassigndmavatar, #synapseassignspace, synapsepushmessages, ],