From d7c4bc26bbe4b7dd8f6ce93ebbf4c253e261e83f Mon Sep 17 00:00:00 2001 From: Skylar Sadlier Date: Sun, 22 Oct 2023 16:56:49 -0600 Subject: [PATCH] - #100 add documentation for new typing node and update README - #100 fix typing event causing server error due to number being string - Mention using pantalaimon as an alternative for E2EE support in README --- README.md | 2 + examples/README.md | 10 +++ examples/send-typing-events.json | 127 +++++++++++++++++++++++++++++++ examples/send-typing-events.png | Bin 0 -> 18957 bytes src/matrix-typing.html | 6 +- src/matrix-typing.js | 4 +- 6 files changed, 147 insertions(+), 2 deletions(-) create mode 100644 examples/send-typing-events.json create mode 100644 examples/send-typing-events.png diff --git a/README.md b/README.md index 32d723b..2bddaa6 100644 --- a/README.md +++ b/README.md @@ -11,9 +11,11 @@ The following is supported from this package: - End-to-end encryption - [Currently a WIP](#end-to-end-encryption-notes) + - Can also use [pantalaimon](https://github.com/matrix-org/pantalaimon) as an alternative solution to E2EE (if you need multiple sessions synced up with keys) - Receive events from a room (messages, reactions, images, audio, locations, and files) whether encrypted or not - Send Images/Files (sending files to e2ee room doesn't currently encrypt them yet) - Edit messages +- Send typing events (Bot is typing ...) - Delete events (messages, reactions, etc) - Decrypt files in e2ee rooms - Send HTML/Plain Text Message/Notice diff --git a/examples/README.md b/examples/README.md index 5eaf8cf..9385a2e 100644 --- a/examples/README.md +++ b/examples/README.md @@ -24,6 +24,7 @@ Build something cool with these nodes? Feel free to submit a pull request to sha - [Respond to "rooms " with user's rooms (list server's rooms if is left blank)](#respond-to-rooms-user_id-with-users-rooms-list-servers-rooms-if-user_id-is-left-blank) - [Respond to "whois " with information about the user's session](#respond-to-whois-user_id-with-information-about-the-users-session) - [Respond to "room_users" with current room's users](#respond-to-room_users-with-current-rooms-users) +- [Sending typing events to a room](#sending-typing-events-to-a-room) - [Download & store all received files/images](#download--store-all-received-filesimages) - [Kick/Ban user from room](#kickban-user-from-room) - [Deactivate user](#deactivate-user) @@ -221,6 +222,15 @@ Note: You may need to edit the storage directory for this to work. Default actio ![store-received-files.png](store-received-files.png) +### Sending typing events to a room + +[View JSON](send-typing-events.json) + +You can tell a room that Node-RED is writing a message and also cancel the writing event. This can be useful for making bots feel more interactive (show typing while requesting API endpoint for example). + +![store-received-files.png](send-typing-events.png) + + ### Kick/Ban user from room [View JSON](room-kick-ban.json) diff --git a/examples/send-typing-events.json b/examples/send-typing-events.json new file mode 100644 index 0000000..e73f7b7 --- /dev/null +++ b/examples/send-typing-events.json @@ -0,0 +1,127 @@ +[ + { + "id": "541dbfc3f04220cf", + "type": "matrix-typing", + "z": "f025a8b9fbd1b054", + "name": "", + "server": null, + "roomType": "msg", + "roomValue": "topic", + "typingType": "msg", + "typingValue": "typing", + "timeoutMsType": "num", + "timeoutMsValue": "20000", + "x": 1090, + "y": 220, + "wires": [ + [ + "febf8236f3683963" + ], + [ + "9db9819ebb6343c8" + ] + ] + }, + { + "id": "d7c3714c657bfe4f", + "type": "inject", + "z": "f025a8b9fbd1b054", + "name": "Start Typing", + "props": [ + { + "p": "topic", + "vt": "str" + }, + { + "p": "typing", + "v": "true", + "vt": "bool" + } + ], + "repeat": "", + "crontab": "", + "once": false, + "onceDelay": 0.1, + "topic": "!mohVKgDFYUubJQHcuX:skylar.tech", + "x": 910, + "y": 200, + "wires": [ + [ + "541dbfc3f04220cf" + ] + ] + }, + { + "id": "783121ff1a6bd833", + "type": "inject", + "z": "f025a8b9fbd1b054", + "name": "Stop Typing", + "props": [ + { + "p": "topic", + "vt": "str" + }, + { + "p": "typing", + "v": "false", + "vt": "bool" + } + ], + "repeat": "", + "crontab": "", + "once": false, + "onceDelay": 0.1, + "topic": "!mohVKgDFYUubJQHcuX:skylar.tech", + "x": 910, + "y": 240, + "wires": [ + [ + "541dbfc3f04220cf" + ] + ] + }, + { + "id": "9db9819ebb6343c8", + "type": "debug", + "z": "f025a8b9fbd1b054", + "name": "Failure msg", + "active": true, + "tosidebar": true, + "console": false, + "tostatus": false, + "complete": "true", + "targetType": "full", + "statusVal": "", + "statusType": "auto", + "x": 1270, + "y": 240, + "wires": [] + }, + { + "id": "febf8236f3683963", + "type": "debug", + "z": "f025a8b9fbd1b054", + "name": "Success msg", + "active": true, + "tosidebar": true, + "console": false, + "tostatus": false, + "complete": "true", + "targetType": "full", + "statusVal": "", + "statusType": "auto", + "x": 1270, + "y": 200, + "wires": [] + }, + { + "id": "01e8c4c6303af390", + "type": "comment", + "z": "f025a8b9fbd1b054", + "name": "Send typing events to a room", + "info": "", + "x": 940, + "y": 160, + "wires": [] + } +] \ No newline at end of file diff --git a/examples/send-typing-events.png b/examples/send-typing-events.png new file mode 100644 index 0000000000000000000000000000000000000000..703bc2d3626e8e712f2767104d6a2bffa9169bbc GIT binary patch literal 18957 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 literal 0 HcmV?d00001 diff --git a/src/matrix-typing.html b/src/matrix-typing.html index 0be8db8..b426357 100644 --- a/src/matrix-typing.html +++ b/src/matrix-typing.html @@ -12,7 +12,7 @@ roomType: { value: "msg" }, roomValue: { value: "topic" }, typingType: { value: "bool" }, - typingValue: { value: true }, + typingValue: { value: "true" }, timeoutMsType: { value: "num" }, timeoutMsValue: { value: 20000 }, }, @@ -74,6 +74,10 @@ + +
+ Timeout MS is how many milliseconds the server should show the user typing for. +