wechaty-puppet-matrix 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/README.md +14 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/src/cleanup.d.ts +4 -0
- package/dist/cjs/src/cleanup.d.ts.map +1 -0
- package/dist/cjs/src/cleanup.js +31 -0
- package/dist/cjs/src/config.d.ts +5 -0
- package/dist/cjs/src/config.d.ts.map +1 -0
- package/dist/cjs/src/config.js +10 -0
- package/dist/cjs/src/engine-schema.d.ts +76 -0
- package/dist/cjs/src/engine-schema.d.ts.map +1 -0
- package/dist/cjs/src/engine-schema.js +14 -0
- package/dist/cjs/src/matrix/cache-manager.d.ts +58 -0
- package/dist/cjs/src/matrix/cache-manager.d.ts.map +1 -0
- package/dist/cjs/src/matrix/cache-manager.js +286 -0
- package/dist/cjs/src/matrix/events/event-friendship.d.ts +6 -0
- package/dist/cjs/src/matrix/events/event-friendship.d.ts.map +1 -0
- package/dist/cjs/src/matrix/events/event-friendship.js +109 -0
- package/dist/cjs/src/matrix/events/event-message.d.ts +6 -0
- package/dist/cjs/src/matrix/events/event-message.d.ts.map +1 -0
- package/dist/cjs/src/matrix/events/event-message.js +5 -0
- package/dist/cjs/src/matrix/events/event-room-invite.d.ts +6 -0
- package/dist/cjs/src/matrix/events/event-room-invite.d.ts.map +1 -0
- package/dist/cjs/src/matrix/events/event-room-invite.js +55 -0
- package/dist/cjs/src/matrix/events/event-room-join.d.ts +6 -0
- package/dist/cjs/src/matrix/events/event-room-join.d.ts.map +1 -0
- package/dist/cjs/src/matrix/events/event-room-join.js +127 -0
- package/dist/cjs/src/matrix/events/event-room-leave.d.ts +8 -0
- package/dist/cjs/src/matrix/events/event-room-leave.d.ts.map +1 -0
- package/dist/cjs/src/matrix/events/event-room-leave.js +83 -0
- package/dist/cjs/src/matrix/events/event-room-topic.d.ts +6 -0
- package/dist/cjs/src/matrix/events/event-room-topic.d.ts.map +1 -0
- package/dist/cjs/src/matrix/events/event-room-topic.js +56 -0
- package/dist/cjs/src/matrix/events/event.d.ts +28 -0
- package/dist/cjs/src/matrix/events/event.d.ts.map +1 -0
- package/dist/cjs/src/matrix/events/event.js +42 -0
- package/dist/cjs/src/matrix/events/mod.d.ts +3 -0
- package/dist/cjs/src/matrix/events/mod.d.ts.map +1 -0
- package/dist/cjs/src/matrix/events/mod.js +21 -0
- package/dist/cjs/src/matrix/messages/message-appmsg.d.ts +57 -0
- package/dist/cjs/src/matrix/messages/message-appmsg.d.ts.map +1 -0
- package/dist/cjs/src/matrix/messages/message-appmsg.js +60 -0
- package/dist/cjs/src/matrix/messages/message-audio.d.ts +32 -0
- package/dist/cjs/src/matrix/messages/message-audio.d.ts.map +1 -0
- package/dist/cjs/src/matrix/messages/message-audio.js +17 -0
- package/dist/cjs/src/matrix/messages/message-emotion.d.ts +13 -0
- package/dist/cjs/src/matrix/messages/message-emotion.d.ts.map +1 -0
- package/dist/cjs/src/matrix/messages/message-emotion.js +32 -0
- package/dist/cjs/src/matrix/messages/message-image.d.ts +33 -0
- package/dist/cjs/src/matrix/messages/message-image.d.ts.map +1 -0
- package/dist/cjs/src/matrix/messages/message-image.js +14 -0
- package/dist/cjs/src/matrix/messages/message-miniprogram.d.ts +4 -0
- package/dist/cjs/src/matrix/messages/message-miniprogram.d.ts.map +1 -0
- package/dist/cjs/src/matrix/messages/message-miniprogram.js +21 -0
- package/dist/cjs/src/matrix/messages/message-sysmsg.d.ts +18 -0
- package/dist/cjs/src/matrix/messages/message-sysmsg.d.ts.map +1 -0
- package/dist/cjs/src/matrix/messages/message-sysmsg.js +76 -0
- package/dist/cjs/src/matrix/messages/message-video.d.ts +43 -0
- package/dist/cjs/src/matrix/messages/message-video.d.ts.map +1 -0
- package/dist/cjs/src/matrix/messages/message-video.js +20 -0
- package/dist/cjs/src/matrix/messages/sysmsg/message-pat.d.ts +14 -0
- package/dist/cjs/src/matrix/messages/sysmsg/message-pat.d.ts.map +1 -0
- package/dist/cjs/src/matrix/messages/sysmsg/message-pat.js +11 -0
- package/dist/cjs/src/matrix/messages/sysmsg/message-revokemsg.d.ts +19 -0
- package/dist/cjs/src/matrix/messages/sysmsg/message-revokemsg.d.ts.map +1 -0
- package/dist/cjs/src/matrix/messages/sysmsg/message-revokemsg.js +48 -0
- package/dist/cjs/src/matrix/messages/sysmsg/message-sysmsgtemplate.d.ts +59 -0
- package/dist/cjs/src/matrix/messages/sysmsg/message-sysmsgtemplate.d.ts.map +1 -0
- package/dist/cjs/src/matrix/messages/sysmsg/message-sysmsgtemplate.js +61 -0
- package/dist/cjs/src/matrix/messages/sysmsg/message-todo.d.ts +31 -0
- package/dist/cjs/src/matrix/messages/sysmsg/message-todo.d.ts.map +1 -0
- package/dist/cjs/src/matrix/messages/sysmsg/message-todo.js +16 -0
- package/dist/cjs/src/matrix/schema-mapper/contact.d.ts +4 -0
- package/dist/cjs/src/matrix/schema-mapper/contact.d.ts.map +1 -0
- package/dist/cjs/src/matrix/schema-mapper/contact.js +62 -0
- package/dist/cjs/src/matrix/schema-mapper/message/message-parser-appmsg.d.ts +3 -0
- package/dist/cjs/src/matrix/schema-mapper/message/message-parser-appmsg.d.ts.map +1 -0
- package/dist/cjs/src/matrix/schema-mapper/message/message-parser-appmsg.js +100 -0
- package/dist/cjs/src/matrix/schema-mapper/message/message-parser-refermsg.d.ts +3 -0
- package/dist/cjs/src/matrix/schema-mapper/message/message-parser-refermsg.d.ts.map +1 -0
- package/dist/cjs/src/matrix/schema-mapper/message/message-parser-refermsg.js +67 -0
- package/dist/cjs/src/matrix/schema-mapper/message/message-parser-room.d.ts +3 -0
- package/dist/cjs/src/matrix/schema-mapper/message/message-parser-room.d.ts.map +1 -0
- package/dist/cjs/src/matrix/schema-mapper/message/message-parser-room.js +40 -0
- package/dist/cjs/src/matrix/schema-mapper/message/message-parser-single-chat.d.ts +3 -0
- package/dist/cjs/src/matrix/schema-mapper/message/message-parser-single-chat.d.ts.map +1 -0
- package/dist/cjs/src/matrix/schema-mapper/message/message-parser-single-chat.js +11 -0
- package/dist/cjs/src/matrix/schema-mapper/message/message-parser-sysmsg.d.ts +3 -0
- package/dist/cjs/src/matrix/schema-mapper/message/message-parser-sysmsg.d.ts.map +1 -0
- package/dist/cjs/src/matrix/schema-mapper/message/message-parser-sysmsg.js +41 -0
- package/dist/cjs/src/matrix/schema-mapper/message/message-parser-type.d.ts +3 -0
- package/dist/cjs/src/matrix/schema-mapper/message/message-parser-type.d.ts.map +1 -0
- package/dist/cjs/src/matrix/schema-mapper/message/message-parser-type.js +65 -0
- package/dist/cjs/src/matrix/schema-mapper/message/message-parser.d.ts +13 -0
- package/dist/cjs/src/matrix/schema-mapper/message/message-parser.d.ts.map +1 -0
- package/dist/cjs/src/matrix/schema-mapper/message/message-parser.js +20 -0
- package/dist/cjs/src/matrix/schema-mapper/message/mod.d.ts +3 -0
- package/dist/cjs/src/matrix/schema-mapper/message/mod.d.ts.map +1 -0
- package/dist/cjs/src/matrix/schema-mapper/message/mod.js +17 -0
- package/dist/cjs/src/matrix/schema-mapper/message.d.ts +6 -0
- package/dist/cjs/src/matrix/schema-mapper/message.d.ts.map +1 -0
- package/dist/cjs/src/matrix/schema-mapper/message.js +47 -0
- package/dist/cjs/src/matrix/schema-mapper/room.d.ts +6 -0
- package/dist/cjs/src/matrix/schema-mapper/room.d.ts.map +1 -0
- package/dist/cjs/src/matrix/schema-mapper/room.js +27 -0
- package/dist/cjs/src/matrix/service/request.d.ts +290 -0
- package/dist/cjs/src/matrix/service/request.d.ts.map +1 -0
- package/dist/cjs/src/matrix/service/request.js +1315 -0
- package/dist/cjs/src/matrix/types.d.ts +34 -0
- package/dist/cjs/src/matrix/types.d.ts.map +1 -0
- package/dist/cjs/src/matrix/types.js +30 -0
- package/dist/cjs/src/matrix/utils/cached-promise.d.ts +5 -0
- package/dist/cjs/src/matrix/utils/cached-promise.d.ts.map +1 -0
- package/dist/cjs/src/matrix/utils/cached-promise.js +22 -0
- package/dist/cjs/src/matrix/utils/image-decrypt.d.ts +7 -0
- package/dist/cjs/src/matrix/utils/image-decrypt.d.ts.map +1 -0
- package/dist/cjs/src/matrix/utils/image-decrypt.js +158 -0
- package/dist/cjs/src/matrix/utils/index.d.ts +4 -0
- package/dist/cjs/src/matrix/utils/index.d.ts.map +1 -0
- package/dist/cjs/src/matrix/utils/index.js +32 -0
- package/dist/cjs/src/matrix/utils/is-type.d.ts +9 -0
- package/dist/cjs/src/matrix/utils/is-type.d.ts.map +1 -0
- package/dist/cjs/src/matrix/utils/is-type.js +72 -0
- package/dist/cjs/src/matrix/utils/regex.d.ts +3 -0
- package/dist/cjs/src/matrix/utils/regex.d.ts.map +1 -0
- package/dist/cjs/src/matrix/utils/regex.js +14 -0
- package/dist/cjs/src/matrix/utils/runner.d.ts +3 -0
- package/dist/cjs/src/matrix/utils/runner.d.ts.map +1 -0
- package/dist/cjs/src/matrix/utils/runner.js +12 -0
- package/dist/cjs/src/matrix/utils/string.d.ts +2 -0
- package/dist/cjs/src/matrix/utils/string.d.ts.map +1 -0
- package/dist/cjs/src/matrix/utils/string.js +7 -0
- package/dist/cjs/src/matrix/utils/xml-to-json.d.ts +5 -0
- package/dist/cjs/src/matrix/utils/xml-to-json.d.ts.map +1 -0
- package/dist/cjs/src/matrix/utils/xml-to-json.js +51 -0
- package/dist/cjs/src/mod.d.ts +5 -0
- package/dist/cjs/src/mod.d.ts.map +1 -0
- package/dist/cjs/src/mod.js +9 -0
- package/dist/cjs/src/package-json.d.ts +3 -0
- package/dist/cjs/src/package-json.d.ts.map +1 -0
- package/dist/cjs/src/package-json.js +4 -0
- package/dist/cjs/src/package-json.spec.d.ts +3 -0
- package/dist/cjs/src/package-json.spec.d.ts.map +1 -0
- package/dist/cjs/src/package-json.spec.js +9 -0
- package/dist/cjs/src/puppet-matrix.d.ts +114 -0
- package/dist/cjs/src/puppet-matrix.d.ts.map +1 -0
- package/dist/cjs/src/puppet-matrix.js +1037 -0
- package/dist/cjs/tests/integration.spec.d.ts +3 -0
- package/dist/cjs/tests/integration.spec.d.ts.map +1 -0
- package/dist/cjs/tests/integration.spec.js +7 -0
- package/dist/cjs/tests/tap.spec.d.ts +3 -0
- package/dist/cjs/tests/tap.spec.d.ts.map +1 -0
- package/dist/cjs/tests/tap.spec.js +32 -0
- package/dist/esm/src/cleanup.d.ts +4 -0
- package/dist/esm/src/cleanup.d.ts.map +1 -0
- package/dist/esm/src/cleanup.js +24 -0
- package/dist/esm/src/config.d.ts +5 -0
- package/dist/esm/src/config.d.ts.map +1 -0
- package/dist/esm/src/config.js +5 -0
- package/dist/esm/src/engine-schema.d.ts +76 -0
- package/dist/esm/src/engine-schema.d.ts.map +1 -0
- package/dist/esm/src/engine-schema.js +11 -0
- package/dist/esm/src/matrix/cache-manager.d.ts +58 -0
- package/dist/esm/src/matrix/cache-manager.d.ts.map +1 -0
- package/dist/esm/src/matrix/cache-manager.js +279 -0
- package/dist/esm/src/matrix/events/event-friendship.d.ts +6 -0
- package/dist/esm/src/matrix/events/event-friendship.d.ts.map +1 -0
- package/dist/esm/src/matrix/events/event-friendship.js +84 -0
- package/dist/esm/src/matrix/events/event-message.d.ts +6 -0
- package/dist/esm/src/matrix/events/event-message.d.ts.map +1 -0
- package/dist/esm/src/matrix/events/event-message.js +3 -0
- package/dist/esm/src/matrix/events/event-room-invite.d.ts +6 -0
- package/dist/esm/src/matrix/events/event-room-invite.d.ts.map +1 -0
- package/dist/esm/src/matrix/events/event-room-invite.js +53 -0
- package/dist/esm/src/matrix/events/event-room-join.d.ts +6 -0
- package/dist/esm/src/matrix/events/event-room-join.d.ts.map +1 -0
- package/dist/esm/src/matrix/events/event-room-join.js +125 -0
- package/dist/esm/src/matrix/events/event-room-leave.d.ts +8 -0
- package/dist/esm/src/matrix/events/event-room-leave.d.ts.map +1 -0
- package/dist/esm/src/matrix/events/event-room-leave.js +79 -0
- package/dist/esm/src/matrix/events/event-room-topic.d.ts +6 -0
- package/dist/esm/src/matrix/events/event-room-topic.d.ts.map +1 -0
- package/dist/esm/src/matrix/events/event-room-topic.js +54 -0
- package/dist/esm/src/matrix/events/event.d.ts +28 -0
- package/dist/esm/src/matrix/events/event.d.ts.map +1 -0
- package/dist/esm/src/matrix/events/event.js +37 -0
- package/dist/esm/src/matrix/events/mod.d.ts +3 -0
- package/dist/esm/src/matrix/events/mod.d.ts.map +1 -0
- package/dist/esm/src/matrix/events/mod.js +14 -0
- package/dist/esm/src/matrix/messages/message-appmsg.d.ts +57 -0
- package/dist/esm/src/matrix/messages/message-appmsg.d.ts.map +1 -0
- package/dist/esm/src/matrix/messages/message-appmsg.js +56 -0
- package/dist/esm/src/matrix/messages/message-audio.d.ts +32 -0
- package/dist/esm/src/matrix/messages/message-audio.d.ts.map +1 -0
- package/dist/esm/src/matrix/messages/message-audio.js +14 -0
- package/dist/esm/src/matrix/messages/message-emotion.d.ts +13 -0
- package/dist/esm/src/matrix/messages/message-emotion.d.ts.map +1 -0
- package/dist/esm/src/matrix/messages/message-emotion.js +28 -0
- package/dist/esm/src/matrix/messages/message-image.d.ts +33 -0
- package/dist/esm/src/matrix/messages/message-image.d.ts.map +1 -0
- package/dist/esm/src/matrix/messages/message-image.js +11 -0
- package/dist/esm/src/matrix/messages/message-miniprogram.d.ts +4 -0
- package/dist/esm/src/matrix/messages/message-miniprogram.d.ts.map +1 -0
- package/dist/esm/src/matrix/messages/message-miniprogram.js +18 -0
- package/dist/esm/src/matrix/messages/message-sysmsg.d.ts +18 -0
- package/dist/esm/src/matrix/messages/message-sysmsg.d.ts.map +1 -0
- package/dist/esm/src/matrix/messages/message-sysmsg.js +69 -0
- package/dist/esm/src/matrix/messages/message-video.d.ts +43 -0
- package/dist/esm/src/matrix/messages/message-video.d.ts.map +1 -0
- package/dist/esm/src/matrix/messages/message-video.js +17 -0
- package/dist/esm/src/matrix/messages/sysmsg/message-pat.d.ts +14 -0
- package/dist/esm/src/matrix/messages/sysmsg/message-pat.d.ts.map +1 -0
- package/dist/esm/src/matrix/messages/sysmsg/message-pat.js +8 -0
- package/dist/esm/src/matrix/messages/sysmsg/message-revokemsg.d.ts +19 -0
- package/dist/esm/src/matrix/messages/sysmsg/message-revokemsg.d.ts.map +1 -0
- package/dist/esm/src/matrix/messages/sysmsg/message-revokemsg.js +43 -0
- package/dist/esm/src/matrix/messages/sysmsg/message-sysmsgtemplate.d.ts +59 -0
- package/dist/esm/src/matrix/messages/sysmsg/message-sysmsgtemplate.d.ts.map +1 -0
- package/dist/esm/src/matrix/messages/sysmsg/message-sysmsgtemplate.js +56 -0
- package/dist/esm/src/matrix/messages/sysmsg/message-todo.d.ts +31 -0
- package/dist/esm/src/matrix/messages/sysmsg/message-todo.d.ts.map +1 -0
- package/dist/esm/src/matrix/messages/sysmsg/message-todo.js +13 -0
- package/dist/esm/src/matrix/schema-mapper/contact.d.ts +4 -0
- package/dist/esm/src/matrix/schema-mapper/contact.d.ts.map +1 -0
- package/dist/esm/src/matrix/schema-mapper/contact.js +36 -0
- package/dist/esm/src/matrix/schema-mapper/message/message-parser-appmsg.d.ts +3 -0
- package/dist/esm/src/matrix/schema-mapper/message/message-parser-appmsg.d.ts.map +1 -0
- package/dist/esm/src/matrix/schema-mapper/message/message-parser-appmsg.js +73 -0
- package/dist/esm/src/matrix/schema-mapper/message/message-parser-refermsg.d.ts +3 -0
- package/dist/esm/src/matrix/schema-mapper/message/message-parser-refermsg.d.ts.map +1 -0
- package/dist/esm/src/matrix/schema-mapper/message/message-parser-refermsg.js +40 -0
- package/dist/esm/src/matrix/schema-mapper/message/message-parser-room.d.ts +3 -0
- package/dist/esm/src/matrix/schema-mapper/message/message-parser-room.d.ts.map +1 -0
- package/dist/esm/src/matrix/schema-mapper/message/message-parser-room.js +36 -0
- package/dist/esm/src/matrix/schema-mapper/message/message-parser-single-chat.d.ts +3 -0
- package/dist/esm/src/matrix/schema-mapper/message/message-parser-single-chat.d.ts.map +1 -0
- package/dist/esm/src/matrix/schema-mapper/message/message-parser-single-chat.js +7 -0
- package/dist/esm/src/matrix/schema-mapper/message/message-parser-sysmsg.d.ts +3 -0
- package/dist/esm/src/matrix/schema-mapper/message/message-parser-sysmsg.d.ts.map +1 -0
- package/dist/esm/src/matrix/schema-mapper/message/message-parser-sysmsg.js +37 -0
- package/dist/esm/src/matrix/schema-mapper/message/message-parser-type.d.ts +3 -0
- package/dist/esm/src/matrix/schema-mapper/message/message-parser-type.d.ts.map +1 -0
- package/dist/esm/src/matrix/schema-mapper/message/message-parser-type.js +38 -0
- package/dist/esm/src/matrix/schema-mapper/message/message-parser.d.ts +13 -0
- package/dist/esm/src/matrix/schema-mapper/message/message-parser.d.ts.map +1 -0
- package/dist/esm/src/matrix/schema-mapper/message/message-parser.js +15 -0
- package/dist/esm/src/matrix/schema-mapper/message/mod.d.ts +3 -0
- package/dist/esm/src/matrix/schema-mapper/message/mod.d.ts.map +1 -0
- package/dist/esm/src/matrix/schema-mapper/message/mod.js +14 -0
- package/dist/esm/src/matrix/schema-mapper/message.d.ts +6 -0
- package/dist/esm/src/matrix/schema-mapper/message.d.ts.map +1 -0
- package/dist/esm/src/matrix/schema-mapper/message.js +21 -0
- package/dist/esm/src/matrix/schema-mapper/room.d.ts +6 -0
- package/dist/esm/src/matrix/schema-mapper/room.d.ts.map +1 -0
- package/dist/esm/src/matrix/schema-mapper/room.js +22 -0
- package/dist/esm/src/matrix/service/request.d.ts +290 -0
- package/dist/esm/src/matrix/service/request.d.ts.map +1 -0
- package/dist/esm/src/matrix/service/request.js +1286 -0
- package/dist/esm/src/matrix/types.d.ts +34 -0
- package/dist/esm/src/matrix/types.d.ts.map +1 -0
- package/dist/esm/src/matrix/types.js +27 -0
- package/dist/esm/src/matrix/utils/cached-promise.d.ts +5 -0
- package/dist/esm/src/matrix/utils/cached-promise.d.ts.map +1 -0
- package/dist/esm/src/matrix/utils/cached-promise.js +18 -0
- package/dist/esm/src/matrix/utils/image-decrypt.d.ts +7 -0
- package/dist/esm/src/matrix/utils/image-decrypt.d.ts.map +1 -0
- package/dist/esm/src/matrix/utils/image-decrypt.js +153 -0
- package/dist/esm/src/matrix/utils/index.d.ts +4 -0
- package/dist/esm/src/matrix/utils/index.d.ts.map +1 -0
- package/dist/esm/src/matrix/utils/index.js +24 -0
- package/dist/esm/src/matrix/utils/is-type.d.ts +9 -0
- package/dist/esm/src/matrix/utils/is-type.d.ts.map +1 -0
- package/dist/esm/src/matrix/utils/is-type.js +62 -0
- package/dist/esm/src/matrix/utils/regex.d.ts +3 -0
- package/dist/esm/src/matrix/utils/regex.d.ts.map +1 -0
- package/dist/esm/src/matrix/utils/regex.js +11 -0
- package/dist/esm/src/matrix/utils/runner.d.ts +3 -0
- package/dist/esm/src/matrix/utils/runner.d.ts.map +1 -0
- package/dist/esm/src/matrix/utils/runner.js +9 -0
- package/dist/esm/src/matrix/utils/string.d.ts +2 -0
- package/dist/esm/src/matrix/utils/string.d.ts.map +1 -0
- package/dist/esm/src/matrix/utils/string.js +3 -0
- package/dist/esm/src/matrix/utils/xml-to-json.d.ts +5 -0
- package/dist/esm/src/matrix/utils/xml-to-json.d.ts.map +1 -0
- package/dist/esm/src/matrix/utils/xml-to-json.js +45 -0
- package/dist/esm/src/mod.d.ts +5 -0
- package/dist/esm/src/mod.d.ts.map +1 -0
- package/dist/esm/src/mod.js +4 -0
- package/dist/esm/src/package-json.d.ts +3 -0
- package/dist/esm/src/package-json.d.ts.map +1 -0
- package/dist/esm/src/package-json.js +1 -0
- package/dist/esm/src/package-json.spec.d.ts +3 -0
- package/dist/esm/src/package-json.spec.d.ts.map +1 -0
- package/dist/esm/src/package-json.spec.js +7 -0
- package/dist/esm/src/puppet-matrix.d.ts +114 -0
- package/dist/esm/src/puppet-matrix.d.ts.map +1 -0
- package/dist/esm/src/puppet-matrix.js +1007 -0
- package/dist/esm/tests/integration.spec.d.ts +3 -0
- package/dist/esm/tests/integration.spec.d.ts.map +1 -0
- package/dist/esm/tests/integration.spec.js +5 -0
- package/dist/esm/tests/tap.spec.d.ts +3 -0
- package/dist/esm/tests/tap.spec.d.ts.map +1 -0
- package/dist/esm/tests/tap.spec.js +7 -0
- package/package.json +98 -0
- package/src/cleanup.ts +36 -0
- package/src/config.ts +15 -0
- package/src/engine-schema.ts +171 -0
- package/src/matrix/cache-manager.ts +359 -0
- package/src/matrix/events/event-friendship.ts +116 -0
- package/src/matrix/events/event-message.ts +7 -0
- package/src/matrix/events/event-room-invite.ts +64 -0
- package/src/matrix/events/event-room-join.ts +200 -0
- package/src/matrix/events/event-room-leave.ts +111 -0
- package/src/matrix/events/event-room-topic.ts +73 -0
- package/src/matrix/events/event.ts +60 -0
- package/src/matrix/events/mod.ts +16 -0
- package/src/matrix/messages/message-appmsg.ts +131 -0
- package/src/matrix/messages/message-audio.ts +48 -0
- package/src/matrix/messages/message-emotion.ts +68 -0
- package/src/matrix/messages/message-image.ts +46 -0
- package/src/matrix/messages/message-miniprogram.ts +45 -0
- package/src/matrix/messages/message-sysmsg.ts +106 -0
- package/src/matrix/messages/message-video.ts +62 -0
- package/src/matrix/messages/sysmsg/message-pat.ts +22 -0
- package/src/matrix/messages/sysmsg/message-revokemsg.ts +70 -0
- package/src/matrix/messages/sysmsg/message-sysmsgtemplate.ts +133 -0
- package/src/matrix/messages/sysmsg/message-todo.ts +45 -0
- package/src/matrix/schema-mapper/contact.ts +37 -0
- package/src/matrix/schema-mapper/message/message-parser-appmsg.ts +78 -0
- package/src/matrix/schema-mapper/message/message-parser-refermsg.ts +53 -0
- package/src/matrix/schema-mapper/message/message-parser-room.ts +62 -0
- package/src/matrix/schema-mapper/message/message-parser-single-chat.ts +12 -0
- package/src/matrix/schema-mapper/message/message-parser-sysmsg.ts +62 -0
- package/src/matrix/schema-mapper/message/message-parser-type.ts +48 -0
- package/src/matrix/schema-mapper/message/message-parser.ts +35 -0
- package/src/matrix/schema-mapper/message/mod.ts +17 -0
- package/src/matrix/schema-mapper/message.ts +30 -0
- package/src/matrix/schema-mapper/room.ts +28 -0
- package/src/matrix/service/request.ts +1944 -0
- package/src/matrix/types.ts +37 -0
- package/src/matrix/utils/cached-promise.ts +25 -0
- package/src/matrix/utils/image-decrypt.ts +198 -0
- package/src/matrix/utils/index.ts +34 -0
- package/src/matrix/utils/is-type.ts +72 -0
- package/src/matrix/utils/regex.ts +15 -0
- package/src/matrix/utils/runner.ts +12 -0
- package/src/matrix/utils/string.ts +3 -0
- package/src/matrix/utils/xml-to-json.ts +59 -0
- package/src/mod.ts +10 -0
- package/src/package-json.spec.ts +10 -0
- package/src/package-json.ts +11 -0
- package/src/puppet-matrix.ts +1402 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-room-invite.d.ts","sourceRoot":"","sources":["../../../../../src/matrix/events/event-room-invite.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;kCAOf,MAAM,CAAC,MAAM,WAAW,cAAc,KAAG,OAAO,CAAC,YAAY,CAAC;AAA7F,wBAoDC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { parseAppmsgMessagePayload, AppMessageType } from '../messages/message-appmsg.js';
|
|
2
|
+
import { isRoomId } from '../utils/is-type.js';
|
|
3
|
+
const ROOM_OTHER_INVITE_TITLE_ZH = [/邀请你加入群聊/];
|
|
4
|
+
const ROOM_OTHER_INVITE_TITLE_EN = [/Group Chat Invitation/];
|
|
5
|
+
const ROOM_OTHER_INVITE_LIST_ZH = [/^"(.+)"邀请你加入群聊(.*),进入可查看详情。/];
|
|
6
|
+
const ROOM_OTHER_INVITE_LIST_EN = [/"(.+)" invited you to join the group chat "(.+)"\. Enter to view details\./];
|
|
7
|
+
export default async (_puppet, message) => {
|
|
8
|
+
let appMsgPayload;
|
|
9
|
+
try {
|
|
10
|
+
appMsgPayload = await parseAppmsgMessagePayload(message.msg);
|
|
11
|
+
}
|
|
12
|
+
catch (e) {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
if (appMsgPayload.type !== AppMessageType.Url) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
if (!appMsgPayload.title || !appMsgPayload.des) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
let matchesForOtherInviteTitleEn = null;
|
|
22
|
+
let matchesForOtherInviteTitleZh = null;
|
|
23
|
+
let matchesForOtherInviteEn = null;
|
|
24
|
+
let matchesForOtherInviteZh = null;
|
|
25
|
+
ROOM_OTHER_INVITE_TITLE_EN.some((regex) => !!(matchesForOtherInviteTitleEn = appMsgPayload.title.match(regex)));
|
|
26
|
+
ROOM_OTHER_INVITE_TITLE_ZH.some((regex) => !!(matchesForOtherInviteTitleZh = appMsgPayload.title.match(regex)));
|
|
27
|
+
ROOM_OTHER_INVITE_LIST_EN.some((regex) => !!(matchesForOtherInviteEn = appMsgPayload.des.match(regex)));
|
|
28
|
+
ROOM_OTHER_INVITE_LIST_ZH.some((regex) => !!(matchesForOtherInviteZh = appMsgPayload.des.match(regex)));
|
|
29
|
+
const titleMatch = matchesForOtherInviteTitleEn || matchesForOtherInviteTitleZh;
|
|
30
|
+
const matchInviteEvent = matchesForOtherInviteEn || matchesForOtherInviteZh;
|
|
31
|
+
const matches = !!titleMatch && !!matchInviteEvent;
|
|
32
|
+
if (!matches) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
let receiverId = '';
|
|
36
|
+
if (!isRoomId(message.talkerId)) {
|
|
37
|
+
receiverId = _puppet.currentUserId;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
receiverId = message.talkerId;
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
avatar: appMsgPayload.thumburl,
|
|
44
|
+
id: message.id,
|
|
45
|
+
invitation: appMsgPayload.url,
|
|
46
|
+
inviterId: message.talkerId,
|
|
47
|
+
memberCount: 0,
|
|
48
|
+
memberIdList: [],
|
|
49
|
+
receiverId,
|
|
50
|
+
timestamp: message.timeStamp,
|
|
51
|
+
topic: matchInviteEvent[2],
|
|
52
|
+
};
|
|
53
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { MessagePayload } from '../../engine-schema.js';
|
|
2
|
+
import type * as PUPPET from '@juzi/wechaty-puppet';
|
|
3
|
+
import type { EventPayload } from './event.js';
|
|
4
|
+
declare const _default: (puppet: PUPPET.Puppet, message: MessagePayload) => Promise<EventPayload>;
|
|
5
|
+
export default _default;
|
|
6
|
+
//# sourceMappingURL=event-room-join.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-room-join.d.ts","sourceRoot":"","sources":["../../../../../src/matrix/events/event-room-join.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;iCAiChB,MAAM,CAAC,MAAM,WAAW,cAAc,KAAG,OAAO,CAAC,YAAY,CAAC;AAA5F,wBAmKC"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { isRoomId } from '../utils/is-type.js';
|
|
2
|
+
import { WechatMessageType } from '../types.js';
|
|
3
|
+
import { xmlToJson, getUserName } from '../utils/xml-to-json.js';
|
|
4
|
+
const ROOM_JOIN_BOT_INVITE_OTHER_REGEX_LIST_ZH = [
|
|
5
|
+
/^你邀请"(.+)"加入了群聊 {2}\$revoke\$/,
|
|
6
|
+
/^" ?(.+)"通过扫描你分享的二维码加入群聊/,
|
|
7
|
+
];
|
|
8
|
+
const ROOM_JOIN_OTHER_INVITE_BOT_REGEX_LIST_ZH = [
|
|
9
|
+
/^"([^"]+?)"邀请你加入了群聊,群聊参与人还有:(.+)/,
|
|
10
|
+
/^"([^"]+?)"邀请你和"(.+?)"加入了群聊/,
|
|
11
|
+
];
|
|
12
|
+
const ROOM_JOIN_OTHER_INVITE_OTHER_REGEX_LIST_ZH = [
|
|
13
|
+
/^"(.+)"邀请"(.+)"加入了群聊/,
|
|
14
|
+
];
|
|
15
|
+
const ROOM_JOIN_OTHER_INVITE_OTHER_QRCODE_REGEX_LIST_ZH = [
|
|
16
|
+
/^" (.+)"通过扫描"(.+)"分享的二维码加入群聊/,
|
|
17
|
+
];
|
|
18
|
+
const ROOM_JOIN_BOT_INVITE_OTHER_REGEX_LIST_EN = [
|
|
19
|
+
/^You invited (.+) to the group chat/,
|
|
20
|
+
/^" ?(.+)" joined group chat via the QR code you shared/,
|
|
21
|
+
];
|
|
22
|
+
const ROOM_JOIN_OTHER_INVITE_BOT_REGEX_LIST_EN = [
|
|
23
|
+
/^(.+) invited you to a group chat with (.+)/,
|
|
24
|
+
];
|
|
25
|
+
const ROOM_JOIN_OTHER_INVITE_OTHER_REGEX_LIST_EN = [
|
|
26
|
+
/^(.+?) invited (.+?) to (the|a) group chat/,
|
|
27
|
+
];
|
|
28
|
+
const ROOM_JOIN_OTHER_INVITE_OTHER_QRCODE_REGEX_LIST_EN = [
|
|
29
|
+
/^"(.+)" joined the group chat via the QR Code shared by "(.+)"/,
|
|
30
|
+
];
|
|
31
|
+
export default async (puppet, message) => {
|
|
32
|
+
const roomId = message.fromWxid || '';
|
|
33
|
+
if (!isRoomId(roomId)) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
const timestamp = message.timeStamp;
|
|
37
|
+
if (message.msgType !== WechatMessageType.Sys && message.msgType !== WechatMessageType.SysTemplate) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
const jsonPayload = await xmlToJson(message.msg);
|
|
41
|
+
if (!jsonPayload
|
|
42
|
+
|| !jsonPayload.sysmsg
|
|
43
|
+
|| !jsonPayload.sysmsg.sysmsgtemplate) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
const content = jsonPayload.sysmsg.sysmsgtemplate.content_template.template;
|
|
47
|
+
const linkList = jsonPayload.sysmsg.sysmsgtemplate.content_template.link_list.link;
|
|
48
|
+
let matchesForBotInviteOtherEn = null;
|
|
49
|
+
let matchesForOtherInviteBotEn = null;
|
|
50
|
+
let matchesForOtherInviteOtherEn = null;
|
|
51
|
+
let matchesForOtherInviteOtherQrcodeEn = null;
|
|
52
|
+
ROOM_JOIN_BOT_INVITE_OTHER_REGEX_LIST_EN.some((regex) => !!(matchesForBotInviteOtherEn = content.match(regex)));
|
|
53
|
+
ROOM_JOIN_OTHER_INVITE_BOT_REGEX_LIST_EN.some((regex) => !!(matchesForOtherInviteBotEn = content.match(regex)));
|
|
54
|
+
ROOM_JOIN_OTHER_INVITE_OTHER_REGEX_LIST_EN.some((regex) => !!(matchesForOtherInviteOtherEn = content.match(regex)));
|
|
55
|
+
ROOM_JOIN_OTHER_INVITE_OTHER_QRCODE_REGEX_LIST_EN.some((regex) => !!(matchesForOtherInviteOtherQrcodeEn = content.match(regex)));
|
|
56
|
+
let matchesForBotInviteOtherZh = null;
|
|
57
|
+
let matchesForOtherInviteBotZh = null;
|
|
58
|
+
let matchesForOtherInviteOtherZh = null;
|
|
59
|
+
let matchesForOtherInviteOtherQrcodeZh = null;
|
|
60
|
+
ROOM_JOIN_BOT_INVITE_OTHER_REGEX_LIST_ZH.some((regex) => !!(matchesForBotInviteOtherZh = content.match(regex)));
|
|
61
|
+
ROOM_JOIN_OTHER_INVITE_BOT_REGEX_LIST_ZH.some((regex) => !!(matchesForOtherInviteBotZh = content.match(regex)));
|
|
62
|
+
ROOM_JOIN_OTHER_INVITE_OTHER_REGEX_LIST_ZH.some((regex) => !!(matchesForOtherInviteOtherZh = content.match(regex)));
|
|
63
|
+
ROOM_JOIN_OTHER_INVITE_OTHER_QRCODE_REGEX_LIST_ZH.some((regex) => !!(matchesForOtherInviteOtherQrcodeZh = content.match(regex)));
|
|
64
|
+
const matchesForBotInviteOther = matchesForBotInviteOtherEn || matchesForBotInviteOtherZh;
|
|
65
|
+
const matchesForOtherInviteBot = matchesForOtherInviteBotEn || matchesForOtherInviteBotZh;
|
|
66
|
+
const matchesForOtherInviteOther = matchesForOtherInviteOtherEn || matchesForOtherInviteOtherZh;
|
|
67
|
+
const matchesForOtherInviteOtherQrcode = matchesForOtherInviteOtherQrcodeEn || matchesForOtherInviteOtherQrcodeZh;
|
|
68
|
+
const matches = matchesForBotInviteOther
|
|
69
|
+
|| matchesForOtherInviteBot
|
|
70
|
+
|| matchesForOtherInviteOther
|
|
71
|
+
|| matchesForOtherInviteOtherQrcode;
|
|
72
|
+
if (!matches) {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
const checkString = (inviteeIdList) => {
|
|
76
|
+
return typeof inviteeIdList !== 'string'
|
|
77
|
+
? inviteeIdList
|
|
78
|
+
: [inviteeIdList];
|
|
79
|
+
};
|
|
80
|
+
if (matchesForBotInviteOther) {
|
|
81
|
+
const other = matches[1] || '';
|
|
82
|
+
const inviteeIdList = getUserName(linkList, other);
|
|
83
|
+
return {
|
|
84
|
+
inviteeIdList: checkString(inviteeIdList),
|
|
85
|
+
inviterId: puppet.currentUserId,
|
|
86
|
+
roomId,
|
|
87
|
+
timestamp,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
else if (matchesForOtherInviteBot) {
|
|
91
|
+
const _inviterName = matches[1] || '';
|
|
92
|
+
const inviterId = getUserName(linkList, _inviterName);
|
|
93
|
+
return {
|
|
94
|
+
inviteeIdList: [puppet.currentUserId],
|
|
95
|
+
inviterId,
|
|
96
|
+
roomId,
|
|
97
|
+
timestamp,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
else if (matchesForOtherInviteOther) {
|
|
101
|
+
const _inviterName = matches[1] || '';
|
|
102
|
+
const inviterId = getUserName(linkList, _inviterName);
|
|
103
|
+
const _others = matches[2] || '';
|
|
104
|
+
const inviteeIdList = getUserName(linkList, _others);
|
|
105
|
+
return {
|
|
106
|
+
inviteeIdList: checkString(inviteeIdList),
|
|
107
|
+
inviterId,
|
|
108
|
+
roomId,
|
|
109
|
+
timestamp,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
else if (matchesForOtherInviteOtherQrcode) {
|
|
113
|
+
const _inviterName = matches[2] || '';
|
|
114
|
+
const inviterId = getUserName(linkList, _inviterName);
|
|
115
|
+
const other = matches[1] || '';
|
|
116
|
+
const inviteeIdList = getUserName(linkList, other);
|
|
117
|
+
return {
|
|
118
|
+
inviteeIdList: checkString(inviteeIdList),
|
|
119
|
+
inviterId,
|
|
120
|
+
roomId,
|
|
121
|
+
timestamp,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
return null;
|
|
125
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { MessagePayload } from '../../engine-schema.js';
|
|
2
|
+
import type * as PUPPET from '@juzi/wechaty-puppet';
|
|
3
|
+
import type { EventPayload } from './event.js';
|
|
4
|
+
export declare function removeRoomLeaveDebounce(roomId: string, removeeId: string): void;
|
|
5
|
+
export declare function isRoomLeaveDebouncing(roomId: string, removeeId: string): boolean;
|
|
6
|
+
declare const _default: (puppet: PUPPET.Puppet, message: MessagePayload) => Promise<EventPayload>;
|
|
7
|
+
export default _default;
|
|
8
|
+
//# sourceMappingURL=event-room-leave.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-room-leave.d.ts","sourceRoot":"","sources":["../../../../../src/matrix/events/event-room-leave.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAkC9C,wBAAgB,uBAAuB,CAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAGzE;AAED,wBAAgB,qBAAqB,CAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAGjF;iCAE6B,MAAM,CAAC,MAAM,WAAW,cAAc,KAAG,OAAO,CAAC,YAAY,CAAC;AAA5F,wBA+DC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { isRoomId } from '../utils/is-type.js';
|
|
2
|
+
import { WechatMessageType } from '../types.js';
|
|
3
|
+
import { executeRunners } from '../utils/runner.js';
|
|
4
|
+
const YOU_REMOVE_OTHER_REGEX_LIST = [
|
|
5
|
+
/^(你)将"(.+)"移出了群聊/,
|
|
6
|
+
/^(You) removed "(.+)" from the group chat/,
|
|
7
|
+
];
|
|
8
|
+
const OTHER_REMOVE_YOU_REGEX_LIST = [
|
|
9
|
+
/^(你)被"([^"]+?)"移出群聊/,
|
|
10
|
+
/^(You) were removed from the group chat by "([^"]+)"/,
|
|
11
|
+
];
|
|
12
|
+
const roomLeaveDebounceMap = new Map();
|
|
13
|
+
const DEBOUNCE_TIMEOUT = 3600 * 1000;
|
|
14
|
+
function roomLeaveDebounceKey(roomId, removeeId) {
|
|
15
|
+
return `${roomId}:${removeeId}`;
|
|
16
|
+
}
|
|
17
|
+
function roomLeaveAddDebounce(roomId, removeeId) {
|
|
18
|
+
const key = roomLeaveDebounceKey(roomId, removeeId);
|
|
19
|
+
const oldTimeout = roomLeaveDebounceMap.get(key);
|
|
20
|
+
if (oldTimeout) {
|
|
21
|
+
clearTimeout(oldTimeout);
|
|
22
|
+
}
|
|
23
|
+
const timeout = setTimeout(() => {
|
|
24
|
+
roomLeaveDebounceMap.delete(key);
|
|
25
|
+
}, DEBOUNCE_TIMEOUT);
|
|
26
|
+
roomLeaveDebounceMap.set(key, timeout);
|
|
27
|
+
}
|
|
28
|
+
export function removeRoomLeaveDebounce(roomId, removeeId) {
|
|
29
|
+
const key = roomLeaveDebounceKey(roomId, removeeId);
|
|
30
|
+
roomLeaveDebounceMap.delete(key);
|
|
31
|
+
}
|
|
32
|
+
export function isRoomLeaveDebouncing(roomId, removeeId) {
|
|
33
|
+
const key = roomLeaveDebounceKey(roomId, removeeId);
|
|
34
|
+
return roomLeaveDebounceMap.get(key) !== undefined;
|
|
35
|
+
}
|
|
36
|
+
export default async (puppet, message) => {
|
|
37
|
+
const roomId = message.fromWxid || '';
|
|
38
|
+
if (!isRoomId(roomId) || message.msgType !== WechatMessageType.Sys) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
await puppet._updateRoom(roomId);
|
|
42
|
+
const youRemoveOther = async () => {
|
|
43
|
+
let matches = null;
|
|
44
|
+
YOU_REMOVE_OTHER_REGEX_LIST.some((re) => !!(matches = message.msg.match(re)));
|
|
45
|
+
if (matches) {
|
|
46
|
+
const removerName = matches[2];
|
|
47
|
+
const removerId = (await puppet.roomMemberSearch(roomId, removerName))[0];
|
|
48
|
+
return {
|
|
49
|
+
removeeIdList: [removerId],
|
|
50
|
+
removerId: puppet.currentUserId,
|
|
51
|
+
roomId,
|
|
52
|
+
timestamp: message.timeStamp,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
return null;
|
|
56
|
+
};
|
|
57
|
+
const otherRemoveYou = async () => {
|
|
58
|
+
let matches = null;
|
|
59
|
+
OTHER_REMOVE_YOU_REGEX_LIST.some((re) => !!(matches = message.msg.match(re)));
|
|
60
|
+
if (matches) {
|
|
61
|
+
const removerName = matches[2];
|
|
62
|
+
const removerId = (await puppet.roomMemberSearch(roomId, removerName))[0];
|
|
63
|
+
return {
|
|
64
|
+
removeeIdList: [puppet.currentUserId],
|
|
65
|
+
removerId,
|
|
66
|
+
roomId,
|
|
67
|
+
timestamp: message.timeStamp,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
return null;
|
|
71
|
+
};
|
|
72
|
+
const ret = await executeRunners([youRemoveOther, otherRemoveYou]);
|
|
73
|
+
if (ret) {
|
|
74
|
+
ret.removeeIdList.forEach((leaverId) => {
|
|
75
|
+
roomLeaveAddDebounce(roomId, leaverId);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
return ret;
|
|
79
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { MessagePayload } from '../../engine-schema.js';
|
|
2
|
+
import type * as PUPPET from '@juzi/wechaty-puppet';
|
|
3
|
+
import type { EventPayload } from './event.js';
|
|
4
|
+
declare const _default: (puppet: PUPPET.Puppet, message: MessagePayload) => Promise<EventPayload>;
|
|
5
|
+
export default _default;
|
|
6
|
+
//# sourceMappingURL=event-room-topic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-room-topic.d.ts","sourceRoot":"","sources":["../../../../../src/matrix/events/event-room-topic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;iCAgBhB,MAAM,CAAC,MAAM,WAAW,cAAc,KAAG,OAAO,CAAC,YAAY,CAAC;AAA5F,wBAqDC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { isRoomId } from '../utils/is-type.js';
|
|
2
|
+
import { parseTextWithRegexList } from '../utils/regex.js';
|
|
3
|
+
import { WechatMessageType } from '../types.js';
|
|
4
|
+
import { executeRunners } from '../utils/runner.js';
|
|
5
|
+
const OTHER_CHANGE_TOPIC_REGEX_LIST = [
|
|
6
|
+
/^"(.+)"修改群名为“(.+)”$/,
|
|
7
|
+
/^"(.+)" changed the group name to "(.+)"$/,
|
|
8
|
+
];
|
|
9
|
+
const YOU_CHANGE_TOPIC_REGEX_LIST = [
|
|
10
|
+
/^(你)修改群名为“(.+)”$/,
|
|
11
|
+
/^(You) changed the group name to "(.+)"$/,
|
|
12
|
+
];
|
|
13
|
+
export default async (puppet, message) => {
|
|
14
|
+
const roomId = message.fromWxid || '';
|
|
15
|
+
if (!isRoomId(roomId) || message.msgType !== WechatMessageType.Sys) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
const youChangeTopic = async () => {
|
|
19
|
+
return parseTextWithRegexList(message.msg, YOU_CHANGE_TOPIC_REGEX_LIST, async (_, match) => {
|
|
20
|
+
const newTopic = match[2];
|
|
21
|
+
return {
|
|
22
|
+
changerId: puppet.currentUserId,
|
|
23
|
+
newTopic,
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
const otherChangeTopic = async () => {
|
|
28
|
+
return parseTextWithRegexList(message.msg, OTHER_CHANGE_TOPIC_REGEX_LIST, async (_, match) => {
|
|
29
|
+
const newTopic = match[2];
|
|
30
|
+
const changeName = match[1];
|
|
31
|
+
let changeId = '';
|
|
32
|
+
if (changeName) {
|
|
33
|
+
changeId = (await puppet.roomMemberSearch(roomId, changeName))[0];
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
changerId: changeId,
|
|
37
|
+
newTopic,
|
|
38
|
+
};
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
const topicChange = await executeRunners([youChangeTopic, otherChangeTopic]);
|
|
42
|
+
if (topicChange) {
|
|
43
|
+
const room = await puppet.roomPayload(roomId);
|
|
44
|
+
const oldTopic = room.topic;
|
|
45
|
+
return {
|
|
46
|
+
changerId: topicChange.changerId,
|
|
47
|
+
newTopic: topicChange.newTopic,
|
|
48
|
+
oldTopic,
|
|
49
|
+
roomId,
|
|
50
|
+
timestamp: message.timeStamp,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
return null;
|
|
54
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Puppet } from '@juzi/wechaty-puppet';
|
|
2
|
+
import type * as PUPPET from '@juzi/wechaty-puppet';
|
|
3
|
+
import type { MessagePayload } from '../../engine-schema.js';
|
|
4
|
+
export declare enum EventType {
|
|
5
|
+
Message = 0,
|
|
6
|
+
Friendship = 1,
|
|
7
|
+
RoomInvite = 2,
|
|
8
|
+
RoomJoin = 3,
|
|
9
|
+
RoomLeave = 4,
|
|
10
|
+
RoomTopic = 5
|
|
11
|
+
}
|
|
12
|
+
export interface EventPayloadSpec {
|
|
13
|
+
[EventType.Message]: MessagePayload;
|
|
14
|
+
[EventType.Friendship]: PUPPET.payloads.Friendship;
|
|
15
|
+
[EventType.RoomInvite]: PUPPET.payloads.RoomInvitation;
|
|
16
|
+
[EventType.RoomJoin]: PUPPET.payloads.EventRoomJoin;
|
|
17
|
+
[EventType.RoomLeave]: PUPPET.payloads.EventRoomLeave;
|
|
18
|
+
[EventType.RoomTopic]: PUPPET.payloads.EventRoomTopic;
|
|
19
|
+
}
|
|
20
|
+
export interface Event<T extends keyof EventPayloadSpec> {
|
|
21
|
+
type: T;
|
|
22
|
+
payload: EventPayloadSpec[T];
|
|
23
|
+
}
|
|
24
|
+
export type EventPayload = EventPayloadSpec[keyof EventPayloadSpec] | null;
|
|
25
|
+
export type EventParserHandler = (puppet: Puppet, message: MessagePayload) => Promise<EventPayload>;
|
|
26
|
+
export declare function addEventParser(eventType: EventType, parser: EventParserHandler): void;
|
|
27
|
+
export declare function parseEvent(puppet: Puppet, message: MessagePayload): Promise<Event<any>>;
|
|
28
|
+
//# sourceMappingURL=event.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../../../src/matrix/events/event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAO,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,KAAK,MAAM,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE5D,oBAAY,SAAS;IACnB,OAAO,IAAA;IACP,UAAU,IAAA;IACV,UAAU,IAAA;IACV,QAAQ,IAAA;IACR,SAAS,IAAA;IACT,SAAS,IAAA;CACV;AAED,MAAM,WAAW,gBAAgB;IAC/B,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IACpC,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;IACnD,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC;IACvD,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;IACpD,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC;IACtD,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC;CACvD;AAED,MAAM,WAAW,KAAK,CAAC,CAAC,SAAS,MAAM,gBAAgB;IACrD,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;CAC9B;AAED,MAAM,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,gBAAgB,CAAC,GAAG,IAAI,CAAC;AAC3E,MAAM,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;AAIpG,wBAAgB,cAAc,CAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAKtF;AAED,wBAAsB,UAAU,CAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAoB9F"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { log } from '@juzi/wechaty-puppet';
|
|
2
|
+
export var EventType;
|
|
3
|
+
(function (EventType) {
|
|
4
|
+
EventType[EventType["Message"] = 0] = "Message";
|
|
5
|
+
EventType[EventType["Friendship"] = 1] = "Friendship";
|
|
6
|
+
EventType[EventType["RoomInvite"] = 2] = "RoomInvite";
|
|
7
|
+
EventType[EventType["RoomJoin"] = 3] = "RoomJoin";
|
|
8
|
+
EventType[EventType["RoomLeave"] = 4] = "RoomLeave";
|
|
9
|
+
EventType[EventType["RoomTopic"] = 5] = "RoomTopic";
|
|
10
|
+
})(EventType || (EventType = {}));
|
|
11
|
+
const EventParserList = [];
|
|
12
|
+
export function addEventParser(eventType, parser) {
|
|
13
|
+
EventParserList.push({
|
|
14
|
+
handler: parser,
|
|
15
|
+
type: eventType,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
export async function parseEvent(puppet, message) {
|
|
19
|
+
for (const parser of EventParserList) {
|
|
20
|
+
try {
|
|
21
|
+
const parsedPayload = await parser.handler(puppet, message);
|
|
22
|
+
if (parsedPayload) {
|
|
23
|
+
return {
|
|
24
|
+
payload: parsedPayload,
|
|
25
|
+
type: parser.type,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
catch (e) {
|
|
30
|
+
log.error('[Event]', `parse message error: ${e.stack}`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
payload: message,
|
|
35
|
+
type: EventType.Message,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../../src/matrix/events/mod.ts"],"names":[],"mappings":"AAMA,OAAO,EAAkB,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AASlE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import friendShipParser from './event-friendship.js';
|
|
2
|
+
import roomInviteParser from './event-room-invite.js';
|
|
3
|
+
import roomJoinParser from './event-room-join.js';
|
|
4
|
+
import roomLeaveParser from './event-room-leave.js';
|
|
5
|
+
import roomTopicParser from './event-room-topic.js';
|
|
6
|
+
import messageParser from './event-message.js';
|
|
7
|
+
import { addEventParser, EventType, parseEvent } from './event.js';
|
|
8
|
+
addEventParser(EventType.Friendship, friendShipParser);
|
|
9
|
+
addEventParser(EventType.RoomInvite, roomInviteParser);
|
|
10
|
+
addEventParser(EventType.RoomJoin, roomJoinParser);
|
|
11
|
+
addEventParser(EventType.RoomLeave, roomLeaveParser);
|
|
12
|
+
addEventParser(EventType.RoomTopic, roomTopicParser);
|
|
13
|
+
addEventParser(EventType.Message, messageParser);
|
|
14
|
+
export { parseEvent, EventType };
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export declare enum AppMessageType {
|
|
2
|
+
Text = 1,
|
|
3
|
+
Img = 2,
|
|
4
|
+
Audio = 3,
|
|
5
|
+
Video = 4,
|
|
6
|
+
Url = 5,
|
|
7
|
+
Attach = 6,
|
|
8
|
+
Open = 7,
|
|
9
|
+
Emoji = 8,
|
|
10
|
+
VoiceRemind = 9,
|
|
11
|
+
ScanGood = 10,
|
|
12
|
+
Good = 13,
|
|
13
|
+
Emotion = 15,
|
|
14
|
+
CardTicket = 16,
|
|
15
|
+
RealtimeShareLocation = 17,
|
|
16
|
+
ChatHistory = 19,
|
|
17
|
+
MiniProgram = 33,
|
|
18
|
+
MiniProgramApp = 36,
|
|
19
|
+
GroupNote = 53,
|
|
20
|
+
ReferMsg = 57,
|
|
21
|
+
Transfers = 2000,
|
|
22
|
+
RedEnvelopes = 2001,
|
|
23
|
+
ReaderType = 100001
|
|
24
|
+
}
|
|
25
|
+
export interface AppAttachPayload {
|
|
26
|
+
totallen?: number;
|
|
27
|
+
attachid?: string;
|
|
28
|
+
emoticonmd5?: string;
|
|
29
|
+
fileext?: string;
|
|
30
|
+
cdnattachurl?: string;
|
|
31
|
+
aeskey?: string;
|
|
32
|
+
cdnthumbaeskey?: string;
|
|
33
|
+
encryver?: number;
|
|
34
|
+
islargefilemsg: number;
|
|
35
|
+
}
|
|
36
|
+
export interface ReferMsgPayload {
|
|
37
|
+
type: string;
|
|
38
|
+
svrid: string;
|
|
39
|
+
fromusr: string;
|
|
40
|
+
chatusr: string;
|
|
41
|
+
displayname: string;
|
|
42
|
+
content: string;
|
|
43
|
+
}
|
|
44
|
+
export interface AppMessagePayload {
|
|
45
|
+
des?: string;
|
|
46
|
+
thumburl?: string;
|
|
47
|
+
title: string;
|
|
48
|
+
url: string;
|
|
49
|
+
appattach?: AppAttachPayload;
|
|
50
|
+
type: AppMessageType;
|
|
51
|
+
md5?: string;
|
|
52
|
+
fromusername?: string;
|
|
53
|
+
recorditem?: string;
|
|
54
|
+
refermsg?: ReferMsgPayload;
|
|
55
|
+
}
|
|
56
|
+
export declare function parseAppmsgMessagePayload(messageContent: string): Promise<AppMessagePayload>;
|
|
57
|
+
//# sourceMappingURL=message-appmsg.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-appmsg.d.ts","sourceRoot":"","sources":["../../../../../src/matrix/messages/message-appmsg.ts"],"names":[],"mappings":"AAwCA,oBAAY,cAAc;IACxB,IAAI,IAAI;IACR,GAAG,IAAI;IACP,KAAK,IAAI;IACT,KAAK,IAAI;IACT,GAAG,IAAI;IACP,MAAM,IAAI;IACV,IAAI,IAAI;IACR,KAAK,IAAI;IACT,WAAW,IAAI;IACf,QAAQ,KAAK;IACb,IAAI,KAAK;IACT,OAAO,KAAK;IACZ,UAAU,KAAK;IACf,qBAAqB,KAAK;IAC1B,WAAW,KAAK;IAChB,WAAW,KAAK;IAChB,cAAc,KAAK;IACnB,SAAS,KAAK;IACd,QAAQ,KAAK;IACb,SAAS,OAAO;IAChB,YAAY,OAAO;IACnB,UAAU,SAAS;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,IAAI,EAAE,cAAc,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED,wBAAsB,yBAAyB,CAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA+BnG"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { xmlToJson } from '../utils/xml-to-json.js';
|
|
2
|
+
export var AppMessageType;
|
|
3
|
+
(function (AppMessageType) {
|
|
4
|
+
AppMessageType[AppMessageType["Text"] = 1] = "Text";
|
|
5
|
+
AppMessageType[AppMessageType["Img"] = 2] = "Img";
|
|
6
|
+
AppMessageType[AppMessageType["Audio"] = 3] = "Audio";
|
|
7
|
+
AppMessageType[AppMessageType["Video"] = 4] = "Video";
|
|
8
|
+
AppMessageType[AppMessageType["Url"] = 5] = "Url";
|
|
9
|
+
AppMessageType[AppMessageType["Attach"] = 6] = "Attach";
|
|
10
|
+
AppMessageType[AppMessageType["Open"] = 7] = "Open";
|
|
11
|
+
AppMessageType[AppMessageType["Emoji"] = 8] = "Emoji";
|
|
12
|
+
AppMessageType[AppMessageType["VoiceRemind"] = 9] = "VoiceRemind";
|
|
13
|
+
AppMessageType[AppMessageType["ScanGood"] = 10] = "ScanGood";
|
|
14
|
+
AppMessageType[AppMessageType["Good"] = 13] = "Good";
|
|
15
|
+
AppMessageType[AppMessageType["Emotion"] = 15] = "Emotion";
|
|
16
|
+
AppMessageType[AppMessageType["CardTicket"] = 16] = "CardTicket";
|
|
17
|
+
AppMessageType[AppMessageType["RealtimeShareLocation"] = 17] = "RealtimeShareLocation";
|
|
18
|
+
AppMessageType[AppMessageType["ChatHistory"] = 19] = "ChatHistory";
|
|
19
|
+
AppMessageType[AppMessageType["MiniProgram"] = 33] = "MiniProgram";
|
|
20
|
+
AppMessageType[AppMessageType["MiniProgramApp"] = 36] = "MiniProgramApp";
|
|
21
|
+
AppMessageType[AppMessageType["GroupNote"] = 53] = "GroupNote";
|
|
22
|
+
AppMessageType[AppMessageType["ReferMsg"] = 57] = "ReferMsg";
|
|
23
|
+
AppMessageType[AppMessageType["Transfers"] = 2000] = "Transfers";
|
|
24
|
+
AppMessageType[AppMessageType["RedEnvelopes"] = 2001] = "RedEnvelopes";
|
|
25
|
+
AppMessageType[AppMessageType["ReaderType"] = 100001] = "ReaderType";
|
|
26
|
+
})(AppMessageType || (AppMessageType = {}));
|
|
27
|
+
export async function parseAppmsgMessagePayload(messageContent) {
|
|
28
|
+
const appMsgXml = await xmlToJson(messageContent);
|
|
29
|
+
const { title, des, url, thumburl, type, md5, recorditem } = appMsgXml?.msg.appmsg;
|
|
30
|
+
let appattach;
|
|
31
|
+
const tmp = appMsgXml?.msg.appmsg.appattach;
|
|
32
|
+
if (tmp) {
|
|
33
|
+
appattach = {
|
|
34
|
+
aeskey: tmp.aeskey,
|
|
35
|
+
attachid: tmp.attachid,
|
|
36
|
+
cdnattachurl: tmp.cdnattachurl,
|
|
37
|
+
cdnthumbaeskey: tmp.cdnthumbaeskey,
|
|
38
|
+
emoticonmd5: tmp.emoticonmd5,
|
|
39
|
+
encryver: (tmp.encryver && parseInt(tmp.encryver, 10)) || 0,
|
|
40
|
+
fileext: tmp.fileext,
|
|
41
|
+
islargefilemsg: (tmp.islargefilemsg && parseInt(tmp.islargefilemsg, 10)) || 0,
|
|
42
|
+
totallen: (tmp.totallen && parseInt(tmp.totallen, 10)) || 0,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
appattach,
|
|
47
|
+
des,
|
|
48
|
+
md5,
|
|
49
|
+
recorditem,
|
|
50
|
+
refermsg: appMsgXml.msg.appmsg.refermsg,
|
|
51
|
+
thumburl,
|
|
52
|
+
title,
|
|
53
|
+
type: parseInt(type, 10),
|
|
54
|
+
url,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { MessagePayload } from '../../engine-schema.js';
|
|
2
|
+
export interface VoiceXmlSchema {
|
|
3
|
+
msg: {
|
|
4
|
+
voicemsg: {
|
|
5
|
+
$: {
|
|
6
|
+
endflag: string;
|
|
7
|
+
cancelflag: string;
|
|
8
|
+
forwardflag: string;
|
|
9
|
+
voiceformat: string;
|
|
10
|
+
voicelength: string;
|
|
11
|
+
length: string;
|
|
12
|
+
bufid: string;
|
|
13
|
+
aeskey: string;
|
|
14
|
+
voiceurl: string;
|
|
15
|
+
voicemd5: string;
|
|
16
|
+
clientmsgid: string;
|
|
17
|
+
fromusername: string;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export interface AudioMessagePayload {
|
|
23
|
+
aesKey: string;
|
|
24
|
+
length: string;
|
|
25
|
+
voicelength: string;
|
|
26
|
+
voiceurl: string;
|
|
27
|
+
voicemd5: string;
|
|
28
|
+
clientmsgid: string;
|
|
29
|
+
fromusername: string;
|
|
30
|
+
}
|
|
31
|
+
export declare function parseAudioMessagePayload(rawPayload: MessagePayload): Promise<AudioMessagePayload>;
|
|
32
|
+
//# sourceMappingURL=message-audio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-audio.d.ts","sourceRoot":"","sources":["../../../../../src/matrix/messages/message-audio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAGvD,MAAM,WAAW,cAAc;IAC3B,GAAG,EAAE;QACH,QAAQ,EAAE;YACR,CAAC,EAAE;gBACD,OAAO,EAAE,MAAM,CAAA;gBACf,UAAU,EAAE,MAAM,CAAA;gBAClB,WAAW,EAAE,MAAM,CAAA;gBACnB,WAAW,EAAE,MAAM,CAAA;gBACnB,WAAW,EAAE,MAAM,CAAA;gBACnB,MAAM,EAAE,MAAM,CAAA;gBACd,KAAK,EAAE,MAAM,CAAA;gBACb,MAAM,EAAE,MAAM,CAAA;gBACd,QAAQ,EAAE,MAAM,CAAA;gBAChB,QAAQ,EAAE,MAAM,CAAA;gBAChB,WAAW,EAAE,MAAM,CAAA;gBACnB,YAAY,EAAE,MAAM,CAAA;aACvB,CAAA;SACE,CAAA;KACJ,CAAA;CACJ;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,wBAAwB,CAAE,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAaxG"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { xmlToJson } from '../utils/xml-to-json.js';
|
|
2
|
+
export async function parseAudioMessagePayload(rawPayload) {
|
|
3
|
+
const audioXml = await xmlToJson(rawPayload.msg);
|
|
4
|
+
const schema = audioXml.msg.voicemsg.$;
|
|
5
|
+
return {
|
|
6
|
+
aesKey: schema.aeskey,
|
|
7
|
+
length: schema.length,
|
|
8
|
+
voicelength: schema.length,
|
|
9
|
+
voiceurl: schema.voiceurl,
|
|
10
|
+
voicemd5: schema.voicemd5,
|
|
11
|
+
clientmsgid: schema.clientmsgid,
|
|
12
|
+
fromusername: schema.fromusername,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { MessagePayload } from '../../engine-schema.js';
|
|
2
|
+
export interface EmojiMessagePayload {
|
|
3
|
+
type: number;
|
|
4
|
+
len: number;
|
|
5
|
+
md5: string;
|
|
6
|
+
cdnurl: string;
|
|
7
|
+
width: number;
|
|
8
|
+
height: number;
|
|
9
|
+
gameext?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function parseEmotionMessagePayload(message: MessagePayload): Promise<EmojiMessagePayload>;
|
|
12
|
+
export declare function generateEmotionPayload(emojiMessagePayload: EmojiMessagePayload): string;
|
|
13
|
+
//# sourceMappingURL=message-emotion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-emotion.d.ts","sourceRoot":"","sources":["../../../../../src/matrix/messages/message-emotion.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAwB5D,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,0BAA0B,CAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA0BvG;AAED,wBAAgB,sBAAsB,CAAE,mBAAmB,EAAE,mBAAmB,GAAG,MAAM,CAIxF"}
|