From d826c58b51ff455ba045a3a952d3d06beea4d216 Mon Sep 17 00:00:00 2001 From: aikitori Date: Sat, 12 Mar 2022 16:48:52 +0100 Subject: [PATCH 1/2] Add Delete Message Node --- package.json | 1 + src/matrix-delete-message.html | 84 ++++++++++++++++++++++++++++++++++ src/matrix-delete-message.js | 74 ++++++++++++++++++++++++++++++ 3 files changed, 159 insertions(+) create mode 100644 src/matrix-delete-message.html create mode 100644 src/matrix-delete-message.js diff --git a/package.json b/package.json index 4d84251..6f464e2 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "matrix-server-config": "src/matrix-server-config.js", "matrix-receive": "src/matrix-receive.js", "matrix-send-message": "src/matrix-send-message.js", + "matrix-send-message": "src/matrix-delete-message.js", "matrix-send-file": "src/matrix-send-file.js", "matrix-send-image": "src/matrix-send-image.js", "matrix-react": "src/matrix-react.js", diff --git a/src/matrix-delete-message.html b/src/matrix-delete-message.html new file mode 100644 index 0000000..e12e08f --- /dev/null +++ b/src/matrix-delete-message.html @@ -0,0 +1,84 @@ + + + + + diff --git a/src/matrix-delete-message.js b/src/matrix-delete-message.js new file mode 100644 index 0000000..362064d --- /dev/null +++ b/src/matrix-delete-message.js @@ -0,0 +1,74 @@ +module.exports = function(RED) { + function MatrixDeleteMessage(n) { + RED.nodes.createNode(this,n); + + var node = this; + + this.name = n.name; + this.server = RED.nodes.getNode(n.server); + this.roomId = n.roomId; + this.reason = n.reason + + if (!node.server) { + node.warn("No configuration node"); + return; + } + + node.status({ fill: "red", shape: "ring", text: "disconnected" }); + + node.server.on("disconnected", function(){ + node.status({ fill: "red", shape: "ring", text: "disconnected" }); + }); + + node.server.on("connected", function() { + node.status({ fill: "green", shape: "ring", text: "connected" }); + }); + + node.on('input', function(msg) { + + if(!msg.eventId) { + node.error("eventId is missing"); + return; + } + + if (!node.server || !node.server.matrixClient) { + node.warn("No matrix server selected"); + return; + } + + if(!node.server.isConnected()) { + node.error("Matrix server connection is currently closed"); + node.send([null, msg]); + return; + } + + msg.topic = node.roomId || msg.topic; + if(!msg.topic) { + node.warn("Room must be specified in msg.topic or in configuration"); + return; + } + + msg.reason = node.reason || msg.reason; + + if(!msg.reason) { + msg.reason = ''; + } + + node.server.matrixClient.redactEvent(msg.topic,msg.eventId,undefined ,{ + reason: msg.reason + }) + + .then(function(e) { + msg.deleted = true + node.send([msg, null]); + }) + .catch(function(e){ + node.warn("Error sending message " + e); + msg.error = e; + msg.deleted = false + node.send([null, msg]); + }); + }); + } + RED.nodes.registerType("matrix-delete-message",MatrixDeleteMessage); +} From 050be29d6433862b374d4f0f5eb6317a71632534 Mon Sep 17 00:00:00 2001 From: aikitori Date: Sun, 13 Mar 2022 10:58:17 +0100 Subject: [PATCH 2/2] rename node --- package.json | 2 +- ...-message.html => matrix-delete-event.html} | 26 +++++++++---------- ...lete-message.js => matrix-delete-event.js} | 7 ++--- 3 files changed, 18 insertions(+), 17 deletions(-) rename src/{matrix-delete-message.html => matrix-delete-event.html} (71%) rename src/{matrix-delete-message.js => matrix-delete-event.js} (90%) diff --git a/package.json b/package.json index 6f464e2..1d1b2e3 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "matrix-server-config": "src/matrix-server-config.js", "matrix-receive": "src/matrix-receive.js", "matrix-send-message": "src/matrix-send-message.js", - "matrix-send-message": "src/matrix-delete-message.js", + "matrix-delete-event": "src/matrix-delete-event.js", "matrix-send-file": "src/matrix-send-file.js", "matrix-send-image": "src/matrix-send-image.js", "matrix-react": "src/matrix-react.js", diff --git a/src/matrix-delete-message.html b/src/matrix-delete-event.html similarity index 71% rename from src/matrix-delete-message.html rename to src/matrix-delete-event.html index e12e08f..6509bdb 100644 --- a/src/matrix-delete-message.html +++ b/src/matrix-delete-event.html @@ -1,5 +1,5 @@ - -