Added data loading and message type filtering for pushing messages to RMASS from synapse
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
import os
|
||||
|
||||
from . import synapsenotify
|
||||
|
||||
name = "RMASS Message Push"
|
||||
@@ -9,14 +11,19 @@ showstatus = True
|
||||
#Resolve sources its data from outputs. Ensure keys are in outputs
|
||||
resolve = {
|
||||
"get": {
|
||||
"sender": ["room_name"],
|
||||
"rmass_user": ["room_alias"],
|
||||
"event_id": ["outmessageitem", "event_id"],
|
||||
"message_body": ["outmessageitem", "content", "body"],
|
||||
"msgtype": ["outmessageitem", "content", "msgtype"],
|
||||
"room_id": ["outmessageitem", "room_id"],
|
||||
"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": {
|
||||
"sender" : [
|
||||
"rmass_user" : [
|
||||
"#rmass_dm_",
|
||||
":loxthelion.com",
|
||||
],
|
||||
@@ -33,7 +40,7 @@ keys = [
|
||||
{
|
||||
"keytitle": "profileId",
|
||||
"keyvalue": {
|
||||
"resolved": "sender",
|
||||
"resolved": "rmass_user",
|
||||
},
|
||||
},
|
||||
]
|
||||
@@ -51,6 +58,13 @@ headers = {
|
||||
},
|
||||
}
|
||||
|
||||
loaddata = [
|
||||
"access_token",
|
||||
"refresh_token",
|
||||
]
|
||||
|
||||
savepath = os.environ["TOKEN_STORE"]
|
||||
|
||||
responsepolicy = [
|
||||
{
|
||||
"statuscode": 400,
|
||||
@@ -58,3 +72,36 @@ responsepolicy = [
|
||||
"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}",
|
||||
# },
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user