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.
Files changed (352) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +14 -0
  3. package/dist/cjs/package.json +3 -0
  4. package/dist/cjs/src/cleanup.d.ts +4 -0
  5. package/dist/cjs/src/cleanup.d.ts.map +1 -0
  6. package/dist/cjs/src/cleanup.js +31 -0
  7. package/dist/cjs/src/config.d.ts +5 -0
  8. package/dist/cjs/src/config.d.ts.map +1 -0
  9. package/dist/cjs/src/config.js +10 -0
  10. package/dist/cjs/src/engine-schema.d.ts +76 -0
  11. package/dist/cjs/src/engine-schema.d.ts.map +1 -0
  12. package/dist/cjs/src/engine-schema.js +14 -0
  13. package/dist/cjs/src/matrix/cache-manager.d.ts +58 -0
  14. package/dist/cjs/src/matrix/cache-manager.d.ts.map +1 -0
  15. package/dist/cjs/src/matrix/cache-manager.js +286 -0
  16. package/dist/cjs/src/matrix/events/event-friendship.d.ts +6 -0
  17. package/dist/cjs/src/matrix/events/event-friendship.d.ts.map +1 -0
  18. package/dist/cjs/src/matrix/events/event-friendship.js +109 -0
  19. package/dist/cjs/src/matrix/events/event-message.d.ts +6 -0
  20. package/dist/cjs/src/matrix/events/event-message.d.ts.map +1 -0
  21. package/dist/cjs/src/matrix/events/event-message.js +5 -0
  22. package/dist/cjs/src/matrix/events/event-room-invite.d.ts +6 -0
  23. package/dist/cjs/src/matrix/events/event-room-invite.d.ts.map +1 -0
  24. package/dist/cjs/src/matrix/events/event-room-invite.js +55 -0
  25. package/dist/cjs/src/matrix/events/event-room-join.d.ts +6 -0
  26. package/dist/cjs/src/matrix/events/event-room-join.d.ts.map +1 -0
  27. package/dist/cjs/src/matrix/events/event-room-join.js +127 -0
  28. package/dist/cjs/src/matrix/events/event-room-leave.d.ts +8 -0
  29. package/dist/cjs/src/matrix/events/event-room-leave.d.ts.map +1 -0
  30. package/dist/cjs/src/matrix/events/event-room-leave.js +83 -0
  31. package/dist/cjs/src/matrix/events/event-room-topic.d.ts +6 -0
  32. package/dist/cjs/src/matrix/events/event-room-topic.d.ts.map +1 -0
  33. package/dist/cjs/src/matrix/events/event-room-topic.js +56 -0
  34. package/dist/cjs/src/matrix/events/event.d.ts +28 -0
  35. package/dist/cjs/src/matrix/events/event.d.ts.map +1 -0
  36. package/dist/cjs/src/matrix/events/event.js +42 -0
  37. package/dist/cjs/src/matrix/events/mod.d.ts +3 -0
  38. package/dist/cjs/src/matrix/events/mod.d.ts.map +1 -0
  39. package/dist/cjs/src/matrix/events/mod.js +21 -0
  40. package/dist/cjs/src/matrix/messages/message-appmsg.d.ts +57 -0
  41. package/dist/cjs/src/matrix/messages/message-appmsg.d.ts.map +1 -0
  42. package/dist/cjs/src/matrix/messages/message-appmsg.js +60 -0
  43. package/dist/cjs/src/matrix/messages/message-audio.d.ts +32 -0
  44. package/dist/cjs/src/matrix/messages/message-audio.d.ts.map +1 -0
  45. package/dist/cjs/src/matrix/messages/message-audio.js +17 -0
  46. package/dist/cjs/src/matrix/messages/message-emotion.d.ts +13 -0
  47. package/dist/cjs/src/matrix/messages/message-emotion.d.ts.map +1 -0
  48. package/dist/cjs/src/matrix/messages/message-emotion.js +32 -0
  49. package/dist/cjs/src/matrix/messages/message-image.d.ts +33 -0
  50. package/dist/cjs/src/matrix/messages/message-image.d.ts.map +1 -0
  51. package/dist/cjs/src/matrix/messages/message-image.js +14 -0
  52. package/dist/cjs/src/matrix/messages/message-miniprogram.d.ts +4 -0
  53. package/dist/cjs/src/matrix/messages/message-miniprogram.d.ts.map +1 -0
  54. package/dist/cjs/src/matrix/messages/message-miniprogram.js +21 -0
  55. package/dist/cjs/src/matrix/messages/message-sysmsg.d.ts +18 -0
  56. package/dist/cjs/src/matrix/messages/message-sysmsg.d.ts.map +1 -0
  57. package/dist/cjs/src/matrix/messages/message-sysmsg.js +76 -0
  58. package/dist/cjs/src/matrix/messages/message-video.d.ts +43 -0
  59. package/dist/cjs/src/matrix/messages/message-video.d.ts.map +1 -0
  60. package/dist/cjs/src/matrix/messages/message-video.js +20 -0
  61. package/dist/cjs/src/matrix/messages/sysmsg/message-pat.d.ts +14 -0
  62. package/dist/cjs/src/matrix/messages/sysmsg/message-pat.d.ts.map +1 -0
  63. package/dist/cjs/src/matrix/messages/sysmsg/message-pat.js +11 -0
  64. package/dist/cjs/src/matrix/messages/sysmsg/message-revokemsg.d.ts +19 -0
  65. package/dist/cjs/src/matrix/messages/sysmsg/message-revokemsg.d.ts.map +1 -0
  66. package/dist/cjs/src/matrix/messages/sysmsg/message-revokemsg.js +48 -0
  67. package/dist/cjs/src/matrix/messages/sysmsg/message-sysmsgtemplate.d.ts +59 -0
  68. package/dist/cjs/src/matrix/messages/sysmsg/message-sysmsgtemplate.d.ts.map +1 -0
  69. package/dist/cjs/src/matrix/messages/sysmsg/message-sysmsgtemplate.js +61 -0
  70. package/dist/cjs/src/matrix/messages/sysmsg/message-todo.d.ts +31 -0
  71. package/dist/cjs/src/matrix/messages/sysmsg/message-todo.d.ts.map +1 -0
  72. package/dist/cjs/src/matrix/messages/sysmsg/message-todo.js +16 -0
  73. package/dist/cjs/src/matrix/schema-mapper/contact.d.ts +4 -0
  74. package/dist/cjs/src/matrix/schema-mapper/contact.d.ts.map +1 -0
  75. package/dist/cjs/src/matrix/schema-mapper/contact.js +62 -0
  76. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-appmsg.d.ts +3 -0
  77. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-appmsg.d.ts.map +1 -0
  78. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-appmsg.js +100 -0
  79. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-refermsg.d.ts +3 -0
  80. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-refermsg.d.ts.map +1 -0
  81. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-refermsg.js +67 -0
  82. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-room.d.ts +3 -0
  83. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-room.d.ts.map +1 -0
  84. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-room.js +40 -0
  85. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-single-chat.d.ts +3 -0
  86. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-single-chat.d.ts.map +1 -0
  87. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-single-chat.js +11 -0
  88. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-sysmsg.d.ts +3 -0
  89. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-sysmsg.d.ts.map +1 -0
  90. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-sysmsg.js +41 -0
  91. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-type.d.ts +3 -0
  92. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-type.d.ts.map +1 -0
  93. package/dist/cjs/src/matrix/schema-mapper/message/message-parser-type.js +65 -0
  94. package/dist/cjs/src/matrix/schema-mapper/message/message-parser.d.ts +13 -0
  95. package/dist/cjs/src/matrix/schema-mapper/message/message-parser.d.ts.map +1 -0
  96. package/dist/cjs/src/matrix/schema-mapper/message/message-parser.js +20 -0
  97. package/dist/cjs/src/matrix/schema-mapper/message/mod.d.ts +3 -0
  98. package/dist/cjs/src/matrix/schema-mapper/message/mod.d.ts.map +1 -0
  99. package/dist/cjs/src/matrix/schema-mapper/message/mod.js +17 -0
  100. package/dist/cjs/src/matrix/schema-mapper/message.d.ts +6 -0
  101. package/dist/cjs/src/matrix/schema-mapper/message.d.ts.map +1 -0
  102. package/dist/cjs/src/matrix/schema-mapper/message.js +47 -0
  103. package/dist/cjs/src/matrix/schema-mapper/room.d.ts +6 -0
  104. package/dist/cjs/src/matrix/schema-mapper/room.d.ts.map +1 -0
  105. package/dist/cjs/src/matrix/schema-mapper/room.js +27 -0
  106. package/dist/cjs/src/matrix/service/request.d.ts +290 -0
  107. package/dist/cjs/src/matrix/service/request.d.ts.map +1 -0
  108. package/dist/cjs/src/matrix/service/request.js +1315 -0
  109. package/dist/cjs/src/matrix/types.d.ts +34 -0
  110. package/dist/cjs/src/matrix/types.d.ts.map +1 -0
  111. package/dist/cjs/src/matrix/types.js +30 -0
  112. package/dist/cjs/src/matrix/utils/cached-promise.d.ts +5 -0
  113. package/dist/cjs/src/matrix/utils/cached-promise.d.ts.map +1 -0
  114. package/dist/cjs/src/matrix/utils/cached-promise.js +22 -0
  115. package/dist/cjs/src/matrix/utils/image-decrypt.d.ts +7 -0
  116. package/dist/cjs/src/matrix/utils/image-decrypt.d.ts.map +1 -0
  117. package/dist/cjs/src/matrix/utils/image-decrypt.js +158 -0
  118. package/dist/cjs/src/matrix/utils/index.d.ts +4 -0
  119. package/dist/cjs/src/matrix/utils/index.d.ts.map +1 -0
  120. package/dist/cjs/src/matrix/utils/index.js +32 -0
  121. package/dist/cjs/src/matrix/utils/is-type.d.ts +9 -0
  122. package/dist/cjs/src/matrix/utils/is-type.d.ts.map +1 -0
  123. package/dist/cjs/src/matrix/utils/is-type.js +72 -0
  124. package/dist/cjs/src/matrix/utils/regex.d.ts +3 -0
  125. package/dist/cjs/src/matrix/utils/regex.d.ts.map +1 -0
  126. package/dist/cjs/src/matrix/utils/regex.js +14 -0
  127. package/dist/cjs/src/matrix/utils/runner.d.ts +3 -0
  128. package/dist/cjs/src/matrix/utils/runner.d.ts.map +1 -0
  129. package/dist/cjs/src/matrix/utils/runner.js +12 -0
  130. package/dist/cjs/src/matrix/utils/string.d.ts +2 -0
  131. package/dist/cjs/src/matrix/utils/string.d.ts.map +1 -0
  132. package/dist/cjs/src/matrix/utils/string.js +7 -0
  133. package/dist/cjs/src/matrix/utils/xml-to-json.d.ts +5 -0
  134. package/dist/cjs/src/matrix/utils/xml-to-json.d.ts.map +1 -0
  135. package/dist/cjs/src/matrix/utils/xml-to-json.js +51 -0
  136. package/dist/cjs/src/mod.d.ts +5 -0
  137. package/dist/cjs/src/mod.d.ts.map +1 -0
  138. package/dist/cjs/src/mod.js +9 -0
  139. package/dist/cjs/src/package-json.d.ts +3 -0
  140. package/dist/cjs/src/package-json.d.ts.map +1 -0
  141. package/dist/cjs/src/package-json.js +4 -0
  142. package/dist/cjs/src/package-json.spec.d.ts +3 -0
  143. package/dist/cjs/src/package-json.spec.d.ts.map +1 -0
  144. package/dist/cjs/src/package-json.spec.js +9 -0
  145. package/dist/cjs/src/puppet-matrix.d.ts +114 -0
  146. package/dist/cjs/src/puppet-matrix.d.ts.map +1 -0
  147. package/dist/cjs/src/puppet-matrix.js +1037 -0
  148. package/dist/cjs/tests/integration.spec.d.ts +3 -0
  149. package/dist/cjs/tests/integration.spec.d.ts.map +1 -0
  150. package/dist/cjs/tests/integration.spec.js +7 -0
  151. package/dist/cjs/tests/tap.spec.d.ts +3 -0
  152. package/dist/cjs/tests/tap.spec.d.ts.map +1 -0
  153. package/dist/cjs/tests/tap.spec.js +32 -0
  154. package/dist/esm/src/cleanup.d.ts +4 -0
  155. package/dist/esm/src/cleanup.d.ts.map +1 -0
  156. package/dist/esm/src/cleanup.js +24 -0
  157. package/dist/esm/src/config.d.ts +5 -0
  158. package/dist/esm/src/config.d.ts.map +1 -0
  159. package/dist/esm/src/config.js +5 -0
  160. package/dist/esm/src/engine-schema.d.ts +76 -0
  161. package/dist/esm/src/engine-schema.d.ts.map +1 -0
  162. package/dist/esm/src/engine-schema.js +11 -0
  163. package/dist/esm/src/matrix/cache-manager.d.ts +58 -0
  164. package/dist/esm/src/matrix/cache-manager.d.ts.map +1 -0
  165. package/dist/esm/src/matrix/cache-manager.js +279 -0
  166. package/dist/esm/src/matrix/events/event-friendship.d.ts +6 -0
  167. package/dist/esm/src/matrix/events/event-friendship.d.ts.map +1 -0
  168. package/dist/esm/src/matrix/events/event-friendship.js +84 -0
  169. package/dist/esm/src/matrix/events/event-message.d.ts +6 -0
  170. package/dist/esm/src/matrix/events/event-message.d.ts.map +1 -0
  171. package/dist/esm/src/matrix/events/event-message.js +3 -0
  172. package/dist/esm/src/matrix/events/event-room-invite.d.ts +6 -0
  173. package/dist/esm/src/matrix/events/event-room-invite.d.ts.map +1 -0
  174. package/dist/esm/src/matrix/events/event-room-invite.js +53 -0
  175. package/dist/esm/src/matrix/events/event-room-join.d.ts +6 -0
  176. package/dist/esm/src/matrix/events/event-room-join.d.ts.map +1 -0
  177. package/dist/esm/src/matrix/events/event-room-join.js +125 -0
  178. package/dist/esm/src/matrix/events/event-room-leave.d.ts +8 -0
  179. package/dist/esm/src/matrix/events/event-room-leave.d.ts.map +1 -0
  180. package/dist/esm/src/matrix/events/event-room-leave.js +79 -0
  181. package/dist/esm/src/matrix/events/event-room-topic.d.ts +6 -0
  182. package/dist/esm/src/matrix/events/event-room-topic.d.ts.map +1 -0
  183. package/dist/esm/src/matrix/events/event-room-topic.js +54 -0
  184. package/dist/esm/src/matrix/events/event.d.ts +28 -0
  185. package/dist/esm/src/matrix/events/event.d.ts.map +1 -0
  186. package/dist/esm/src/matrix/events/event.js +37 -0
  187. package/dist/esm/src/matrix/events/mod.d.ts +3 -0
  188. package/dist/esm/src/matrix/events/mod.d.ts.map +1 -0
  189. package/dist/esm/src/matrix/events/mod.js +14 -0
  190. package/dist/esm/src/matrix/messages/message-appmsg.d.ts +57 -0
  191. package/dist/esm/src/matrix/messages/message-appmsg.d.ts.map +1 -0
  192. package/dist/esm/src/matrix/messages/message-appmsg.js +56 -0
  193. package/dist/esm/src/matrix/messages/message-audio.d.ts +32 -0
  194. package/dist/esm/src/matrix/messages/message-audio.d.ts.map +1 -0
  195. package/dist/esm/src/matrix/messages/message-audio.js +14 -0
  196. package/dist/esm/src/matrix/messages/message-emotion.d.ts +13 -0
  197. package/dist/esm/src/matrix/messages/message-emotion.d.ts.map +1 -0
  198. package/dist/esm/src/matrix/messages/message-emotion.js +28 -0
  199. package/dist/esm/src/matrix/messages/message-image.d.ts +33 -0
  200. package/dist/esm/src/matrix/messages/message-image.d.ts.map +1 -0
  201. package/dist/esm/src/matrix/messages/message-image.js +11 -0
  202. package/dist/esm/src/matrix/messages/message-miniprogram.d.ts +4 -0
  203. package/dist/esm/src/matrix/messages/message-miniprogram.d.ts.map +1 -0
  204. package/dist/esm/src/matrix/messages/message-miniprogram.js +18 -0
  205. package/dist/esm/src/matrix/messages/message-sysmsg.d.ts +18 -0
  206. package/dist/esm/src/matrix/messages/message-sysmsg.d.ts.map +1 -0
  207. package/dist/esm/src/matrix/messages/message-sysmsg.js +69 -0
  208. package/dist/esm/src/matrix/messages/message-video.d.ts +43 -0
  209. package/dist/esm/src/matrix/messages/message-video.d.ts.map +1 -0
  210. package/dist/esm/src/matrix/messages/message-video.js +17 -0
  211. package/dist/esm/src/matrix/messages/sysmsg/message-pat.d.ts +14 -0
  212. package/dist/esm/src/matrix/messages/sysmsg/message-pat.d.ts.map +1 -0
  213. package/dist/esm/src/matrix/messages/sysmsg/message-pat.js +8 -0
  214. package/dist/esm/src/matrix/messages/sysmsg/message-revokemsg.d.ts +19 -0
  215. package/dist/esm/src/matrix/messages/sysmsg/message-revokemsg.d.ts.map +1 -0
  216. package/dist/esm/src/matrix/messages/sysmsg/message-revokemsg.js +43 -0
  217. package/dist/esm/src/matrix/messages/sysmsg/message-sysmsgtemplate.d.ts +59 -0
  218. package/dist/esm/src/matrix/messages/sysmsg/message-sysmsgtemplate.d.ts.map +1 -0
  219. package/dist/esm/src/matrix/messages/sysmsg/message-sysmsgtemplate.js +56 -0
  220. package/dist/esm/src/matrix/messages/sysmsg/message-todo.d.ts +31 -0
  221. package/dist/esm/src/matrix/messages/sysmsg/message-todo.d.ts.map +1 -0
  222. package/dist/esm/src/matrix/messages/sysmsg/message-todo.js +13 -0
  223. package/dist/esm/src/matrix/schema-mapper/contact.d.ts +4 -0
  224. package/dist/esm/src/matrix/schema-mapper/contact.d.ts.map +1 -0
  225. package/dist/esm/src/matrix/schema-mapper/contact.js +36 -0
  226. package/dist/esm/src/matrix/schema-mapper/message/message-parser-appmsg.d.ts +3 -0
  227. package/dist/esm/src/matrix/schema-mapper/message/message-parser-appmsg.d.ts.map +1 -0
  228. package/dist/esm/src/matrix/schema-mapper/message/message-parser-appmsg.js +73 -0
  229. package/dist/esm/src/matrix/schema-mapper/message/message-parser-refermsg.d.ts +3 -0
  230. package/dist/esm/src/matrix/schema-mapper/message/message-parser-refermsg.d.ts.map +1 -0
  231. package/dist/esm/src/matrix/schema-mapper/message/message-parser-refermsg.js +40 -0
  232. package/dist/esm/src/matrix/schema-mapper/message/message-parser-room.d.ts +3 -0
  233. package/dist/esm/src/matrix/schema-mapper/message/message-parser-room.d.ts.map +1 -0
  234. package/dist/esm/src/matrix/schema-mapper/message/message-parser-room.js +36 -0
  235. package/dist/esm/src/matrix/schema-mapper/message/message-parser-single-chat.d.ts +3 -0
  236. package/dist/esm/src/matrix/schema-mapper/message/message-parser-single-chat.d.ts.map +1 -0
  237. package/dist/esm/src/matrix/schema-mapper/message/message-parser-single-chat.js +7 -0
  238. package/dist/esm/src/matrix/schema-mapper/message/message-parser-sysmsg.d.ts +3 -0
  239. package/dist/esm/src/matrix/schema-mapper/message/message-parser-sysmsg.d.ts.map +1 -0
  240. package/dist/esm/src/matrix/schema-mapper/message/message-parser-sysmsg.js +37 -0
  241. package/dist/esm/src/matrix/schema-mapper/message/message-parser-type.d.ts +3 -0
  242. package/dist/esm/src/matrix/schema-mapper/message/message-parser-type.d.ts.map +1 -0
  243. package/dist/esm/src/matrix/schema-mapper/message/message-parser-type.js +38 -0
  244. package/dist/esm/src/matrix/schema-mapper/message/message-parser.d.ts +13 -0
  245. package/dist/esm/src/matrix/schema-mapper/message/message-parser.d.ts.map +1 -0
  246. package/dist/esm/src/matrix/schema-mapper/message/message-parser.js +15 -0
  247. package/dist/esm/src/matrix/schema-mapper/message/mod.d.ts +3 -0
  248. package/dist/esm/src/matrix/schema-mapper/message/mod.d.ts.map +1 -0
  249. package/dist/esm/src/matrix/schema-mapper/message/mod.js +14 -0
  250. package/dist/esm/src/matrix/schema-mapper/message.d.ts +6 -0
  251. package/dist/esm/src/matrix/schema-mapper/message.d.ts.map +1 -0
  252. package/dist/esm/src/matrix/schema-mapper/message.js +21 -0
  253. package/dist/esm/src/matrix/schema-mapper/room.d.ts +6 -0
  254. package/dist/esm/src/matrix/schema-mapper/room.d.ts.map +1 -0
  255. package/dist/esm/src/matrix/schema-mapper/room.js +22 -0
  256. package/dist/esm/src/matrix/service/request.d.ts +290 -0
  257. package/dist/esm/src/matrix/service/request.d.ts.map +1 -0
  258. package/dist/esm/src/matrix/service/request.js +1286 -0
  259. package/dist/esm/src/matrix/types.d.ts +34 -0
  260. package/dist/esm/src/matrix/types.d.ts.map +1 -0
  261. package/dist/esm/src/matrix/types.js +27 -0
  262. package/dist/esm/src/matrix/utils/cached-promise.d.ts +5 -0
  263. package/dist/esm/src/matrix/utils/cached-promise.d.ts.map +1 -0
  264. package/dist/esm/src/matrix/utils/cached-promise.js +18 -0
  265. package/dist/esm/src/matrix/utils/image-decrypt.d.ts +7 -0
  266. package/dist/esm/src/matrix/utils/image-decrypt.d.ts.map +1 -0
  267. package/dist/esm/src/matrix/utils/image-decrypt.js +153 -0
  268. package/dist/esm/src/matrix/utils/index.d.ts +4 -0
  269. package/dist/esm/src/matrix/utils/index.d.ts.map +1 -0
  270. package/dist/esm/src/matrix/utils/index.js +24 -0
  271. package/dist/esm/src/matrix/utils/is-type.d.ts +9 -0
  272. package/dist/esm/src/matrix/utils/is-type.d.ts.map +1 -0
  273. package/dist/esm/src/matrix/utils/is-type.js +62 -0
  274. package/dist/esm/src/matrix/utils/regex.d.ts +3 -0
  275. package/dist/esm/src/matrix/utils/regex.d.ts.map +1 -0
  276. package/dist/esm/src/matrix/utils/regex.js +11 -0
  277. package/dist/esm/src/matrix/utils/runner.d.ts +3 -0
  278. package/dist/esm/src/matrix/utils/runner.d.ts.map +1 -0
  279. package/dist/esm/src/matrix/utils/runner.js +9 -0
  280. package/dist/esm/src/matrix/utils/string.d.ts +2 -0
  281. package/dist/esm/src/matrix/utils/string.d.ts.map +1 -0
  282. package/dist/esm/src/matrix/utils/string.js +3 -0
  283. package/dist/esm/src/matrix/utils/xml-to-json.d.ts +5 -0
  284. package/dist/esm/src/matrix/utils/xml-to-json.d.ts.map +1 -0
  285. package/dist/esm/src/matrix/utils/xml-to-json.js +45 -0
  286. package/dist/esm/src/mod.d.ts +5 -0
  287. package/dist/esm/src/mod.d.ts.map +1 -0
  288. package/dist/esm/src/mod.js +4 -0
  289. package/dist/esm/src/package-json.d.ts +3 -0
  290. package/dist/esm/src/package-json.d.ts.map +1 -0
  291. package/dist/esm/src/package-json.js +1 -0
  292. package/dist/esm/src/package-json.spec.d.ts +3 -0
  293. package/dist/esm/src/package-json.spec.d.ts.map +1 -0
  294. package/dist/esm/src/package-json.spec.js +7 -0
  295. package/dist/esm/src/puppet-matrix.d.ts +114 -0
  296. package/dist/esm/src/puppet-matrix.d.ts.map +1 -0
  297. package/dist/esm/src/puppet-matrix.js +1007 -0
  298. package/dist/esm/tests/integration.spec.d.ts +3 -0
  299. package/dist/esm/tests/integration.spec.d.ts.map +1 -0
  300. package/dist/esm/tests/integration.spec.js +5 -0
  301. package/dist/esm/tests/tap.spec.d.ts +3 -0
  302. package/dist/esm/tests/tap.spec.d.ts.map +1 -0
  303. package/dist/esm/tests/tap.spec.js +7 -0
  304. package/package.json +98 -0
  305. package/src/cleanup.ts +36 -0
  306. package/src/config.ts +15 -0
  307. package/src/engine-schema.ts +171 -0
  308. package/src/matrix/cache-manager.ts +359 -0
  309. package/src/matrix/events/event-friendship.ts +116 -0
  310. package/src/matrix/events/event-message.ts +7 -0
  311. package/src/matrix/events/event-room-invite.ts +64 -0
  312. package/src/matrix/events/event-room-join.ts +200 -0
  313. package/src/matrix/events/event-room-leave.ts +111 -0
  314. package/src/matrix/events/event-room-topic.ts +73 -0
  315. package/src/matrix/events/event.ts +60 -0
  316. package/src/matrix/events/mod.ts +16 -0
  317. package/src/matrix/messages/message-appmsg.ts +131 -0
  318. package/src/matrix/messages/message-audio.ts +48 -0
  319. package/src/matrix/messages/message-emotion.ts +68 -0
  320. package/src/matrix/messages/message-image.ts +46 -0
  321. package/src/matrix/messages/message-miniprogram.ts +45 -0
  322. package/src/matrix/messages/message-sysmsg.ts +106 -0
  323. package/src/matrix/messages/message-video.ts +62 -0
  324. package/src/matrix/messages/sysmsg/message-pat.ts +22 -0
  325. package/src/matrix/messages/sysmsg/message-revokemsg.ts +70 -0
  326. package/src/matrix/messages/sysmsg/message-sysmsgtemplate.ts +133 -0
  327. package/src/matrix/messages/sysmsg/message-todo.ts +45 -0
  328. package/src/matrix/schema-mapper/contact.ts +37 -0
  329. package/src/matrix/schema-mapper/message/message-parser-appmsg.ts +78 -0
  330. package/src/matrix/schema-mapper/message/message-parser-refermsg.ts +53 -0
  331. package/src/matrix/schema-mapper/message/message-parser-room.ts +62 -0
  332. package/src/matrix/schema-mapper/message/message-parser-single-chat.ts +12 -0
  333. package/src/matrix/schema-mapper/message/message-parser-sysmsg.ts +62 -0
  334. package/src/matrix/schema-mapper/message/message-parser-type.ts +48 -0
  335. package/src/matrix/schema-mapper/message/message-parser.ts +35 -0
  336. package/src/matrix/schema-mapper/message/mod.ts +17 -0
  337. package/src/matrix/schema-mapper/message.ts +30 -0
  338. package/src/matrix/schema-mapper/room.ts +28 -0
  339. package/src/matrix/service/request.ts +1944 -0
  340. package/src/matrix/types.ts +37 -0
  341. package/src/matrix/utils/cached-promise.ts +25 -0
  342. package/src/matrix/utils/image-decrypt.ts +198 -0
  343. package/src/matrix/utils/index.ts +34 -0
  344. package/src/matrix/utils/is-type.ts +72 -0
  345. package/src/matrix/utils/regex.ts +15 -0
  346. package/src/matrix/utils/runner.ts +12 -0
  347. package/src/matrix/utils/string.ts +3 -0
  348. package/src/matrix/utils/xml-to-json.ts +59 -0
  349. package/src/mod.ts +10 -0
  350. package/src/package-json.spec.ts +10 -0
  351. package/src/package-json.ts +11 -0
  352. package/src/puppet-matrix.ts +1402 -0
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.removeRoomLeaveDebounce = removeRoomLeaveDebounce;
4
+ exports.isRoomLeaveDebouncing = isRoomLeaveDebouncing;
5
+ const is_type_js_1 = require("../utils/is-type.js");
6
+ const types_js_1 = require("../types.js");
7
+ const runner_js_1 = require("../utils/runner.js");
8
+ const YOU_REMOVE_OTHER_REGEX_LIST = [
9
+ /^(你)将"(.+)"移出了群聊/,
10
+ /^(You) removed "(.+)" from the group chat/,
11
+ ];
12
+ const OTHER_REMOVE_YOU_REGEX_LIST = [
13
+ /^(你)被"([^"]+?)"移出群聊/,
14
+ /^(You) were removed from the group chat by "([^"]+)"/,
15
+ ];
16
+ const roomLeaveDebounceMap = new Map();
17
+ const DEBOUNCE_TIMEOUT = 3600 * 1000;
18
+ function roomLeaveDebounceKey(roomId, removeeId) {
19
+ return `${roomId}:${removeeId}`;
20
+ }
21
+ function roomLeaveAddDebounce(roomId, removeeId) {
22
+ const key = roomLeaveDebounceKey(roomId, removeeId);
23
+ const oldTimeout = roomLeaveDebounceMap.get(key);
24
+ if (oldTimeout) {
25
+ clearTimeout(oldTimeout);
26
+ }
27
+ const timeout = setTimeout(() => {
28
+ roomLeaveDebounceMap.delete(key);
29
+ }, DEBOUNCE_TIMEOUT);
30
+ roomLeaveDebounceMap.set(key, timeout);
31
+ }
32
+ function removeRoomLeaveDebounce(roomId, removeeId) {
33
+ const key = roomLeaveDebounceKey(roomId, removeeId);
34
+ roomLeaveDebounceMap.delete(key);
35
+ }
36
+ function isRoomLeaveDebouncing(roomId, removeeId) {
37
+ const key = roomLeaveDebounceKey(roomId, removeeId);
38
+ return roomLeaveDebounceMap.get(key) !== undefined;
39
+ }
40
+ exports.default = async (puppet, message) => {
41
+ const roomId = message.fromWxid || '';
42
+ if (!(0, is_type_js_1.isRoomId)(roomId) || message.msgType !== types_js_1.WechatMessageType.Sys) {
43
+ return null;
44
+ }
45
+ await puppet._updateRoom(roomId);
46
+ const youRemoveOther = async () => {
47
+ let matches = null;
48
+ YOU_REMOVE_OTHER_REGEX_LIST.some((re) => !!(matches = message.msg.match(re)));
49
+ if (matches) {
50
+ const removerName = matches[2];
51
+ const removerId = (await puppet.roomMemberSearch(roomId, removerName))[0];
52
+ return {
53
+ removeeIdList: [removerId],
54
+ removerId: puppet.currentUserId,
55
+ roomId,
56
+ timestamp: message.timeStamp,
57
+ };
58
+ }
59
+ return null;
60
+ };
61
+ const otherRemoveYou = async () => {
62
+ let matches = null;
63
+ OTHER_REMOVE_YOU_REGEX_LIST.some((re) => !!(matches = message.msg.match(re)));
64
+ if (matches) {
65
+ const removerName = matches[2];
66
+ const removerId = (await puppet.roomMemberSearch(roomId, removerName))[0];
67
+ return {
68
+ removeeIdList: [puppet.currentUserId],
69
+ removerId,
70
+ roomId,
71
+ timestamp: message.timeStamp,
72
+ };
73
+ }
74
+ return null;
75
+ };
76
+ const ret = await (0, runner_js_1.executeRunners)([youRemoveOther, otherRemoveYou]);
77
+ if (ret) {
78
+ ret.removeeIdList.forEach((leaverId) => {
79
+ roomLeaveAddDebounce(roomId, leaverId);
80
+ });
81
+ }
82
+ return ret;
83
+ };
@@ -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,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const is_type_js_1 = require("../utils/is-type.js");
4
+ const regex_js_1 = require("../utils/regex.js");
5
+ const types_js_1 = require("../types.js");
6
+ const runner_js_1 = require("../utils/runner.js");
7
+ const OTHER_CHANGE_TOPIC_REGEX_LIST = [
8
+ /^"(.+)"修改群名为“(.+)”$/,
9
+ /^"(.+)" changed the group name to "(.+)"$/,
10
+ ];
11
+ const YOU_CHANGE_TOPIC_REGEX_LIST = [
12
+ /^(你)修改群名为“(.+)”$/,
13
+ /^(You) changed the group name to "(.+)"$/,
14
+ ];
15
+ exports.default = async (puppet, message) => {
16
+ const roomId = message.fromWxid || '';
17
+ if (!(0, is_type_js_1.isRoomId)(roomId) || message.msgType !== types_js_1.WechatMessageType.Sys) {
18
+ return null;
19
+ }
20
+ const youChangeTopic = async () => {
21
+ return (0, regex_js_1.parseTextWithRegexList)(message.msg, YOU_CHANGE_TOPIC_REGEX_LIST, async (_, match) => {
22
+ const newTopic = match[2];
23
+ return {
24
+ changerId: puppet.currentUserId,
25
+ newTopic,
26
+ };
27
+ });
28
+ };
29
+ const otherChangeTopic = async () => {
30
+ return (0, regex_js_1.parseTextWithRegexList)(message.msg, OTHER_CHANGE_TOPIC_REGEX_LIST, async (_, match) => {
31
+ const newTopic = match[2];
32
+ const changeName = match[1];
33
+ let changeId = '';
34
+ if (changeName) {
35
+ changeId = (await puppet.roomMemberSearch(roomId, changeName))[0];
36
+ }
37
+ return {
38
+ changerId: changeId,
39
+ newTopic,
40
+ };
41
+ });
42
+ };
43
+ const topicChange = await (0, runner_js_1.executeRunners)([youChangeTopic, otherChangeTopic]);
44
+ if (topicChange) {
45
+ const room = await puppet.roomPayload(roomId);
46
+ const oldTopic = room.topic;
47
+ return {
48
+ changerId: topicChange.changerId,
49
+ newTopic: topicChange.newTopic,
50
+ oldTopic,
51
+ roomId,
52
+ timestamp: message.timeStamp,
53
+ };
54
+ }
55
+ return null;
56
+ };
@@ -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,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EventType = void 0;
4
+ exports.addEventParser = addEventParser;
5
+ exports.parseEvent = parseEvent;
6
+ const wechaty_puppet_1 = require("@juzi/wechaty-puppet");
7
+ var EventType;
8
+ (function (EventType) {
9
+ EventType[EventType["Message"] = 0] = "Message";
10
+ EventType[EventType["Friendship"] = 1] = "Friendship";
11
+ EventType[EventType["RoomInvite"] = 2] = "RoomInvite";
12
+ EventType[EventType["RoomJoin"] = 3] = "RoomJoin";
13
+ EventType[EventType["RoomLeave"] = 4] = "RoomLeave";
14
+ EventType[EventType["RoomTopic"] = 5] = "RoomTopic";
15
+ })(EventType || (exports.EventType = EventType = {}));
16
+ const EventParserList = [];
17
+ function addEventParser(eventType, parser) {
18
+ EventParserList.push({
19
+ handler: parser,
20
+ type: eventType,
21
+ });
22
+ }
23
+ async function parseEvent(puppet, message) {
24
+ for (const parser of EventParserList) {
25
+ try {
26
+ const parsedPayload = await parser.handler(puppet, message);
27
+ if (parsedPayload) {
28
+ return {
29
+ payload: parsedPayload,
30
+ type: parser.type,
31
+ };
32
+ }
33
+ }
34
+ catch (e) {
35
+ wechaty_puppet_1.log.error('[Event]', `parse message error: ${e.stack}`);
36
+ }
37
+ }
38
+ return {
39
+ payload: message,
40
+ type: EventType.Message,
41
+ };
42
+ }
@@ -0,0 +1,3 @@
1
+ import { EventType, parseEvent } from './event.js';
2
+ export { parseEvent, EventType };
3
+ //# sourceMappingURL=mod.d.ts.map
@@ -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,21 @@
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.EventType = exports.parseEvent = void 0;
7
+ const event_friendship_js_1 = __importDefault(require("./event-friendship.js"));
8
+ const event_room_invite_js_1 = __importDefault(require("./event-room-invite.js"));
9
+ const event_room_join_js_1 = __importDefault(require("./event-room-join.js"));
10
+ const event_room_leave_js_1 = __importDefault(require("./event-room-leave.js"));
11
+ const event_room_topic_js_1 = __importDefault(require("./event-room-topic.js"));
12
+ const event_message_js_1 = __importDefault(require("./event-message.js"));
13
+ const event_js_1 = require("./event.js");
14
+ Object.defineProperty(exports, "EventType", { enumerable: true, get: function () { return event_js_1.EventType; } });
15
+ Object.defineProperty(exports, "parseEvent", { enumerable: true, get: function () { return event_js_1.parseEvent; } });
16
+ (0, event_js_1.addEventParser)(event_js_1.EventType.Friendship, event_friendship_js_1.default);
17
+ (0, event_js_1.addEventParser)(event_js_1.EventType.RoomInvite, event_room_invite_js_1.default);
18
+ (0, event_js_1.addEventParser)(event_js_1.EventType.RoomJoin, event_room_join_js_1.default);
19
+ (0, event_js_1.addEventParser)(event_js_1.EventType.RoomLeave, event_room_leave_js_1.default);
20
+ (0, event_js_1.addEventParser)(event_js_1.EventType.RoomTopic, event_room_topic_js_1.default);
21
+ (0, event_js_1.addEventParser)(event_js_1.EventType.Message, event_message_js_1.default);
@@ -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,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AppMessageType = void 0;
4
+ exports.parseAppmsgMessagePayload = parseAppmsgMessagePayload;
5
+ const xml_to_json_js_1 = require("../utils/xml-to-json.js");
6
+ var AppMessageType;
7
+ (function (AppMessageType) {
8
+ AppMessageType[AppMessageType["Text"] = 1] = "Text";
9
+ AppMessageType[AppMessageType["Img"] = 2] = "Img";
10
+ AppMessageType[AppMessageType["Audio"] = 3] = "Audio";
11
+ AppMessageType[AppMessageType["Video"] = 4] = "Video";
12
+ AppMessageType[AppMessageType["Url"] = 5] = "Url";
13
+ AppMessageType[AppMessageType["Attach"] = 6] = "Attach";
14
+ AppMessageType[AppMessageType["Open"] = 7] = "Open";
15
+ AppMessageType[AppMessageType["Emoji"] = 8] = "Emoji";
16
+ AppMessageType[AppMessageType["VoiceRemind"] = 9] = "VoiceRemind";
17
+ AppMessageType[AppMessageType["ScanGood"] = 10] = "ScanGood";
18
+ AppMessageType[AppMessageType["Good"] = 13] = "Good";
19
+ AppMessageType[AppMessageType["Emotion"] = 15] = "Emotion";
20
+ AppMessageType[AppMessageType["CardTicket"] = 16] = "CardTicket";
21
+ AppMessageType[AppMessageType["RealtimeShareLocation"] = 17] = "RealtimeShareLocation";
22
+ AppMessageType[AppMessageType["ChatHistory"] = 19] = "ChatHistory";
23
+ AppMessageType[AppMessageType["MiniProgram"] = 33] = "MiniProgram";
24
+ AppMessageType[AppMessageType["MiniProgramApp"] = 36] = "MiniProgramApp";
25
+ AppMessageType[AppMessageType["GroupNote"] = 53] = "GroupNote";
26
+ AppMessageType[AppMessageType["ReferMsg"] = 57] = "ReferMsg";
27
+ AppMessageType[AppMessageType["Transfers"] = 2000] = "Transfers";
28
+ AppMessageType[AppMessageType["RedEnvelopes"] = 2001] = "RedEnvelopes";
29
+ AppMessageType[AppMessageType["ReaderType"] = 100001] = "ReaderType";
30
+ })(AppMessageType || (exports.AppMessageType = AppMessageType = {}));
31
+ async function parseAppmsgMessagePayload(messageContent) {
32
+ const appMsgXml = await (0, xml_to_json_js_1.xmlToJson)(messageContent);
33
+ const { title, des, url, thumburl, type, md5, recorditem } = appMsgXml?.msg.appmsg;
34
+ let appattach;
35
+ const tmp = appMsgXml?.msg.appmsg.appattach;
36
+ if (tmp) {
37
+ appattach = {
38
+ aeskey: tmp.aeskey,
39
+ attachid: tmp.attachid,
40
+ cdnattachurl: tmp.cdnattachurl,
41
+ cdnthumbaeskey: tmp.cdnthumbaeskey,
42
+ emoticonmd5: tmp.emoticonmd5,
43
+ encryver: (tmp.encryver && parseInt(tmp.encryver, 10)) || 0,
44
+ fileext: tmp.fileext,
45
+ islargefilemsg: (tmp.islargefilemsg && parseInt(tmp.islargefilemsg, 10)) || 0,
46
+ totallen: (tmp.totallen && parseInt(tmp.totallen, 10)) || 0,
47
+ };
48
+ }
49
+ return {
50
+ appattach,
51
+ des,
52
+ md5,
53
+ recorditem,
54
+ refermsg: appMsgXml.msg.appmsg.refermsg,
55
+ thumburl,
56
+ title,
57
+ type: parseInt(type, 10),
58
+ url,
59
+ };
60
+ }
@@ -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,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseAudioMessagePayload = parseAudioMessagePayload;
4
+ const xml_to_json_js_1 = require("../utils/xml-to-json.js");
5
+ async function parseAudioMessagePayload(rawPayload) {
6
+ const audioXml = await (0, xml_to_json_js_1.xmlToJson)(rawPayload.msg);
7
+ const schema = audioXml.msg.voicemsg.$;
8
+ return {
9
+ aesKey: schema.aeskey,
10
+ length: schema.length,
11
+ voicelength: schema.length,
12
+ voiceurl: schema.voiceurl,
13
+ voicemd5: schema.voicemd5,
14
+ clientmsgid: schema.clientmsgid,
15
+ fromusername: schema.fromusername,
16
+ };
17
+ }
@@ -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"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseEmotionMessagePayload = parseEmotionMessagePayload;
4
+ exports.generateEmotionPayload = generateEmotionPayload;
5
+ const xml_to_json_js_1 = require("../utils/xml-to-json.js");
6
+ async function parseEmotionMessagePayload(message) {
7
+ const jsonPayload = await (0, xml_to_json_js_1.xmlToJson)(message.msg);
8
+ const len = parseInt(jsonPayload.msg.emoji.$.len, 10) || 0;
9
+ const width = parseInt(jsonPayload.msg.emoji.$.width, 10) || 0;
10
+ const height = parseInt(jsonPayload.msg.emoji.$.height, 10) || 0;
11
+ const cdnurl = jsonPayload.msg.emoji.$.cdnurl;
12
+ const type = parseInt(jsonPayload.msg.emoji.$.type, 10) || 0;
13
+ const md5 = jsonPayload.msg.emoji.$.md5;
14
+ let gameext;
15
+ if (jsonPayload.msg.gameext) {
16
+ const gameextType = parseInt(jsonPayload.msg.gameext.$.type, 10) || 0;
17
+ const gameextContent = parseInt(jsonPayload.msg.gameext.$.content, 10) || 0;
18
+ gameext = `<gameext type="${gameextType}" content="${gameextContent}" ></gameext>`;
19
+ }
20
+ return {
21
+ cdnurl,
22
+ gameext,
23
+ height,
24
+ len,
25
+ md5,
26
+ type,
27
+ width,
28
+ };
29
+ }
30
+ function generateEmotionPayload(emojiMessagePayload) {
31
+ return `<msg><emoji cdnurl="${emojiMessagePayload.cdnurl}" len="${emojiMessagePayload.len}" md5="${emojiMessagePayload.md5}" type="${emojiMessagePayload.type}"/>${emojiMessagePayload.gameext || ''}</msg>`;
32
+ }
@@ -0,0 +1,33 @@
1
+ import { MessagePayload } from '../../engine-schema.js';
2
+ export interface ImageXmlSchema {
3
+ msg: {
4
+ img: {
5
+ $: {
6
+ aeskey: string;
7
+ encryver: string;
8
+ cdnthumbaeskey: string;
9
+ cdnthumburl: string;
10
+ cdnthumblength: string;
11
+ cdnthumbheight: string;
12
+ cdnthumbwidth: string;
13
+ cdnmidheight: string;
14
+ cdnmidwidth: string;
15
+ cdnhdheight: string;
16
+ cdnhdwidth: string;
17
+ cdnmidimgurl: string;
18
+ length: string;
19
+ cdnbigimgurl: string;
20
+ hdlength: string;
21
+ md5: string;
22
+ };
23
+ };
24
+ };
25
+ }
26
+ export interface ImageMessagePayload {
27
+ aes_key: string;
28
+ file_id: string;
29
+ file_size: string;
30
+ file_name: string;
31
+ }
32
+ export declare function parseImageMessagePayload(rawPayload: MessagePayload): Promise<ImageMessagePayload>;
33
+ //# sourceMappingURL=message-image.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-image.d.ts","sourceRoot":"","sources":["../../../../../src/matrix/messages/message-image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAGvD,MAAM,WAAW,cAAc;IAC3B,GAAG,EAAE;QACD,GAAG,EAAE;YACD,CAAC,EAAE;gBACC,MAAM,EAAE,MAAM,CAAA;gBACd,QAAQ,EAAE,MAAM,CAAA;gBAChB,cAAc,EAAE,MAAM,CAAA;gBACtB,WAAW,EAAE,MAAM,CAAA;gBACnB,cAAc,EAAE,MAAM,CAAA;gBACtB,cAAc,EAAE,MAAM,CAAA;gBACtB,aAAa,EAAE,MAAM,CAAA;gBACrB,YAAY,EAAE,MAAM,CAAA;gBACpB,WAAW,EAAE,MAAM,CAAA;gBACnB,WAAW,EAAE,MAAM,CAAA;gBACnB,UAAU,EAAE,MAAM,CAAA;gBAClB,YAAY,EAAE,MAAM,CAAA;gBACpB,MAAM,EAAE,MAAM,CAAA;gBACd,YAAY,EAAE,MAAM,CAAA;gBACpB,QAAQ,EAAE,MAAM,CAAA;gBAChB,GAAG,EAAE,MAAM,CAAA;aACd,CAAA;SACJ,CAAA;KACJ,CAAA;CACJ;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,wBAAwB,CAAE,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAUxG"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseImageMessagePayload = parseImageMessagePayload;
4
+ const xml_to_json_js_1 = require("../utils/xml-to-json.js");
5
+ async function parseImageMessagePayload(rawPayload) {
6
+ const imageXml = await (0, xml_to_json_js_1.xmlToJson)(rawPayload.msg);
7
+ const schema = imageXml.msg.img.$;
8
+ return {
9
+ aes_key: schema.aeskey,
10
+ file_id: schema.cdnmidimgurl,
11
+ file_size: schema.length,
12
+ file_name: '',
13
+ };
14
+ }
@@ -0,0 +1,4 @@
1
+ import type * as PUPPET from '@juzi/wechaty-puppet';
2
+ import type { MessagePayload } from '../../engine-schema.js';
3
+ export declare function parseMiniProgramMessagePayload(rawPayload: MessagePayload): Promise<PUPPET.payloads.MiniProgram>;
4
+ //# sourceMappingURL=message-miniprogram.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-miniprogram.d.ts","sourceRoot":"","sources":["../../../../../src/matrix/messages/message-miniprogram.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AA0B5D,wBAAsB,8BAA8B,CAAE,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAiBtH"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseMiniProgramMessagePayload = parseMiniProgramMessagePayload;
4
+ const xml_to_json_js_1 = require("../utils/xml-to-json.js");
5
+ async function parseMiniProgramMessagePayload(rawPayload) {
6
+ const miniProgramXml = await (0, xml_to_json_js_1.xmlToJson)(rawPayload.msg);
7
+ const appmsg = miniProgramXml.msg.appmsg;
8
+ const weappinfo = appmsg.weappinfo;
9
+ const appattach = appmsg.appattach;
10
+ return {
11
+ appid: weappinfo.appid,
12
+ description: appmsg.sourcedisplayname,
13
+ iconUrl: weappinfo.weappiconurl,
14
+ pagePath: weappinfo.pagepath,
15
+ shareId: weappinfo.shareId,
16
+ thumbKey: appattach.cdnthumbaeskey,
17
+ thumbUrl: appattach.cdnthumburl,
18
+ title: appmsg.title,
19
+ username: weappinfo.username,
20
+ };
21
+ }
@@ -0,0 +1,18 @@
1
+ import type { MessagePayload } from '../../engine-schema.js';
2
+ import type { PatMessagePayload } from './sysmsg/message-pat.js';
3
+ import type { SysmsgTemplateMessagePayload } from './sysmsg/message-sysmsgtemplate.js';
4
+ import type { TodoMessagePayload } from './sysmsg/message-todo.js';
5
+ import type { RevokeMsgMessagePayload } from './sysmsg/message-revokemsg.js';
6
+ type SysMsgType = 'pat' | 'sysmsgtemplate' | 'roomtoolstips' | 'revokemsg';
7
+ type SysMsgPayload = PatMessagePayload | SysmsgTemplateMessagePayload | TodoMessagePayload | RevokeMsgMessagePayload;
8
+ export interface SysmsgMessagePayload {
9
+ type: SysMsgType;
10
+ payload: SysMsgPayload;
11
+ }
12
+ export declare function parseSysmsgMessagePayload(message: MessagePayload): Promise<SysmsgMessagePayload | null>;
13
+ export declare function parseSysmsgPatMessagePayload(message: MessagePayload): Promise<PatMessagePayload | null>;
14
+ export declare function parseSysmsgSysmsgTemplateMessagePayload(message: MessagePayload): Promise<SysmsgTemplateMessagePayload | null>;
15
+ export declare function parseSysmsgTodoMessagePayload(message: MessagePayload): Promise<TodoMessagePayload | null>;
16
+ export declare function parseSysmsgRevokeMsgMessagePayload(message: MessagePayload): Promise<RevokeMsgMessagePayload | null>;
17
+ export {};
18
+ //# sourceMappingURL=message-sysmsg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-sysmsg.d.ts","sourceRoot":"","sources":["../../../../../src/matrix/messages/message-sysmsg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAG5D,OAAO,KAAK,EAAE,iBAAiB,EAAgB,MAAM,yBAAyB,CAAA;AAC9E,OAAO,KAAK,EAAE,4BAA4B,EAA2B,MAAM,oCAAoC,CAAA;AAG/G,OAAO,KAAK,EAAE,kBAAkB,EAAiB,MAAM,0BAA0B,CAAA;AAEjF,OAAO,KAAK,EAAE,uBAAuB,EAAsB,MAAM,+BAA+B,CAAA;AAehG,KAAK,UAAU,GAAG,KAAK,GAAG,gBAAgB,GAAG,eAAe,GAAG,WAAW,CAAC;AAC3E,KAAK,aAAa,GAAG,iBAAiB,GAAG,4BAA4B,GAAG,kBAAkB,GAAG,uBAAuB,CAAC;AAErH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,aAAa,CAAA;CACvB;AAED,wBAAsB,yBAAyB,CAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAqC9G;AAED,wBAAsB,4BAA4B,CAAE,OAAO,EAAE,cAAc,GAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAO/G;AAED,wBAAsB,uCAAuC,CAAE,OAAO,EAAE,cAAc,GAAI,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC,CAOrI;AAED,wBAAsB,6BAA6B,CAAE,OAAO,EAAE,cAAc,GAAI,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAOjH;AAED,wBAAsB,kCAAkC,CAAE,OAAO,EAAE,cAAc,GAAI,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAO3H"}