151 lines
4.9 KiB
JSON
151 lines
4.9 KiB
JSON
|
[
|
||
|
{
|
||
|
"id": "2eb2dd1b5dbdd03b",
|
||
|
"type": "comment",
|
||
|
"z": "f025a8b9fbd1b054",
|
||
|
"name": "Response to \"rooms\" with all rooms",
|
||
|
"info": "",
|
||
|
"x": 580,
|
||
|
"y": 2500,
|
||
|
"wires": []
|
||
|
},
|
||
|
{
|
||
|
"id": "f3415a10f124d586",
|
||
|
"type": "function",
|
||
|
"z": "f025a8b9fbd1b054",
|
||
|
"name": "",
|
||
|
"func": "let matches = msg.payload.match(/^rooms ?(\\@.*)?/);\nmsg.userId = matches[1] ? matches[1] : null;\nreturn msg;",
|
||
|
"outputs": 1,
|
||
|
"noerr": 0,
|
||
|
"initialize": "",
|
||
|
"finalize": "",
|
||
|
"libs": [],
|
||
|
"x": 420,
|
||
|
"y": 2620,
|
||
|
"wires": [
|
||
|
[
|
||
|
"2cae98732747989d"
|
||
|
]
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"id": "2cae98732747989d",
|
||
|
"type": "function",
|
||
|
"z": "f025a8b9fbd1b054",
|
||
|
"name": "Room List (for user or all)",
|
||
|
"func": "let matrixClient = global.get(\"matrixClient['@bot:example.com']\"),\n matrixOnline = global.get(\"matrixClientOnline['@bot:example.com']\");\n\nif(!matrixOnline) {\n msg.payload = 'Matrix client not connected.';\n return [null, msg];\n}\n\nif(msg.userId) {\n matrixClient.http\n .authedRequest(\n undefined,\n 'GET',\n `/_synapse/admin/v1/users/${msg.userId}/joined_rooms`,\n {}, // query params\n undefined,\n { prefix: '' }\n ).then(function(e){\n msg.payload = e;\n if(!e.joined_rooms) {\n msg.payload = 'User is not part of any rooms.';\n } else {\n msg.payload = `${msg.userId}'s rooms:`;\n msg.payload += '<ul>';\n e.joined_rooms.forEach(function(room_id){\n msg.payload += `<li>${room_id}</li>`;\n });\n msg.payload += '</ul>'\n }\n node.send([msg, null]);\n }).catch(function(e){\n node.warn(\"Error fetching server user list \" + e);\n msg.payload = e;\n node.send([null, msg]);\n });\n} else {\n matrixClient.http\n .authedRequest(\n undefined,\n 'GET',\n `/_synapse/admin/v1/rooms`,\n {}, // query params\n undefined,\n { prefix: '' }\n ).then(function(e){\n msg.payload = e;\n if(!e.rooms) {\n msg.payload = 'Server has no rooms.';\n } else {\n msg.payload = `Server rooms:`;\n msg.payload += '<ul>';\n e.rooms.forEach(function(room){\n msg.payload += `<li>${room.name} - ${room.room_id} (members: ${room.joined_members} | creator: ${room.creator})</li>`;\n });\n msg.payload += '</ul>'\n }\n node.send([msg, null]);\n }).catch(function(e){\n node.warn(\"Error fetching server user list \" + e);\n msg.payload = e;\n node.send([null, msg]);\n });\n}",
|
||
|
"outputs": 2,
|
||
|
"noerr": 0,
|
||
|
"initialize": "",
|
||
|
"finalize": "",
|
||
|
"libs": [],
|
||
|
"x": 610,
|
||
|
"y": 2620,
|
||
|
"wires": [
|
||
|
[
|
||
|
"d7508993ec1ce895"
|
||
|
],
|
||
|
[
|
||
|
"d7508993ec1ce895"
|
||
|
]
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"id": "2f8c696ec0dc8f6d",
|
||
|
"type": "comment",
|
||
|
"z": "f025a8b9fbd1b054",
|
||
|
"name": "Respond to \"rooms <user_id>\" with that user's rooms",
|
||
|
"info": "",
|
||
|
"x": 590,
|
||
|
"y": 2540,
|
||
|
"wires": []
|
||
|
},
|
||
|
{
|
||
|
"id": "d7508993ec1ce895",
|
||
|
"type": "matrix-send-message",
|
||
|
"z": "f025a8b9fbd1b054",
|
||
|
"name": "Send HTML Message",
|
||
|
"server": null,
|
||
|
"roomId": "",
|
||
|
"messageType": "m.text",
|
||
|
"messageFormat": "html",
|
||
|
"x": 840,
|
||
|
"y": 2620,
|
||
|
"wires": [
|
||
|
[],
|
||
|
[]
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"id": "13a9a0331352338a",
|
||
|
"type": "switch",
|
||
|
"z": "f025a8b9fbd1b054",
|
||
|
"name": "is from me",
|
||
|
"property": "userId",
|
||
|
"propertyType": "msg",
|
||
|
"rules": [
|
||
|
{
|
||
|
"t": "eq",
|
||
|
"v": "@skylord123:skylar.tech",
|
||
|
"vt": "str"
|
||
|
}
|
||
|
],
|
||
|
"checkall": "true",
|
||
|
"repair": false,
|
||
|
"outputs": 1,
|
||
|
"x": 590,
|
||
|
"y": 2580,
|
||
|
"wires": [
|
||
|
[
|
||
|
"afe88b8e115f661f"
|
||
|
]
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"id": "e261cc12da739901",
|
||
|
"type": "matrix-receive",
|
||
|
"z": "f025a8b9fbd1b054",
|
||
|
"name": "",
|
||
|
"server": null,
|
||
|
"roomId": "",
|
||
|
"acceptText": true,
|
||
|
"acceptEmotes": true,
|
||
|
"acceptStickers": true,
|
||
|
"acceptReactions": true,
|
||
|
"acceptFiles": true,
|
||
|
"acceptImages": true,
|
||
|
"x": 420,
|
||
|
"y": 2580,
|
||
|
"wires": [
|
||
|
[
|
||
|
"13a9a0331352338a"
|
||
|
]
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"id": "afe88b8e115f661f",
|
||
|
"type": "switch",
|
||
|
"z": "f025a8b9fbd1b054",
|
||
|
"name": "msg.payload filter",
|
||
|
"property": "payload",
|
||
|
"propertyType": "msg",
|
||
|
"rules": [
|
||
|
{
|
||
|
"t": "regex",
|
||
|
"v": "^rooms",
|
||
|
"vt": "str",
|
||
|
"case": false
|
||
|
}
|
||
|
],
|
||
|
"checkall": "true",
|
||
|
"repair": false,
|
||
|
"outputs": 1,
|
||
|
"x": 770,
|
||
|
"y": 2580,
|
||
|
"wires": [
|
||
|
[
|
||
|
"f3415a10f124d586"
|
||
|
]
|
||
|
]
|
||
|
}
|
||
|
]
|