Files
rmmanager/plugins/rmass/actions/synapsegetlastmessage.py

69 lines
1.7 KiB
Python

name = "Get Last Synapse Message"
alias = "synapsegetlastmessage"
kind = "action"
depends = [
"synapsegetroomalias",
]
showstatus = True
isrequest = True
method = "GET"
resolve = {
"get": {
#"sender": ["room_name"],
"event_id": ["outmessageitem", "event_id"],
#"message_body": ["outmessageitem", "content", "body"],
"room_id": ["outmessageitem", "room_id"],
#"timestamp": ["outmessageitem", "origin_server_ts"],
#"matrix_sender": ["outmessageitem", "sender"],
#"msg_type": ["outmessageitem", "type"],
#"echo_tag": ["outmessageitem", "content", "com.loxthelion.rmass_message_id"],
"rmass_sent_status": ["rmass_sent_status"],
},
}
path = [
"https://loxthelion.com/_matrix/client/v3/rooms/",
{"resolved": "room_id"},
"/messages?dir=b&limit=1&filter=%7B%22types%22%3A%5B%22m.room.message%22%5D%2C%22not_senders%22%3A%5B%22%40lyncoln%3Aloxthelion.com%22%2C%22%40rmass_bridge%3Aloxthelion.com%22%5D%7D",
]
headers = {
"Authorization": {
"os": "ADMIN_TOKEN",
"prefix": "Bearer ",
},
"Content-Type": "application/json",
}
outputs = {
"lastmessage": "chunk"
}
filters = [
# {
# "filterkey": "rmass_sent_status",
# "operator": "==",
# "filtervalue": "fail",
# "print": f"Failed to send message to RMASS. Bypassing {name}...",
# },
# {
# "filterkey": "rmass_sent_status",
# "operator": "==",
# "filtervalue": "error",
# "print": f"Failed to send message to RMASS. Bypassing {name}...",
# },
{
"filterkey": "event_id",
"operator": "==",
"filtervalue": {"outputs": "db_event_id"},
"print": f"Message already delivered. Bypassing {name}",
},
]