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
|
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}",
|
||||||
|
# },
|
||||||
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user