mirror of
https://github.com/Skylar-Tech/node-red-contrib-matrix-chat.git
synced 2025-07-08 19:51:13 -06:00
Compare commits
No commits in common. "cd29f690b93361faa82da817018bb9890a85583d" and "c61eadd05d7360016ed6918cfecbac48ed0a740e" have entirely different histories.
cd29f690b9
...
c61eadd05d
@ -8,10 +8,9 @@ module.exports = function(RED) {
|
|||||||
this.server = RED.nodes.getNode(n.server);
|
this.server = RED.nodes.getNode(n.server);
|
||||||
|
|
||||||
if(!this.server) {
|
if(!this.server) {
|
||||||
node.error('Server must be configured on the node.', {});
|
node.error('Server must be configured on the node.');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
node.server.register(node);
|
|
||||||
|
|
||||||
this.encodeUri = function(pathTemplate, variables) {
|
this.encodeUri = function(pathTemplate, variables) {
|
||||||
for (const key in variables) {
|
for (const key in variables) {
|
||||||
@ -42,7 +41,7 @@ module.exports = function(RED) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(!node.server.isConnected()) {
|
if(!node.server.isConnected()) {
|
||||||
node.error("Matrix server connection is currently closed", msg);
|
node.error("Matrix server connection is currently closed");
|
||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -65,10 +64,6 @@ module.exports = function(RED) {
|
|||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
node.on("close", function() {
|
|
||||||
node.server.deregister(node);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
RED.nodes.registerType("matrix-create-room", MatrixCreateRoom);
|
RED.nodes.registerType("matrix-create-room", MatrixCreateRoom);
|
||||||
}
|
}
|
@ -12,22 +12,22 @@ module.exports = function(RED) {
|
|||||||
const { got } = await import('got');
|
const { got } = await import('got');
|
||||||
|
|
||||||
if(!msg.type) {
|
if(!msg.type) {
|
||||||
node.error('msg.type is required.', msg);
|
node.error('msg.type is required.');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!msg.content) {
|
if(!msg.content) {
|
||||||
node.error('msg.content is required.', msg);
|
node.error('msg.content is required.');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!msg.content.file) {
|
if(!msg.content.file) {
|
||||||
node.error('msg.content.file is required.', msg);
|
node.error('msg.content.file is required.');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!msg.url) {
|
if(!msg.url) {
|
||||||
node.error('msg.url is required.', msg);
|
node.error('msg.url is required.');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,7 +13,6 @@ module.exports = function(RED) {
|
|||||||
node.warn("No configuration node");
|
node.warn("No configuration node");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
node.server.register(node);
|
|
||||||
|
|
||||||
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
||||||
|
|
||||||
@ -28,7 +27,7 @@ module.exports = function(RED) {
|
|||||||
node.on('input', function(msg) {
|
node.on('input', function(msg) {
|
||||||
|
|
||||||
if(!msg.eventId) {
|
if(!msg.eventId) {
|
||||||
node.error("eventId is missing", msg);
|
node.error("eventId is missing");
|
||||||
node.send([null, msg])
|
node.send([null, msg])
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -39,7 +38,7 @@ module.exports = function(RED) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(!node.server.isConnected()) {
|
if(!node.server.isConnected()) {
|
||||||
node.error("Matrix server connection is currently closed", msg);
|
node.error("Matrix server connection is currently closed");
|
||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -71,10 +70,6 @@ module.exports = function(RED) {
|
|||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
node.on("close", function() {
|
|
||||||
node.server.deregister(node);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
RED.nodes.registerType("matrix-delete-event",MatrixDeleteEvent);
|
RED.nodes.registerType("matrix-delete-event",MatrixDeleteEvent);
|
||||||
}
|
}
|
||||||
|
@ -9,10 +9,9 @@ module.exports = function(RED) {
|
|||||||
this.roomId = n.roomId;
|
this.roomId = n.roomId;
|
||||||
|
|
||||||
if(!this.server) {
|
if(!this.server) {
|
||||||
node.error('Server must be configured on the node.', {});
|
node.error('Server must be configured on the node.');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
node.server.register(node);
|
|
||||||
|
|
||||||
this.encodeUri = function(pathTemplate, variables) {
|
this.encodeUri = function(pathTemplate, variables) {
|
||||||
for (const key in variables) {
|
for (const key in variables) {
|
||||||
@ -38,18 +37,18 @@ module.exports = function(RED) {
|
|||||||
|
|
||||||
node.on("input", function (msg) {
|
node.on("input", function (msg) {
|
||||||
if (! node.server || ! node.server.matrixClient) {
|
if (! node.server || ! node.server.matrixClient) {
|
||||||
node.error("No matrix server selected", msg);
|
node.error("No matrix server selected");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!node.server.isConnected()) {
|
if(!node.server.isConnected()) {
|
||||||
node.error("Matrix server connection is currently closed", msg);
|
node.error("Matrix server connection is currently closed");
|
||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
}
|
}
|
||||||
|
|
||||||
msg.topic = node.roomId || msg.topic;
|
msg.topic = node.roomId || msg.topic;
|
||||||
if(!msg.topic) {
|
if(!msg.topic) {
|
||||||
node.error("room must be defined in either msg.topic or in node config", msg);
|
node.error("room must be defined in either msg.topic or in node config");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -65,10 +64,6 @@ module.exports = function(RED) {
|
|||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
node.on("close", function() {
|
|
||||||
node.server.deregister(node);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
RED.nodes.registerType("matrix-invite-room", MatrixInviteRoom);
|
RED.nodes.registerType("matrix-invite-room", MatrixInviteRoom);
|
||||||
}
|
}
|
@ -11,7 +11,6 @@ module.exports = function(RED) {
|
|||||||
node.warn("No configuration node");
|
node.warn("No configuration node");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
node.server.register(node);
|
|
||||||
|
|
||||||
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
||||||
|
|
||||||
@ -25,17 +24,17 @@ module.exports = function(RED) {
|
|||||||
|
|
||||||
node.on("input", function (msg) {
|
node.on("input", function (msg) {
|
||||||
if (! node.server || ! node.server.matrixClient) {
|
if (! node.server || ! node.server.matrixClient) {
|
||||||
node.error("No matrix server selected", msg);
|
node.error("No matrix server selected");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!node.server.isConnected()) {
|
if(!node.server.isConnected()) {
|
||||||
node.error("Matrix server connection is currently closed", msg);
|
node.error("Matrix server connection is currently closed");
|
||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!msg.topic) {
|
if(!msg.topic) {
|
||||||
node.error("Room must be specified in msg.topic", msg);
|
node.error("Room must be specified in msg.topic");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -47,15 +46,11 @@ module.exports = function(RED) {
|
|||||||
node.send([msg, null]);
|
node.send([msg, null]);
|
||||||
})
|
})
|
||||||
.catch(function(e){
|
.catch(function(e){
|
||||||
node.error("Error trying to join room " + msg.topic + ":" + e, msg);
|
node.error("Error trying to join room " + msg.topic + ":" + e);
|
||||||
msg.error = e;
|
msg.error = e;
|
||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
node.on("close", function() {
|
|
||||||
node.server.deregister(node);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
RED.nodes.registerType("matrix-join-room", MatrixJoinRoom);
|
RED.nodes.registerType("matrix-join-room", MatrixJoinRoom);
|
||||||
}
|
}
|
@ -11,10 +11,9 @@ module.exports = function(RED) {
|
|||||||
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
||||||
|
|
||||||
if (!node.server) {
|
if (!node.server) {
|
||||||
node.error("No configuration node", {});
|
node.error("No configuration node");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
node.server.register(node);
|
|
||||||
|
|
||||||
node.server.on("disconnected", function(){
|
node.server.on("disconnected", function(){
|
||||||
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
||||||
@ -26,17 +25,17 @@ module.exports = function(RED) {
|
|||||||
|
|
||||||
node.on('input', function(msg) {
|
node.on('input', function(msg) {
|
||||||
if (! node.server || ! node.server.matrixClient) {
|
if (! node.server || ! node.server.matrixClient) {
|
||||||
node.error("No matrix server selected", msg);
|
node.error("No matrix server selected");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!msg.topic) {
|
if(!msg.topic) {
|
||||||
node.error('No room provided in msg.topic', msg);
|
node.error('No room provided in msg.topic');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!node.server.isConnected()) {
|
if(!node.server.isConnected()) {
|
||||||
node.error("Matrix server connection is currently closed", msg);
|
node.error("Matrix server connection is currently closed");
|
||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -45,15 +44,11 @@ module.exports = function(RED) {
|
|||||||
node.server.matrixClient.leave(msg.topic);
|
node.server.matrixClient.leave(msg.topic);
|
||||||
node.send([msg, null]);
|
node.send([msg, null]);
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
node.error("Failed to leave room " + msg.topic + ": " + e, msg);
|
node.error("Failed to leave room " + msg.topic + ": " + e);
|
||||||
msg.payload = e;
|
msg.payload = e;
|
||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
node.on("close", function() {
|
|
||||||
node.server.deregister(node);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
RED.nodes.registerType("matrix-leave-room", MatrixLeaveRoom);
|
RED.nodes.registerType("matrix-leave-room", MatrixLeaveRoom);
|
||||||
}
|
}
|
@ -13,7 +13,6 @@ module.exports = function(RED) {
|
|||||||
node.warn("No configuration node");
|
node.warn("No configuration node");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
node.server.register(node);
|
|
||||||
|
|
||||||
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
||||||
|
|
||||||
@ -27,30 +26,30 @@ module.exports = function(RED) {
|
|||||||
|
|
||||||
node.on("input", function (msg) {
|
node.on("input", function (msg) {
|
||||||
if (!node.server || !node.server.matrixClient) {
|
if (!node.server || !node.server.matrixClient) {
|
||||||
node.error("No matrix server selected", msg);
|
node.error("No matrix server selected");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!node.server.isConnected()) {
|
if(!node.server.isConnected()) {
|
||||||
node.error("Matrix server connection is currently closed", msg);
|
node.error("Matrix server connection is currently closed");
|
||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
}
|
}
|
||||||
|
|
||||||
msg.topic = node.roomId || msg.topic;
|
msg.topic = node.roomId || msg.topic;
|
||||||
if(!msg.topic) {
|
if(!msg.topic) {
|
||||||
node.error("Room must be specified in msg.topic or in configuration", msg);
|
node.error("Room must be specified in msg.topic or in configuration");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
let payload = n.reaction || msg.payload;
|
let payload = n.reaction || msg.payload;
|
||||||
if(!payload) {
|
if(!payload) {
|
||||||
node.error('msg.payload must be defined or the reaction configured on the node.', msg);
|
node.error('msg.payload must be defined or the reaction configured on the node.');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
let eventId = msg.referenceEventId || msg.eventId;
|
let eventId = msg.referenceEventId || msg.eventId;
|
||||||
if(!eventId) {
|
if(!eventId) {
|
||||||
node.error('Either msg.referenceEventId or msg.eventId must be defined to react to a message.', msg);
|
node.error('Either msg.referenceEventId or msg.eventId must be defined to react to a message.');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -76,10 +75,6 @@ module.exports = function(RED) {
|
|||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
node.on("close", function() {
|
|
||||||
node.server.deregister(node);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
RED.nodes.registerType("matrix-react", MatrixReact);
|
RED.nodes.registerType("matrix-react", MatrixReact);
|
||||||
}
|
}
|
@ -21,10 +21,9 @@ module.exports = function(RED) {
|
|||||||
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
||||||
|
|
||||||
if (!node.server) {
|
if (!node.server) {
|
||||||
node.error("No configuration node", {});
|
node.error("No configuration node");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
node.server.register(node);
|
|
||||||
|
|
||||||
node.server.on("disconnected", function(){
|
node.server.on("disconnected", function(){
|
||||||
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
||||||
@ -150,10 +149,6 @@ module.exports = function(RED) {
|
|||||||
|
|
||||||
node.send(msg);
|
node.send(msg);
|
||||||
});
|
});
|
||||||
|
|
||||||
node.on("close", function() {
|
|
||||||
node.server.deregister(node);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
RED.nodes.registerType("matrix-receive", MatrixReceiveMessage);
|
RED.nodes.registerType("matrix-receive", MatrixReceiveMessage);
|
||||||
}
|
}
|
@ -13,7 +13,6 @@ module.exports = function(RED) {
|
|||||||
node.warn("No configuration node");
|
node.warn("No configuration node");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
node.server.register(node);
|
|
||||||
|
|
||||||
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
||||||
|
|
||||||
@ -27,23 +26,23 @@ module.exports = function(RED) {
|
|||||||
|
|
||||||
node.on("input", function (msg) {
|
node.on("input", function (msg) {
|
||||||
if (! node.server || ! node.server.matrixClient) {
|
if (! node.server || ! node.server.matrixClient) {
|
||||||
node.error("No matrix server selected", msg);
|
node.error("No matrix server selected");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!node.server.isConnected()) {
|
if(!node.server.isConnected()) {
|
||||||
node.error("Matrix server connection is currently closed", msg);
|
node.error("Matrix server connection is currently closed");
|
||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
}
|
}
|
||||||
|
|
||||||
msg.topic = node.roomId || msg.topic;
|
msg.topic = node.roomId || msg.topic;
|
||||||
if(!msg.topic) {
|
if(!msg.topic) {
|
||||||
node.error("Room must be specified in msg.topic or in configuration", msg);
|
node.error("Room must be specified in msg.topic or in configuration");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!msg.userId) {
|
if(!msg.userId) {
|
||||||
node.error("msg.userId was not set.", msg);
|
node.error("msg.userId was not set.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -54,15 +53,11 @@ module.exports = function(RED) {
|
|||||||
node.send([msg, null]);
|
node.send([msg, null]);
|
||||||
})
|
})
|
||||||
.catch(function(e){
|
.catch(function(e){
|
||||||
node.error("Error trying to ban " + msg.userId + " from " + msg.topic, msg);
|
node.error("Error trying to ban " + msg.userId + " from " + msg.topic);
|
||||||
msg.error = e;
|
msg.error = e;
|
||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
node.on("close", function() {
|
|
||||||
node.server.deregister(node);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
RED.nodes.registerType("matrix-room-ban", MatrixBan);
|
RED.nodes.registerType("matrix-room-ban", MatrixBan);
|
||||||
}
|
}
|
@ -9,10 +9,9 @@ module.exports = function(RED) {
|
|||||||
this.roomId = n.roomId;
|
this.roomId = n.roomId;
|
||||||
|
|
||||||
if(!this.server) {
|
if(!this.server) {
|
||||||
node.error('Server must be configured on the node.', {});
|
node.error('Server must be configured on the node.');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
node.server.register(node);
|
|
||||||
|
|
||||||
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
||||||
|
|
||||||
@ -27,10 +26,6 @@ module.exports = function(RED) {
|
|||||||
node.server.on("Room.invite", async function(msg) {
|
node.server.on("Room.invite", async function(msg) {
|
||||||
node.send(msg);
|
node.send(msg);
|
||||||
});
|
});
|
||||||
|
|
||||||
node.on("close", function() {
|
|
||||||
node.server.deregister(node);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
RED.nodes.registerType("matrix-room-invite", MatrixRoomInvite);
|
RED.nodes.registerType("matrix-room-invite", MatrixRoomInvite);
|
||||||
}
|
}
|
@ -13,7 +13,6 @@ module.exports = function(RED) {
|
|||||||
node.warn("No configuration node");
|
node.warn("No configuration node");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
node.server.register(node);
|
|
||||||
|
|
||||||
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
||||||
|
|
||||||
@ -27,23 +26,23 @@ module.exports = function(RED) {
|
|||||||
|
|
||||||
node.on("input", function (msg) {
|
node.on("input", function (msg) {
|
||||||
if (! node.server || ! node.server.matrixClient) {
|
if (! node.server || ! node.server.matrixClient) {
|
||||||
node.error("No matrix server selected", msg);
|
node.error("No matrix server selected");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!node.server.isConnected()) {
|
if(!node.server.isConnected()) {
|
||||||
node.error("Matrix server connection is currently closed", msg);
|
node.error("Matrix server connection is currently closed");
|
||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
}
|
}
|
||||||
|
|
||||||
msg.topic = node.roomId || msg.topic;
|
msg.topic = node.roomId || msg.topic;
|
||||||
if(!msg.topic) {
|
if(!msg.topic) {
|
||||||
node.error("Room must be specified in msg.topic or in configuration", msg);
|
node.error("Room must be specified in msg.topic or in configuration");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!msg.userId) {
|
if(!msg.userId) {
|
||||||
node.error("msg.userId was not set.", msg);
|
node.error("msg.userId was not set.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -54,15 +53,11 @@ module.exports = function(RED) {
|
|||||||
node.send([msg, null]);
|
node.send([msg, null]);
|
||||||
})
|
})
|
||||||
.catch(function(e){
|
.catch(function(e){
|
||||||
node.error("Error trying to kick " + msg.userId + " from " + msg.topic, msg);
|
node.error("Error trying to kick " + msg.userId + " from " + msg.topic);
|
||||||
msg.error = e;
|
msg.error = e;
|
||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
node.on("close", function() {
|
|
||||||
node.server.deregister(node);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
RED.nodes.registerType("matrix-room-kick", MatrixKick);
|
RED.nodes.registerType("matrix-room-kick", MatrixKick);
|
||||||
}
|
}
|
@ -13,7 +13,6 @@ module.exports = function(RED) {
|
|||||||
node.warn("No configuration node");
|
node.warn("No configuration node");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
node.server.register(node);
|
|
||||||
|
|
||||||
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
||||||
|
|
||||||
@ -32,13 +31,13 @@ module.exports = function(RED) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(!node.server.isConnected()) {
|
if(!node.server.isConnected()) {
|
||||||
node.error("Matrix server connection is currently closed", msg);
|
node.error("Matrix server connection is currently closed");
|
||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
}
|
}
|
||||||
|
|
||||||
let roomId = node.roomId || msg.topic;
|
let roomId = node.roomId || msg.topic;
|
||||||
if(!roomId) {
|
if(!roomId) {
|
||||||
node.error("msg.topic is required. Specify in the input or configure the room ID on the node.", msg);
|
node.error("msg.topic is required. Specify in the input or configure the room ID on the node.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -66,10 +65,6 @@ module.exports = function(RED) {
|
|||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
node.on("close", function() {
|
|
||||||
node.server.deregister(node);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
RED.nodes.registerType("matrix-room-users", MatrixRoomUsers);
|
RED.nodes.registerType("matrix-room-users", MatrixRoomUsers);
|
||||||
}
|
}
|
@ -13,7 +13,6 @@ module.exports = function(RED) {
|
|||||||
node.warn("No configuration node");
|
node.warn("No configuration node");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
node.server.register(node);
|
|
||||||
|
|
||||||
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
||||||
|
|
||||||
@ -32,7 +31,7 @@ module.exports = function(RED) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(!node.server.isConnected()) {
|
if(!node.server.isConnected()) {
|
||||||
node.error("Matrix server connection is currently closed", msg);
|
node.error("Matrix server connection is currently closed");
|
||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -58,7 +57,7 @@ module.exports = function(RED) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(!msg.payload) {
|
if(!msg.payload) {
|
||||||
node.error('msg.payload is required', msg);
|
node.error('msg.payload is required');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -95,10 +94,6 @@ module.exports = function(RED) {
|
|||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
node.on("close", function() {
|
|
||||||
node.server.deregister(node);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
RED.nodes.registerType("matrix-send-file", MatrixSendFile);
|
RED.nodes.registerType("matrix-send-file", MatrixSendFile);
|
||||||
}
|
}
|
@ -13,7 +13,6 @@ module.exports = function(RED) {
|
|||||||
node.warn("No configuration node");
|
node.warn("No configuration node");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
node.server.register(node);
|
|
||||||
|
|
||||||
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
||||||
|
|
||||||
@ -32,7 +31,7 @@ module.exports = function(RED) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(!node.server.isConnected()) {
|
if(!node.server.isConnected()) {
|
||||||
node.error("Matrix server connection is currently closed", msg);
|
node.error("Matrix server connection is currently closed");
|
||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -58,7 +57,7 @@ module.exports = function(RED) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(!msg.payload) {
|
if(!msg.payload) {
|
||||||
node.error('msg.payload is required', msg);
|
node.error('msg.payload is required');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -99,10 +98,6 @@ module.exports = function(RED) {
|
|||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
node.on("close", function() {
|
|
||||||
node.server.deregister(node);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
RED.nodes.registerType("matrix-send-image", MatrixSendImage);
|
RED.nodes.registerType("matrix-send-image", MatrixSendImage);
|
||||||
}
|
}
|
@ -54,7 +54,6 @@ module.exports = function(RED) {
|
|||||||
node.warn("No configuration node");
|
node.warn("No configuration node");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
node.server.register(node);
|
|
||||||
|
|
||||||
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
||||||
|
|
||||||
@ -72,7 +71,7 @@ module.exports = function(RED) {
|
|||||||
|
|
||||||
if(msgType === 'msg.type') {
|
if(msgType === 'msg.type') {
|
||||||
if(!msg.type) {
|
if(!msg.type) {
|
||||||
node.error("msg.type type is set to be passed in via msg.type but was not defined", msg);
|
node.error("msg.type type is set to be passed in via msg.type but was not defined");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
msgType = msg.type;
|
msgType = msg.type;
|
||||||
@ -80,7 +79,7 @@ module.exports = function(RED) {
|
|||||||
|
|
||||||
if(msgFormat === 'msg.format') {
|
if(msgFormat === 'msg.format') {
|
||||||
if(!msg.format) {
|
if(!msg.format) {
|
||||||
node.error("Message format is set to be passed in via msg.format but was not defined", msg);
|
node.error("Message format is set to be passed in via msg.format but was not defined");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
msgFormat = msg.format;
|
msgFormat = msg.format;
|
||||||
@ -92,7 +91,7 @@ module.exports = function(RED) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(!node.server.isConnected()) {
|
if(!node.server.isConnected()) {
|
||||||
node.error("Matrix server connection is currently closed", msg);
|
node.error("Matrix server connection is currently closed");
|
||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -105,7 +104,7 @@ module.exports = function(RED) {
|
|||||||
|
|
||||||
let payload = n.message || msg.payload;
|
let payload = n.message || msg.payload;
|
||||||
if(!payload) {
|
if(!payload) {
|
||||||
node.error('msg.payload must be defined or the message configured on the node.', msg);
|
node.error('msg.payload must be defined or the message configured on the node.');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -153,10 +152,6 @@ module.exports = function(RED) {
|
|||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
node.on("close", function() {
|
|
||||||
node.server.deregister(node);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
RED.nodes.registerType("matrix-send-message", MatrixSendImage);
|
RED.nodes.registerType("matrix-send-message", MatrixSendImage);
|
||||||
}
|
}
|
@ -44,7 +44,6 @@ module.exports = function(RED) {
|
|||||||
this.credentials = {};
|
this.credentials = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
this.users = {};
|
|
||||||
this.connected = null;
|
this.connected = null;
|
||||||
this.name = n.name;
|
this.name = n.name;
|
||||||
this.userId = this.credentials.userId;
|
this.userId = this.credentials.userId;
|
||||||
@ -69,9 +68,9 @@ module.exports = function(RED) {
|
|||||||
let retryStartTimeout = null;
|
let retryStartTimeout = null;
|
||||||
|
|
||||||
if(!this.credentials.accessToken) {
|
if(!this.credentials.accessToken) {
|
||||||
node.error("Matrix connection failed: missing access token in configuration.", {});
|
node.error("Matrix connection failed: missing access token in configuration.");
|
||||||
} else if(!this.url) {
|
} else if(!this.url) {
|
||||||
node.error("Matrix connection failed: missing server URL in configuration.", {});
|
node.error("Matrix connection failed: missing server URL in configuration.");
|
||||||
} else {
|
} else {
|
||||||
node.setConnected = async function(connected, cb) {
|
node.setConnected = async function(connected, cb) {
|
||||||
if (node.connected !== connected) {
|
if (node.connected !== connected) {
|
||||||
@ -89,7 +88,7 @@ module.exports = function(RED) {
|
|||||||
device_id = this.matrixClient.getDeviceId();
|
device_id = this.matrixClient.getDeviceId();
|
||||||
|
|
||||||
if(!device_id && node.enableE2ee) {
|
if(!device_id && node.enableE2ee) {
|
||||||
node.error("Failed to auto detect deviceId for this auth token. You will need to manually specify one. You may need to login to create a new deviceId.", {})
|
node.error("Failed to auto detect deviceId for this auth token. You will need to manually specify one. You may need to login to create a new deviceId.")
|
||||||
} else {
|
} else {
|
||||||
if(!stored_device_id || stored_device_id !== device_id) {
|
if(!stored_device_id || stored_device_id !== device_id) {
|
||||||
node.log(`Saving Device ID (old:${stored_device_id} new:${device_id})`);
|
node.log(`Saving Device ID (old:${stored_device_id} new:${device_id})`);
|
||||||
@ -108,13 +107,13 @@ module.exports = function(RED) {
|
|||||||
}).then(
|
}).then(
|
||||||
function(response) {},
|
function(response) {},
|
||||||
function(error) {
|
function(error) {
|
||||||
node.error("Failed to set device label: " + error, {});
|
node.error("Failed to set device label: " + error);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
function(error) {
|
function(error) {
|
||||||
node.error("Failed to fetch device: " + error, {});
|
node.error("Failed to fetch device: " + error);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -190,7 +189,7 @@ module.exports = function(RED) {
|
|||||||
try {
|
try {
|
||||||
await node.matrixClient.decryptEventIfNeeded(event);
|
await node.matrixClient.decryptEventIfNeeded(event);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
node.error(error, {});
|
node.error(error);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -293,7 +292,7 @@ module.exports = function(RED) {
|
|||||||
} else if(prevState === null && state === "ERROR") {
|
} else if(prevState === null && state === "ERROR") {
|
||||||
// Occurs when the initial sync failed first time.
|
// Occurs when the initial sync failed first time.
|
||||||
node.setConnected(false, function(){
|
node.setConnected(false, function(){
|
||||||
node.error("Failed to connect to Matrix server", {});
|
node.error("Failed to connect to Matrix server");
|
||||||
});
|
});
|
||||||
} else if(prevState === "ERROR" && state === "PREPARED") {
|
} else if(prevState === "ERROR" && state === "PREPARED") {
|
||||||
// Occurs when the initial sync succeeds
|
// Occurs when the initial sync succeeds
|
||||||
@ -310,18 +309,18 @@ module.exports = function(RED) {
|
|||||||
} else if(prevState === "SYNCING" && state === "RECONNECTING") {
|
} else if(prevState === "SYNCING" && state === "RECONNECTING") {
|
||||||
// Occurs when the live update fails.
|
// Occurs when the live update fails.
|
||||||
node.setConnected(false, function(){
|
node.setConnected(false, function(){
|
||||||
node.error("Connection to Matrix server lost", {});
|
node.error("Connection to Matrix server lost");
|
||||||
});
|
});
|
||||||
} else if(prevState === "RECONNECTING" && state === "RECONNECTING") {
|
} else if(prevState === "RECONNECTING" && state === "RECONNECTING") {
|
||||||
// Can occur if the update calls continue to fail,
|
// Can occur if the update calls continue to fail,
|
||||||
// but the keepalive calls (to /versions) succeed.
|
// but the keepalive calls (to /versions) succeed.
|
||||||
node.setConnected(false, function(){
|
node.setConnected(false, function(){
|
||||||
node.error("Connection to Matrix server lost", {});
|
node.error("Connection to Matrix server lost");
|
||||||
});
|
});
|
||||||
} else if(prevState === "RECONNECTING" && state === "ERROR") {
|
} else if(prevState === "RECONNECTING" && state === "ERROR") {
|
||||||
// Occurs when the keepalive call also fails
|
// Occurs when the keepalive call also fails
|
||||||
node.setConnected(false, function(){
|
node.setConnected(false, function(){
|
||||||
node.error("Connection to Matrix server lost", {});
|
node.error("Connection to Matrix server lost");
|
||||||
});
|
});
|
||||||
} else if(prevState === "ERROR" && state === "SYNCING") {
|
} else if(prevState === "ERROR" && state === "SYNCING") {
|
||||||
// Occurs when the client has performed a
|
// Occurs when the client has performed a
|
||||||
@ -333,7 +332,7 @@ module.exports = function(RED) {
|
|||||||
// Occurs when the client has failed to
|
// Occurs when the client has failed to
|
||||||
// keepalive for a second time or more.
|
// keepalive for a second time or more.
|
||||||
node.setConnected(false, function(){
|
node.setConnected(false, function(){
|
||||||
node.error("Connection to Matrix server lost", {});
|
node.error("Connection to Matrix server lost");
|
||||||
});
|
});
|
||||||
} else if(prevState === "SYNCING" && state === "SYNCING") {
|
} else if(prevState === "SYNCING" && state === "SYNCING") {
|
||||||
// Occurs when the client has performed a live update.
|
// Occurs when the client has performed a live update.
|
||||||
@ -345,7 +344,7 @@ module.exports = function(RED) {
|
|||||||
// Occurs once the client has stopped syncing or
|
// Occurs once the client has stopped syncing or
|
||||||
// trying to sync after stopClient has been called.
|
// trying to sync after stopClient has been called.
|
||||||
node.setConnected(false, function(){
|
node.setConnected(false, function(){
|
||||||
node.error("Connection to Matrix server lost", {});
|
node.error("Connection to Matrix server lost");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -363,7 +362,7 @@ module.exports = function(RED) {
|
|||||||
// httpStatus: 401
|
// httpStatus: 401
|
||||||
// }
|
// }
|
||||||
|
|
||||||
node.error("Authentication failure: " + errorObj, {});
|
node.error("Authentication failure: " + errorObj);
|
||||||
stopClient();
|
stopClient();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -379,7 +378,7 @@ module.exports = function(RED) {
|
|||||||
initialSyncLimit: 8
|
initialSyncLimit: 8
|
||||||
});
|
});
|
||||||
} catch(error) {
|
} catch(error) {
|
||||||
node.error(error, {});
|
node.error(error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -400,7 +399,7 @@ module.exports = function(RED) {
|
|||||||
.then(
|
.then(
|
||||||
function(data) {
|
function(data) {
|
||||||
if((typeof data['device_id'] === undefined || !data['device_id']) && !node.deviceId && !getStoredDeviceId(localStorage)) {
|
if((typeof data['device_id'] === undefined || !data['device_id']) && !node.deviceId && !getStoredDeviceId(localStorage)) {
|
||||||
node.error("/whoami request did not return device_id. You will need to manually set one in your configuration because this cannot be automatically fetched.", {});
|
node.error("/whoami request did not return device_id. You will need to manually set one in your configuration because this cannot be automatically fetched.");
|
||||||
}
|
}
|
||||||
if('device_id' in data && data['device_id'] && !node.deviceId) {
|
if('device_id' in data && data['device_id'] && !node.deviceId) {
|
||||||
// if we have no device_id configured lets use the one
|
// if we have no device_id configured lets use the one
|
||||||
@ -410,7 +409,7 @@ module.exports = function(RED) {
|
|||||||
|
|
||||||
// make sure our userId matches the access token's
|
// make sure our userId matches the access token's
|
||||||
if(data['user_id'].toLowerCase() !== node.userId.toLowerCase()) {
|
if(data['user_id'].toLowerCase() !== node.userId.toLowerCase()) {
|
||||||
node.error(`User ID provided is ${node.userId} but token belongs to ${data['user_id']}`, {});
|
node.error(`User ID provided is ${node.userId} but token belongs to ${data['user_id']}`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
run().catch((error) => node.error(error));
|
run().catch((error) => node.error(error));
|
||||||
@ -419,19 +418,11 @@ module.exports = function(RED) {
|
|||||||
// if the error isn't authentication related retry in a little bit
|
// if the error isn't authentication related retry in a little bit
|
||||||
if(err.code !== "M_UNKNOWN_TOKEN") {
|
if(err.code !== "M_UNKNOWN_TOKEN") {
|
||||||
retryStartTimeout = setTimeout(checkAuthTokenThenStart, 15000);
|
retryStartTimeout = setTimeout(checkAuthTokenThenStart, 15000);
|
||||||
node.error("Auth check failed: " + err, {});
|
node.error("Auth check failed: " + err);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
})();
|
})();
|
||||||
|
|
||||||
// Keep track of all consumers of this node to be able to catch errors
|
|
||||||
node.register = function(consumerNode) {
|
|
||||||
node.users[consumerNode.id] = consumerNode;
|
|
||||||
};
|
|
||||||
node.deregister = function(consumerNode) {
|
|
||||||
delete node.users[consumerNode.id];
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -503,7 +494,7 @@ module.exports = function(RED) {
|
|||||||
fs.copySync(oldStorageDir, dir);
|
fs.copySync(oldStorageDir, dir);
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
node.error(err, {});
|
node.error(err);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -8,10 +8,9 @@ module.exports = function(RED) {
|
|||||||
this.server = RED.nodes.getNode(n.server);
|
this.server = RED.nodes.getNode(n.server);
|
||||||
|
|
||||||
if(!this.server) {
|
if(!this.server) {
|
||||||
node.error('Server must be configured on the node.', {});
|
node.error('Server must be configured on the node.');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
node.server.register(node);
|
|
||||||
|
|
||||||
this.encodeUri = function(pathTemplate, variables) {
|
this.encodeUri = function(pathTemplate, variables) {
|
||||||
for (const key in variables) {
|
for (const key in variables) {
|
||||||
@ -42,12 +41,12 @@ module.exports = function(RED) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(!node.server.isConnected()) {
|
if(!node.server.isConnected()) {
|
||||||
node.error("Matrix server connection is currently closed", msg);
|
node.error("Matrix server connection is currently closed");
|
||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!msg.userId) {
|
if(!msg.userId) {
|
||||||
node.error("msg.userId must be set to edit/create a user (ex: @user:server.com)", msg);
|
node.error("msg.userId must be set to edit/create a user (ex: @user:server.com)");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,10 +69,6 @@ module.exports = function(RED) {
|
|||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
node.on("close", function() {
|
|
||||||
node.server.deregister(node);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
RED.nodes.registerType("matrix-synapse-create-edit-user", MatrixSynapseCreateEditUser);
|
RED.nodes.registerType("matrix-synapse-create-edit-user", MatrixSynapseCreateEditUser);
|
||||||
}
|
}
|
@ -8,10 +8,9 @@ module.exports = function(RED) {
|
|||||||
this.server = RED.nodes.getNode(n.server);
|
this.server = RED.nodes.getNode(n.server);
|
||||||
|
|
||||||
if(!this.server) {
|
if(!this.server) {
|
||||||
node.error('Server must be configured on the node.', {});
|
node.error('Server must be configured on the node.');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
node.server.register(node);
|
|
||||||
|
|
||||||
this.encodeUri = function(pathTemplate, variables) {
|
this.encodeUri = function(pathTemplate, variables) {
|
||||||
for (const key in variables) {
|
for (const key in variables) {
|
||||||
@ -42,12 +41,12 @@ module.exports = function(RED) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(!node.server.isConnected()) {
|
if(!node.server.isConnected()) {
|
||||||
node.error("Matrix server connection is currently closed", msg);
|
node.error("Matrix server connection is currently closed");
|
||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!msg.userId) {
|
if(!msg.userId) {
|
||||||
node.error("msg.userId must be set to edit/create a user (ex: @user:server.com)", msg);
|
node.error("msg.userId must be set to edit/create a user (ex: @user:server.com)");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -71,10 +70,6 @@ module.exports = function(RED) {
|
|||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
node.on("close", function() {
|
|
||||||
node.server.deregister(node);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
RED.nodes.registerType("matrix-synapse-deactivate-user", MatrixSynapseDeactivateUser);
|
RED.nodes.registerType("matrix-synapse-deactivate-user", MatrixSynapseDeactivateUser);
|
||||||
}
|
}
|
@ -9,9 +9,10 @@ module.exports = function(RED) {
|
|||||||
this.roomId = n.roomId;
|
this.roomId = n.roomId;
|
||||||
|
|
||||||
if(!this.server) {
|
if(!this.server) {
|
||||||
node.error('Server must be configured on the node.', {});
|
node.error('Server must be configured on the node.');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.encodeUri = function(pathTemplate, variables) {
|
this.encodeUri = function(pathTemplate, variables) {
|
||||||
for (const key in variables) {
|
for (const key in variables) {
|
||||||
if (!variables.hasOwnProperty(key)) {
|
if (!variables.hasOwnProperty(key)) {
|
||||||
@ -41,18 +42,18 @@ module.exports = function(RED) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(!node.server.isConnected()) {
|
if(!node.server.isConnected()) {
|
||||||
node.error("Matrix server connection is currently closed", msg);
|
node.error("Matrix server connection is currently closed");
|
||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
}
|
}
|
||||||
|
|
||||||
msg.topic = node.roomId || msg.topic;
|
msg.topic = node.roomId || msg.topic;
|
||||||
if(!msg.topic) {
|
if(!msg.topic) {
|
||||||
node.error("room must be defined in either msg.topic or in node config", msg);
|
node.error("room must be defined in either msg.topic or in node config");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!msg.userId) {
|
if(!msg.userId) {
|
||||||
node.error("msg.userId is required to set user into a room", msg);
|
node.error("msg.userId is required to set user into a room");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -76,10 +77,6 @@ module.exports = function(RED) {
|
|||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
node.on("close", function() {
|
|
||||||
node.server.deregister(node);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
RED.nodes.registerType("matrix-synapse-join-room", MatrixJoinRoom);
|
RED.nodes.registerType("matrix-synapse-join-room", MatrixJoinRoom);
|
||||||
}
|
}
|
@ -12,27 +12,25 @@ module.exports = function(RED) {
|
|||||||
this.sharedSecret = this.credentials.sharedSecret;
|
this.sharedSecret = this.credentials.sharedSecret;
|
||||||
|
|
||||||
if(!this.server) {
|
if(!this.server) {
|
||||||
node.error('Server URL must be configured on the node.', {});
|
node.error('Server URL must be configured on the node.');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!this.sharedSecret) {
|
if(!this.sharedSecret) {
|
||||||
node.error('Shared registration secret must be configured on the node.', {});
|
node.error('Shared registration secret must be configured on the node.');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
node.server.register(node);
|
|
||||||
|
|
||||||
node.on("input", async function (msg) {
|
node.on("input", async function (msg) {
|
||||||
const { got } = await import('got');
|
const { got } = await import('got');
|
||||||
|
|
||||||
if(!msg.payload.username) {
|
if(!msg.payload.username) {
|
||||||
node.error("msg.payload.username is required", msg);
|
node.error("msg.payload.username is required");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!msg.payload.password) {
|
if(!msg.payload.password) {
|
||||||
node.error("msg.payload.password is required", msg);
|
node.error("msg.payload.password is required");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -52,7 +50,7 @@ module.exports = function(RED) {
|
|||||||
|
|
||||||
var nonce = response.body.nonce;
|
var nonce = response.body.nonce;
|
||||||
if(!nonce) {
|
if(!nonce) {
|
||||||
node.error('Could not get nonce from /_synapse/admin/v1/register', msg);
|
node.error('Could not get nonce from /_synapse/admin/v1/register');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -98,10 +96,6 @@ module.exports = function(RED) {
|
|||||||
node.send(msg);
|
node.send(msg);
|
||||||
})();
|
})();
|
||||||
});
|
});
|
||||||
|
|
||||||
node.on("close", function() {
|
|
||||||
node.server.deregister(node);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
RED.nodes.registerType("matrix-synapse-register", MatrixSynapseRegister, {
|
RED.nodes.registerType("matrix-synapse-register", MatrixSynapseRegister, {
|
||||||
credentials: {
|
credentials: {
|
||||||
|
@ -12,8 +12,6 @@ module.exports = function(RED) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
node.server.register(node);
|
|
||||||
|
|
||||||
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
node.status({ fill: "red", shape: "ring", text: "disconnected" });
|
||||||
|
|
||||||
node.server.on("disconnected", function(){
|
node.server.on("disconnected", function(){
|
||||||
@ -31,7 +29,7 @@ module.exports = function(RED) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(!node.server.isConnected()) {
|
if(!node.server.isConnected()) {
|
||||||
node.error("Matrix server connection is currently closed", msg);
|
node.error("Matrix server connection is currently closed");
|
||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -64,10 +62,6 @@ module.exports = function(RED) {
|
|||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
node.on("close", function() {
|
|
||||||
node.server.deregister(node);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
RED.nodes.registerType("matrix-synapse-users", MatrixSynapseUsers);
|
RED.nodes.registerType("matrix-synapse-users", MatrixSynapseUsers);
|
||||||
}
|
}
|
@ -8,12 +8,10 @@ module.exports = function(RED) {
|
|||||||
this.server = RED.nodes.getNode(n.server);
|
this.server = RED.nodes.getNode(n.server);
|
||||||
|
|
||||||
if(!this.server) {
|
if(!this.server) {
|
||||||
node.error('Server must be configured on the node.', {});
|
node.error('Server must be configured on the node.');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
node.server.register(node);
|
|
||||||
|
|
||||||
this.encodeUri = function(pathTemplate, variables) {
|
this.encodeUri = function(pathTemplate, variables) {
|
||||||
for (const key in variables) {
|
for (const key in variables) {
|
||||||
if (!variables.hasOwnProperty(key)) {
|
if (!variables.hasOwnProperty(key)) {
|
||||||
@ -43,12 +41,12 @@ module.exports = function(RED) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(!node.server.isConnected()) {
|
if(!node.server.isConnected()) {
|
||||||
node.error("Matrix server connection is currently closed", msg);
|
node.error("Matrix server connection is currently closed");
|
||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!msg.userId) {
|
if(!msg.userId) {
|
||||||
node.error("msg.userId must be set to get user whois data", msg);
|
node.error("msg.userId must be set to get user whois data");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -72,10 +70,6 @@ module.exports = function(RED) {
|
|||||||
node.send([null, msg]);
|
node.send([null, msg]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
node.on("close", function() {
|
|
||||||
node.server.deregister(node);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
RED.nodes.registerType("matrix-whois-user", MatrixWhoIsUser);
|
RED.nodes.registerType("matrix-whois-user", MatrixWhoIsUser);
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user