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,286 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.CacheManager = void 0;
|
|
7
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
8
|
+
const os_1 = __importDefault(require("os"));
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
10
|
+
const lru_cache_1 = __importDefault(require("lru-cache"));
|
|
11
|
+
const wechaty_puppet_1 = require("@juzi/wechaty-puppet");
|
|
12
|
+
const flash_store_1 = require("flash-store");
|
|
13
|
+
const PRE = '[CacheManager]';
|
|
14
|
+
class CacheManager {
|
|
15
|
+
_userName;
|
|
16
|
+
_messageCache;
|
|
17
|
+
_messageRevokeCache;
|
|
18
|
+
_contactCache;
|
|
19
|
+
_contactSearchCache;
|
|
20
|
+
_contactStrangerAliasCache;
|
|
21
|
+
_roomCache;
|
|
22
|
+
_roomMemberCache;
|
|
23
|
+
_roomInvitationCache;
|
|
24
|
+
_friendshipCache;
|
|
25
|
+
_labelList;
|
|
26
|
+
constructor(userName) {
|
|
27
|
+
this._userName = userName;
|
|
28
|
+
}
|
|
29
|
+
async init() {
|
|
30
|
+
if (this._messageCache) {
|
|
31
|
+
throw new Error('already initialized');
|
|
32
|
+
}
|
|
33
|
+
const baseDir = path_1.default.join(os_1.default.homedir(), path_1.default.sep, '.wechaty', 'puppet-engine-cache', path_1.default.sep, this._userName, path_1.default.sep);
|
|
34
|
+
const baseDirExist = await fs_extra_1.default.pathExists(baseDir);
|
|
35
|
+
if (!baseDirExist) {
|
|
36
|
+
await fs_extra_1.default.mkdirp(baseDir);
|
|
37
|
+
}
|
|
38
|
+
this._messageCache = new lru_cache_1.default({
|
|
39
|
+
dispose(key, val) {
|
|
40
|
+
wechaty_puppet_1.log.silly(PRE, 'constructor() lruOptions.dispose(%s, %s)', key, JSON.stringify(val));
|
|
41
|
+
},
|
|
42
|
+
max: 1000,
|
|
43
|
+
maxAge: 1000 * 60 * 60,
|
|
44
|
+
});
|
|
45
|
+
this._messageRevokeCache = new lru_cache_1.default({
|
|
46
|
+
dispose(key, val) {
|
|
47
|
+
wechaty_puppet_1.log.silly(PRE, 'constructor() lruOptions.dispose(%s, %s)', key, JSON.stringify(val));
|
|
48
|
+
},
|
|
49
|
+
max: 1000,
|
|
50
|
+
maxAge: 1000 * 60 * 60,
|
|
51
|
+
});
|
|
52
|
+
this._contactCache = new flash_store_1.FlashStore(path_1.default.join(baseDir, 'contact-raw-payload'));
|
|
53
|
+
this._contactSearchCache = new lru_cache_1.default({
|
|
54
|
+
dispose(key, val) {
|
|
55
|
+
wechaty_puppet_1.log.silly(PRE, 'constructor() lruOptions.dispose(%s, %s)', key, JSON.stringify(val));
|
|
56
|
+
},
|
|
57
|
+
max: 1000,
|
|
58
|
+
maxAge: 1000 * 60 * 60,
|
|
59
|
+
});
|
|
60
|
+
this._contactStrangerAliasCache = new flash_store_1.FlashStore(path_1.default.join(baseDir, 'contact-stranger-alias'));
|
|
61
|
+
this._roomCache = new flash_store_1.FlashStore(path_1.default.join(baseDir, 'room-raw-payload'));
|
|
62
|
+
this._roomMemberCache = new flash_store_1.FlashStore(path_1.default.join(baseDir, 'room-member-raw-payload'));
|
|
63
|
+
this._roomInvitationCache = new flash_store_1.FlashStore(path_1.default.join(baseDir, 'room-invitation-raw-payload'));
|
|
64
|
+
this._friendshipCache = new flash_store_1.FlashStore(path_1.default.join(baseDir, 'friendship-raw-payload'));
|
|
65
|
+
const contactTotal = await this._contactCache.size;
|
|
66
|
+
wechaty_puppet_1.log.silly(PRE, `initCache() inited ${contactTotal} Contacts, cachedir="${baseDir}"`);
|
|
67
|
+
}
|
|
68
|
+
async close() {
|
|
69
|
+
wechaty_puppet_1.log.silly(PRE, 'close()');
|
|
70
|
+
if (this._contactCache
|
|
71
|
+
&& this._contactStrangerAliasCache
|
|
72
|
+
&& this._roomMemberCache
|
|
73
|
+
&& this._roomCache
|
|
74
|
+
&& this._friendshipCache
|
|
75
|
+
&& this._roomInvitationCache
|
|
76
|
+
&& this._messageCache) {
|
|
77
|
+
wechaty_puppet_1.log.silly(PRE, 'close() closing caches ...');
|
|
78
|
+
await Promise.all([
|
|
79
|
+
this._contactCache.close(),
|
|
80
|
+
this._contactStrangerAliasCache.close(),
|
|
81
|
+
this._roomMemberCache.close(),
|
|
82
|
+
this._roomCache.close(),
|
|
83
|
+
this._friendshipCache.close(),
|
|
84
|
+
this._roomInvitationCache.close(),
|
|
85
|
+
]);
|
|
86
|
+
this._contactCache = undefined;
|
|
87
|
+
this._contactStrangerAliasCache = undefined;
|
|
88
|
+
this._roomMemberCache = undefined;
|
|
89
|
+
this._roomCache = undefined;
|
|
90
|
+
this._friendshipCache = undefined;
|
|
91
|
+
this._roomInvitationCache = undefined;
|
|
92
|
+
this._messageCache = undefined;
|
|
93
|
+
wechaty_puppet_1.log.silly(PRE, 'close() cache closed.');
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
wechaty_puppet_1.log.silly(PRE, 'close() cache not exist.');
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
async getMessage(messageId) {
|
|
100
|
+
if (!messageId)
|
|
101
|
+
return;
|
|
102
|
+
return this._messageCache.get(messageId);
|
|
103
|
+
}
|
|
104
|
+
async setMessage(messageId, payload) {
|
|
105
|
+
if (!messageId)
|
|
106
|
+
return;
|
|
107
|
+
await this._messageCache.set(messageId, payload);
|
|
108
|
+
}
|
|
109
|
+
async hasMessage(messageId) {
|
|
110
|
+
if (!messageId)
|
|
111
|
+
return false;
|
|
112
|
+
return this._messageCache.has(messageId);
|
|
113
|
+
}
|
|
114
|
+
async getMessageRevokeInfo(messageId) {
|
|
115
|
+
if (!messageId)
|
|
116
|
+
return;
|
|
117
|
+
return this._messageRevokeCache.get(messageId);
|
|
118
|
+
}
|
|
119
|
+
async setMessageRevokeInfo(messageId, messageSendResult) {
|
|
120
|
+
await this._messageRevokeCache.set(messageId, messageSendResult);
|
|
121
|
+
}
|
|
122
|
+
async getContact(contactId) {
|
|
123
|
+
if (!contactId)
|
|
124
|
+
return;
|
|
125
|
+
return this._contactCache.get(contactId);
|
|
126
|
+
}
|
|
127
|
+
async setContact(contactId, payload) {
|
|
128
|
+
if (!contactId)
|
|
129
|
+
return;
|
|
130
|
+
await this._contactCache.set(contactId, payload);
|
|
131
|
+
}
|
|
132
|
+
async deleteContact(contactId) {
|
|
133
|
+
if (!contactId)
|
|
134
|
+
return;
|
|
135
|
+
await this._contactCache.delete(contactId);
|
|
136
|
+
}
|
|
137
|
+
async getContactIds() {
|
|
138
|
+
const result = [];
|
|
139
|
+
for await (const key of this._contactCache.keys()) {
|
|
140
|
+
result.push(key);
|
|
141
|
+
}
|
|
142
|
+
return result;
|
|
143
|
+
}
|
|
144
|
+
async getAllContacts() {
|
|
145
|
+
const result = [];
|
|
146
|
+
for await (const value of this._contactCache.values()) {
|
|
147
|
+
result.push(value);
|
|
148
|
+
}
|
|
149
|
+
return result;
|
|
150
|
+
}
|
|
151
|
+
async hasContact(contactId) {
|
|
152
|
+
if (!contactId)
|
|
153
|
+
return false;
|
|
154
|
+
return this._contactCache.has(contactId);
|
|
155
|
+
}
|
|
156
|
+
async getContactCount() {
|
|
157
|
+
return this._contactCache.size;
|
|
158
|
+
}
|
|
159
|
+
async getContactSearch(id) {
|
|
160
|
+
if (!id)
|
|
161
|
+
return;
|
|
162
|
+
return this._contactSearchCache.get(id);
|
|
163
|
+
}
|
|
164
|
+
async setContactSearch(id, payload) {
|
|
165
|
+
if (!id)
|
|
166
|
+
return;
|
|
167
|
+
this._contactSearchCache.set(id, payload);
|
|
168
|
+
}
|
|
169
|
+
async hasContactSearch(id) {
|
|
170
|
+
if (!id)
|
|
171
|
+
return false;
|
|
172
|
+
return this._contactSearchCache.has(id);
|
|
173
|
+
}
|
|
174
|
+
async getContactStrangerAlias(encryptedUserName) {
|
|
175
|
+
return this._contactStrangerAliasCache.get(encryptedUserName);
|
|
176
|
+
}
|
|
177
|
+
async setContactStrangerAlias(encryptedUserName, alias) {
|
|
178
|
+
await this._contactStrangerAliasCache.set(encryptedUserName, alias);
|
|
179
|
+
}
|
|
180
|
+
async deleteContactStrangerAlias(encryptedUserName) {
|
|
181
|
+
await this._contactStrangerAliasCache.delete(encryptedUserName);
|
|
182
|
+
}
|
|
183
|
+
async getRoom(roomId) {
|
|
184
|
+
if (!roomId)
|
|
185
|
+
return;
|
|
186
|
+
return this._roomCache.get(roomId);
|
|
187
|
+
}
|
|
188
|
+
async setRoom(roomId, payload) {
|
|
189
|
+
if (!roomId)
|
|
190
|
+
return;
|
|
191
|
+
await this._roomCache.set(roomId, payload);
|
|
192
|
+
}
|
|
193
|
+
async deleteRoom(roomId) {
|
|
194
|
+
if (!roomId)
|
|
195
|
+
return;
|
|
196
|
+
await this._roomCache.delete(roomId);
|
|
197
|
+
}
|
|
198
|
+
async getRoomIds() {
|
|
199
|
+
const result = [];
|
|
200
|
+
for await (const key of this._roomCache.keys()) {
|
|
201
|
+
result.push(key);
|
|
202
|
+
}
|
|
203
|
+
return result;
|
|
204
|
+
}
|
|
205
|
+
async getRoomCount() {
|
|
206
|
+
return this._roomCache.size;
|
|
207
|
+
}
|
|
208
|
+
async hasRoom(roomId) {
|
|
209
|
+
if (!roomId)
|
|
210
|
+
return false;
|
|
211
|
+
return this._roomCache.has(roomId);
|
|
212
|
+
}
|
|
213
|
+
async getRoomMember(roomId) {
|
|
214
|
+
if (!roomId)
|
|
215
|
+
return;
|
|
216
|
+
return this._roomMemberCache.get(roomId);
|
|
217
|
+
}
|
|
218
|
+
async setRoomMember(roomId, payload) {
|
|
219
|
+
if (!roomId)
|
|
220
|
+
return;
|
|
221
|
+
await this._roomMemberCache.set(roomId, payload);
|
|
222
|
+
const roomInfo = await this.getRoom(roomId);
|
|
223
|
+
if (roomInfo && roomInfo.chatroommemberList) {
|
|
224
|
+
roomInfo.chatroommemberList = Object.keys(payload);
|
|
225
|
+
await this.setRoom(roomId, roomInfo);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
async deleteRoomMember(roomId) {
|
|
229
|
+
if (!roomId)
|
|
230
|
+
return;
|
|
231
|
+
await this._roomMemberCache.delete(roomId);
|
|
232
|
+
}
|
|
233
|
+
async updateSingleRoomMember(roomId, payload) {
|
|
234
|
+
if (!roomId)
|
|
235
|
+
return;
|
|
236
|
+
const roomMemberMap = await this.getRoomMember(roomId);
|
|
237
|
+
if (roomMemberMap) {
|
|
238
|
+
roomMemberMap[payload.wxid] = payload;
|
|
239
|
+
await this.setRoomMember(roomId, roomMemberMap);
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
await this.setRoomMember(roomId, { [payload.wxid]: payload });
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
async deleteSingleRoomMember(roomId, contactId) {
|
|
246
|
+
if (!roomId || !contactId)
|
|
247
|
+
return;
|
|
248
|
+
const roomMemberMap = await this.getRoomMember(roomId);
|
|
249
|
+
if (roomMemberMap) {
|
|
250
|
+
delete roomMemberMap[contactId];
|
|
251
|
+
await this.setRoomMember(roomId, roomMemberMap);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
async getRoomInvitation(messageId) {
|
|
255
|
+
if (!messageId)
|
|
256
|
+
return;
|
|
257
|
+
return this._roomInvitationCache.get(messageId);
|
|
258
|
+
}
|
|
259
|
+
async setRoomInvitation(messageId, payload) {
|
|
260
|
+
if (!messageId)
|
|
261
|
+
return;
|
|
262
|
+
await this._roomInvitationCache.set(messageId, payload);
|
|
263
|
+
}
|
|
264
|
+
async deleteRoomInvitation(messageId) {
|
|
265
|
+
if (!messageId)
|
|
266
|
+
return;
|
|
267
|
+
await this._roomInvitationCache.delete(messageId);
|
|
268
|
+
}
|
|
269
|
+
async getFriendshipRawPayload(id) {
|
|
270
|
+
if (!id)
|
|
271
|
+
return;
|
|
272
|
+
return this._friendshipCache.get(id);
|
|
273
|
+
}
|
|
274
|
+
async setFriendshipRawPayload(id, payload) {
|
|
275
|
+
if (!id)
|
|
276
|
+
return;
|
|
277
|
+
await this._friendshipCache.set(id, payload);
|
|
278
|
+
}
|
|
279
|
+
getLabelList() {
|
|
280
|
+
return this._labelList;
|
|
281
|
+
}
|
|
282
|
+
setLabelList(labelList) {
|
|
283
|
+
this._labelList = labelList;
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
exports.CacheManager = CacheManager;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { MessagePayload } from '../../engine-schema.js';
|
|
2
|
+
import * 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-friendship.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-friendship.d.ts","sourceRoot":"","sources":["../../../../../src/matrix/events/event-friendship.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;kCAyEf,MAAM,CAAC,MAAM,WAAW,cAAc,KAAG,OAAO,CAAC,YAAY,CAAC;AAA7F,wBAwCC"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
const PUPPET = __importStar(require("@juzi/wechaty-puppet"));
|
|
27
|
+
const types_js_1 = require("../types.js");
|
|
28
|
+
const xml_to_json_js_1 = require("../utils/xml-to-json.js");
|
|
29
|
+
const is_type_js_1 = require("../utils/is-type.js");
|
|
30
|
+
const FRIENDSHIP_CONFIRM_REGEX_LIST = [
|
|
31
|
+
/^You have added (.+) as your WeChat contact. Start chatting!$/,
|
|
32
|
+
/^你已添加了(.+),现在可以开始聊天了。$/,
|
|
33
|
+
/I've accepted your friend request. Now let's chat!$/,
|
|
34
|
+
/^(.+) just added you to his\/her contacts list. Send a message to him\/her now!$/,
|
|
35
|
+
/^(.+)刚刚把你添加到通讯录,现在可以开始聊天了。$/,
|
|
36
|
+
/^我通过了你的朋友验证请求,现在我们可以开始聊天了$/,
|
|
37
|
+
];
|
|
38
|
+
const FRIENDSHIP_VERIFY_REGEX_LIST = [
|
|
39
|
+
/^(.+) has enabled Friend Confirmation/,
|
|
40
|
+
/^(.+)开启了朋友验证,你还不是他(她)朋友。请先发送朋友验证请求,对方验证通过后,才能聊天。/,
|
|
41
|
+
];
|
|
42
|
+
const isConfirm = (message) => {
|
|
43
|
+
return FRIENDSHIP_CONFIRM_REGEX_LIST.some((regexp) => {
|
|
44
|
+
return !!message.text.match(regexp);
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
const isNeedVerify = (message) => {
|
|
48
|
+
return FRIENDSHIP_VERIFY_REGEX_LIST.some((regexp) => {
|
|
49
|
+
return !!message.text.match(regexp);
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
const isReceive = async (message) => {
|
|
53
|
+
if (message.msgType !== types_js_1.WechatMessageType.VerifyMsg
|
|
54
|
+
&& message.msgType !== types_js_1.WechatMessageType.VerifyMsgEnterprise) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
const verifyXml = await (0, xml_to_json_js_1.xmlToJson)(message.text);
|
|
59
|
+
const contactId = verifyXml.msg.$.fromusername;
|
|
60
|
+
if ((0, is_type_js_1.isContactId)(contactId) && verifyXml.msg.$.encryptusername) {
|
|
61
|
+
return verifyXml;
|
|
62
|
+
}
|
|
63
|
+
else if ((0, is_type_js_1.isIMContactId)(contactId)) {
|
|
64
|
+
return verifyXml;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch (e) {
|
|
68
|
+
}
|
|
69
|
+
return null;
|
|
70
|
+
};
|
|
71
|
+
exports.default = async (_puppet, message) => {
|
|
72
|
+
if (isConfirm(message)) {
|
|
73
|
+
return {
|
|
74
|
+
contactId: message.talkerId,
|
|
75
|
+
id: message.id,
|
|
76
|
+
timestamp: message.timeStamp,
|
|
77
|
+
type: PUPPET.types.Friendship.Confirm,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
else if (isNeedVerify(message)) {
|
|
81
|
+
return {
|
|
82
|
+
contactId: message.talkerId,
|
|
83
|
+
id: message.id,
|
|
84
|
+
timestamp: message.timeStamp,
|
|
85
|
+
type: PUPPET.types.Friendship.Verify,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
const verifyXml = await isReceive(message);
|
|
90
|
+
if (verifyXml) {
|
|
91
|
+
const payload = verifyXml.msg.$;
|
|
92
|
+
return {
|
|
93
|
+
contactId: payload.fromusername,
|
|
94
|
+
hello: payload.content,
|
|
95
|
+
id: message.id,
|
|
96
|
+
scene: parseInt(payload.scene, 10),
|
|
97
|
+
stranger: payload.encryptusername,
|
|
98
|
+
ticket: payload.ticket,
|
|
99
|
+
timestamp: message.timeStamp,
|
|
100
|
+
type: PUPPET.types.Friendship.Receive,
|
|
101
|
+
sourceNickName: payload.sourcenickname,
|
|
102
|
+
sourceContactId: payload.sourceusername,
|
|
103
|
+
shareCardNickName: payload.sharecardnickname,
|
|
104
|
+
shareCardContactId: payload.sharecardusername,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type * as PUPPET from '@juzi/wechaty-puppet';
|
|
2
|
+
import type { MessagePayload } from '../../engine-schema.js';
|
|
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-message.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-message.d.ts","sourceRoot":"","sources":["../../../../../src/matrix/events/event-message.ts"],"names":[],"mappings":"AAAA,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;kCAEf,MAAM,CAAC,MAAM,WAAW,cAAc,KAAG,OAAO,CAAC,YAAY,CAAC;AAA7F,wBAEC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type * as PUPPET from '@juzi/wechaty-puppet';
|
|
2
|
+
import type { MessagePayload } from '../../engine-schema.js';
|
|
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-invite.d.ts.map
|
|
@@ -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,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const message_appmsg_js_1 = require("../messages/message-appmsg.js");
|
|
4
|
+
const is_type_js_1 = require("../utils/is-type.js");
|
|
5
|
+
const ROOM_OTHER_INVITE_TITLE_ZH = [/邀请你加入群聊/];
|
|
6
|
+
const ROOM_OTHER_INVITE_TITLE_EN = [/Group Chat Invitation/];
|
|
7
|
+
const ROOM_OTHER_INVITE_LIST_ZH = [/^"(.+)"邀请你加入群聊(.*),进入可查看详情。/];
|
|
8
|
+
const ROOM_OTHER_INVITE_LIST_EN = [/"(.+)" invited you to join the group chat "(.+)"\. Enter to view details\./];
|
|
9
|
+
exports.default = async (_puppet, message) => {
|
|
10
|
+
let appMsgPayload;
|
|
11
|
+
try {
|
|
12
|
+
appMsgPayload = await (0, message_appmsg_js_1.parseAppmsgMessagePayload)(message.msg);
|
|
13
|
+
}
|
|
14
|
+
catch (e) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
if (appMsgPayload.type !== message_appmsg_js_1.AppMessageType.Url) {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
if (!appMsgPayload.title || !appMsgPayload.des) {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
let matchesForOtherInviteTitleEn = null;
|
|
24
|
+
let matchesForOtherInviteTitleZh = null;
|
|
25
|
+
let matchesForOtherInviteEn = null;
|
|
26
|
+
let matchesForOtherInviteZh = null;
|
|
27
|
+
ROOM_OTHER_INVITE_TITLE_EN.some((regex) => !!(matchesForOtherInviteTitleEn = appMsgPayload.title.match(regex)));
|
|
28
|
+
ROOM_OTHER_INVITE_TITLE_ZH.some((regex) => !!(matchesForOtherInviteTitleZh = appMsgPayload.title.match(regex)));
|
|
29
|
+
ROOM_OTHER_INVITE_LIST_EN.some((regex) => !!(matchesForOtherInviteEn = appMsgPayload.des.match(regex)));
|
|
30
|
+
ROOM_OTHER_INVITE_LIST_ZH.some((regex) => !!(matchesForOtherInviteZh = appMsgPayload.des.match(regex)));
|
|
31
|
+
const titleMatch = matchesForOtherInviteTitleEn || matchesForOtherInviteTitleZh;
|
|
32
|
+
const matchInviteEvent = matchesForOtherInviteEn || matchesForOtherInviteZh;
|
|
33
|
+
const matches = !!titleMatch && !!matchInviteEvent;
|
|
34
|
+
if (!matches) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
let receiverId = '';
|
|
38
|
+
if (!(0, is_type_js_1.isRoomId)(message.talkerId)) {
|
|
39
|
+
receiverId = _puppet.currentUserId;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
receiverId = message.talkerId;
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
avatar: appMsgPayload.thumburl,
|
|
46
|
+
id: message.id,
|
|
47
|
+
invitation: appMsgPayload.url,
|
|
48
|
+
inviterId: message.talkerId,
|
|
49
|
+
memberCount: 0,
|
|
50
|
+
memberIdList: [],
|
|
51
|
+
receiverId,
|
|
52
|
+
timestamp: message.timeStamp,
|
|
53
|
+
topic: matchInviteEvent[2],
|
|
54
|
+
};
|
|
55
|
+
};
|
|
@@ -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,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const is_type_js_1 = require("../utils/is-type.js");
|
|
4
|
+
const types_js_1 = require("../types.js");
|
|
5
|
+
const xml_to_json_js_1 = require("../utils/xml-to-json.js");
|
|
6
|
+
const ROOM_JOIN_BOT_INVITE_OTHER_REGEX_LIST_ZH = [
|
|
7
|
+
/^你邀请"(.+)"加入了群聊 {2}\$revoke\$/,
|
|
8
|
+
/^" ?(.+)"通过扫描你分享的二维码加入群聊/,
|
|
9
|
+
];
|
|
10
|
+
const ROOM_JOIN_OTHER_INVITE_BOT_REGEX_LIST_ZH = [
|
|
11
|
+
/^"([^"]+?)"邀请你加入了群聊,群聊参与人还有:(.+)/,
|
|
12
|
+
/^"([^"]+?)"邀请你和"(.+?)"加入了群聊/,
|
|
13
|
+
];
|
|
14
|
+
const ROOM_JOIN_OTHER_INVITE_OTHER_REGEX_LIST_ZH = [
|
|
15
|
+
/^"(.+)"邀请"(.+)"加入了群聊/,
|
|
16
|
+
];
|
|
17
|
+
const ROOM_JOIN_OTHER_INVITE_OTHER_QRCODE_REGEX_LIST_ZH = [
|
|
18
|
+
/^" (.+)"通过扫描"(.+)"分享的二维码加入群聊/,
|
|
19
|
+
];
|
|
20
|
+
const ROOM_JOIN_BOT_INVITE_OTHER_REGEX_LIST_EN = [
|
|
21
|
+
/^You invited (.+) to the group chat/,
|
|
22
|
+
/^" ?(.+)" joined group chat via the QR code you shared/,
|
|
23
|
+
];
|
|
24
|
+
const ROOM_JOIN_OTHER_INVITE_BOT_REGEX_LIST_EN = [
|
|
25
|
+
/^(.+) invited you to a group chat with (.+)/,
|
|
26
|
+
];
|
|
27
|
+
const ROOM_JOIN_OTHER_INVITE_OTHER_REGEX_LIST_EN = [
|
|
28
|
+
/^(.+?) invited (.+?) to (the|a) group chat/,
|
|
29
|
+
];
|
|
30
|
+
const ROOM_JOIN_OTHER_INVITE_OTHER_QRCODE_REGEX_LIST_EN = [
|
|
31
|
+
/^"(.+)" joined the group chat via the QR Code shared by "(.+)"/,
|
|
32
|
+
];
|
|
33
|
+
exports.default = async (puppet, message) => {
|
|
34
|
+
const roomId = message.fromWxid || '';
|
|
35
|
+
if (!(0, is_type_js_1.isRoomId)(roomId)) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
const timestamp = message.timeStamp;
|
|
39
|
+
if (message.msgType !== types_js_1.WechatMessageType.Sys && message.msgType !== types_js_1.WechatMessageType.SysTemplate) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
const jsonPayload = await (0, xml_to_json_js_1.xmlToJson)(message.msg);
|
|
43
|
+
if (!jsonPayload
|
|
44
|
+
|| !jsonPayload.sysmsg
|
|
45
|
+
|| !jsonPayload.sysmsg.sysmsgtemplate) {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
const content = jsonPayload.sysmsg.sysmsgtemplate.content_template.template;
|
|
49
|
+
const linkList = jsonPayload.sysmsg.sysmsgtemplate.content_template.link_list.link;
|
|
50
|
+
let matchesForBotInviteOtherEn = null;
|
|
51
|
+
let matchesForOtherInviteBotEn = null;
|
|
52
|
+
let matchesForOtherInviteOtherEn = null;
|
|
53
|
+
let matchesForOtherInviteOtherQrcodeEn = null;
|
|
54
|
+
ROOM_JOIN_BOT_INVITE_OTHER_REGEX_LIST_EN.some((regex) => !!(matchesForBotInviteOtherEn = content.match(regex)));
|
|
55
|
+
ROOM_JOIN_OTHER_INVITE_BOT_REGEX_LIST_EN.some((regex) => !!(matchesForOtherInviteBotEn = content.match(regex)));
|
|
56
|
+
ROOM_JOIN_OTHER_INVITE_OTHER_REGEX_LIST_EN.some((regex) => !!(matchesForOtherInviteOtherEn = content.match(regex)));
|
|
57
|
+
ROOM_JOIN_OTHER_INVITE_OTHER_QRCODE_REGEX_LIST_EN.some((regex) => !!(matchesForOtherInviteOtherQrcodeEn = content.match(regex)));
|
|
58
|
+
let matchesForBotInviteOtherZh = null;
|
|
59
|
+
let matchesForOtherInviteBotZh = null;
|
|
60
|
+
let matchesForOtherInviteOtherZh = null;
|
|
61
|
+
let matchesForOtherInviteOtherQrcodeZh = null;
|
|
62
|
+
ROOM_JOIN_BOT_INVITE_OTHER_REGEX_LIST_ZH.some((regex) => !!(matchesForBotInviteOtherZh = content.match(regex)));
|
|
63
|
+
ROOM_JOIN_OTHER_INVITE_BOT_REGEX_LIST_ZH.some((regex) => !!(matchesForOtherInviteBotZh = content.match(regex)));
|
|
64
|
+
ROOM_JOIN_OTHER_INVITE_OTHER_REGEX_LIST_ZH.some((regex) => !!(matchesForOtherInviteOtherZh = content.match(regex)));
|
|
65
|
+
ROOM_JOIN_OTHER_INVITE_OTHER_QRCODE_REGEX_LIST_ZH.some((regex) => !!(matchesForOtherInviteOtherQrcodeZh = content.match(regex)));
|
|
66
|
+
const matchesForBotInviteOther = matchesForBotInviteOtherEn || matchesForBotInviteOtherZh;
|
|
67
|
+
const matchesForOtherInviteBot = matchesForOtherInviteBotEn || matchesForOtherInviteBotZh;
|
|
68
|
+
const matchesForOtherInviteOther = matchesForOtherInviteOtherEn || matchesForOtherInviteOtherZh;
|
|
69
|
+
const matchesForOtherInviteOtherQrcode = matchesForOtherInviteOtherQrcodeEn || matchesForOtherInviteOtherQrcodeZh;
|
|
70
|
+
const matches = matchesForBotInviteOther
|
|
71
|
+
|| matchesForOtherInviteBot
|
|
72
|
+
|| matchesForOtherInviteOther
|
|
73
|
+
|| matchesForOtherInviteOtherQrcode;
|
|
74
|
+
if (!matches) {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
const checkString = (inviteeIdList) => {
|
|
78
|
+
return typeof inviteeIdList !== 'string'
|
|
79
|
+
? inviteeIdList
|
|
80
|
+
: [inviteeIdList];
|
|
81
|
+
};
|
|
82
|
+
if (matchesForBotInviteOther) {
|
|
83
|
+
const other = matches[1] || '';
|
|
84
|
+
const inviteeIdList = (0, xml_to_json_js_1.getUserName)(linkList, other);
|
|
85
|
+
return {
|
|
86
|
+
inviteeIdList: checkString(inviteeIdList),
|
|
87
|
+
inviterId: puppet.currentUserId,
|
|
88
|
+
roomId,
|
|
89
|
+
timestamp,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
else if (matchesForOtherInviteBot) {
|
|
93
|
+
const _inviterName = matches[1] || '';
|
|
94
|
+
const inviterId = (0, xml_to_json_js_1.getUserName)(linkList, _inviterName);
|
|
95
|
+
return {
|
|
96
|
+
inviteeIdList: [puppet.currentUserId],
|
|
97
|
+
inviterId,
|
|
98
|
+
roomId,
|
|
99
|
+
timestamp,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
else if (matchesForOtherInviteOther) {
|
|
103
|
+
const _inviterName = matches[1] || '';
|
|
104
|
+
const inviterId = (0, xml_to_json_js_1.getUserName)(linkList, _inviterName);
|
|
105
|
+
const _others = matches[2] || '';
|
|
106
|
+
const inviteeIdList = (0, xml_to_json_js_1.getUserName)(linkList, _others);
|
|
107
|
+
return {
|
|
108
|
+
inviteeIdList: checkString(inviteeIdList),
|
|
109
|
+
inviterId,
|
|
110
|
+
roomId,
|
|
111
|
+
timestamp,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
else if (matchesForOtherInviteOtherQrcode) {
|
|
115
|
+
const _inviterName = matches[2] || '';
|
|
116
|
+
const inviterId = (0, xml_to_json_js_1.getUserName)(linkList, _inviterName);
|
|
117
|
+
const other = matches[1] || '';
|
|
118
|
+
const inviteeIdList = (0, xml_to_json_js_1.getUserName)(linkList, other);
|
|
119
|
+
return {
|
|
120
|
+
inviteeIdList: checkString(inviteeIdList),
|
|
121
|
+
inviterId,
|
|
122
|
+
roomId,
|
|
123
|
+
timestamp,
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
return null;
|
|
127
|
+
};
|
|
@@ -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"}
|