Added data loading and message type filtering for pushing messages to RMASS from synapse

This commit is contained in:
Lyncoln
2026-10-26 10:07:38 -04:00
parent 8d309586d5
commit eea6888e5e
+50 -3
View File
@@ -1,3 +1,5 @@
import os
from . import synapsenotify from . import synapsenotify
name = "RMASS Message Push" name = "RMASS Message Push"
@@ -9,14 +11,19 @@ showstatus = True
#Resolve sources its data from outputs. Ensure keys are in outputs #Resolve sources its data from outputs. Ensure keys are in outputs
resolve = { resolve = {
"get": { "get": {
"sender": ["room_name"], "rmass_user": ["room_alias"],
"event_id": ["outmessageitem", "event_id"], "event_id": ["outmessageitem", "event_id"],
"message_body": ["outmessageitem", "content", "body"], "message_body": ["outmessageitem", "content", "body"],
"msgtype": ["outmessageitem", "content", "msgtype"],
"room_id": ["outmessageitem", "room_id"], "room_id": ["outmessageitem", "room_id"],
"timestamp": ["outmessageitem", "origin_server_ts"], "timestamp": ["outmessageitem", "origin_server_ts"],
#"matrix_sender": ["outmessageitem", "sender"],
#"attachment": ["outmessageitem", "url"],
#"msg_type": ["outmessageitem", "type"],
#"echo_tag": ["outmessageitem", "content", "com.loxthelion.rmass_message_id"],
}, },
"deconstruct": { "deconstruct": {
"sender" : [ "rmass_user" : [
"#rmass_dm_", "#rmass_dm_",
":loxthelion.com", ":loxthelion.com",
], ],
@@ -33,7 +40,7 @@ keys = [
{ {
"keytitle": "profileId", "keytitle": "profileId",
"keyvalue": { "keyvalue": {
"resolved": "sender", "resolved": "rmass_user",
}, },
}, },
] ]
@@ -51,6 +58,13 @@ headers = {
}, },
} }
loaddata = [
"access_token",
"refresh_token",
]
savepath = os.environ["TOKEN_STORE"]
responsepolicy = [ responsepolicy = [
{ {
"statuscode": 400, "statuscode": 400,
@@ -58,3 +72,36 @@ responsepolicy = [
"execute": synapsenotify, "execute": synapsenotify,
} }
] ]
outputs = {
"rmass_sent_status": "status"
}
##Filter test against recursiveset
filters = [
{
"filterkey": "msgtype",
"operator": "==",
"filtervalue": "m.image",
"print": f"Image detected. Pushing attachment",
},
# {
# "filterkey": "matrix_sender",
# "operator": "!=",
# "filtervalue": "@lyncoln:loxthelion.com",
# "print": f"Excluding message loop item during {name}",
# },
# {
# "filterkey": "msg_type",
# "operator": "!=",
# "filtervalue": "m.room.message",
# "print": f"Excluding non-room message event during {name}",
# },
# {
# "filterkey": "echo_tag",
# "operator": "is not",
# "filtervalue": None,
# "print": f"Excluding imported message event during {name}",
# },
]