wechaty-puppet-padplus2 3.1.2

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 (182) hide show
  1. package/README.md +50 -0
  2. package/dist/cjs/cleanup.cjs +1 -0
  3. package/dist/cjs/config.cjs +1 -0
  4. package/dist/cjs/mock/cache-manager.cjs +1 -0
  5. package/dist/cjs/mock/events/event-friendship.cjs +1 -0
  6. package/dist/cjs/mock/events/event-message.cjs +1 -0
  7. package/dist/cjs/mock/events/event-room-invite.cjs +1 -0
  8. package/dist/cjs/mock/events/event-room-join.cjs +1 -0
  9. package/dist/cjs/mock/events/event-room-leave.cjs +1 -0
  10. package/dist/cjs/mock/events/event-room-topic.cjs +1 -0
  11. package/dist/cjs/mock/events/event.cjs +1 -0
  12. package/dist/cjs/mock/events/mod.cjs +1 -0
  13. package/dist/cjs/mock/messages/message-appmsg.cjs +1 -0
  14. package/dist/cjs/mock/messages/message-emotion.cjs +1 -0
  15. package/dist/cjs/mock/messages/message-miniprogram.cjs +1 -0
  16. package/dist/cjs/mock/messages/message-sysmsg.cjs +1 -0
  17. package/dist/cjs/mock/messages/sysmsg/message-pat.cjs +1 -0
  18. package/dist/cjs/mock/messages/sysmsg/message-revokemsg.cjs +1 -0
  19. package/dist/cjs/mock/messages/sysmsg/message-sysmsgtemplate.cjs +1 -0
  20. package/dist/cjs/mock/messages/sysmsg/message-todo.cjs +1 -0
  21. package/dist/cjs/mock/schema-mapper/contact.cjs +1 -0
  22. package/dist/cjs/mock/schema-mapper/message/message-parser-appmsg.cjs +1 -0
  23. package/dist/cjs/mock/schema-mapper/message/message-parser-refermsg.cjs +1 -0
  24. package/dist/cjs/mock/schema-mapper/message/message-parser-room.cjs +1 -0
  25. package/dist/cjs/mock/schema-mapper/message/message-parser-single-chat.cjs +1 -0
  26. package/dist/cjs/mock/schema-mapper/message/message-parser-sysmsg.cjs +1 -0
  27. package/dist/cjs/mock/schema-mapper/message/message-parser-type.cjs +1 -0
  28. package/dist/cjs/mock/schema-mapper/message/message-parser.cjs +1 -0
  29. package/dist/cjs/mock/schema-mapper/message/mod.cjs +1 -0
  30. package/dist/cjs/mock/schema-mapper/message.cjs +1 -0
  31. package/dist/cjs/mock/schema-mapper/room.cjs +1 -0
  32. package/dist/cjs/mock/types.cjs +1 -0
  33. package/dist/cjs/mock/utils/cached-promise.cjs +1 -0
  34. package/dist/cjs/mock/utils/is-type.cjs +1 -0
  35. package/dist/cjs/mock/utils/regex.cjs +1 -0
  36. package/dist/cjs/mock/utils/runner.cjs +1 -0
  37. package/dist/cjs/mock/utils/xml-to-json.cjs +1 -0
  38. package/dist/cjs/mod.cjs +1 -0
  39. package/dist/cjs/package-json.cjs +1 -0
  40. package/dist/cjs/puppet-plus.cjs +1 -0
  41. package/dist/cjs/server/cache-manager.cjs +1 -0
  42. package/dist/cjs/server/index.cjs +1 -0
  43. package/dist/cjs/server/map/AppMessageLink.cjs +1 -0
  44. package/dist/cjs/server/map/Label.cjs +1 -0
  45. package/dist/cjs/server/map/RoomMemberList.cjs +1 -0
  46. package/dist/cjs/server/map/contact.cjs +1 -0
  47. package/dist/cjs/server/map/index.cjs +1 -0
  48. package/dist/cjs/server/map/message.cjs +1 -0
  49. package/dist/cjs/server/map/response.cjs +1 -0
  50. package/dist/cjs/server/service/api/index3.cjs +1 -0
  51. package/dist/cjs/server/service/config/index.cjs +1 -0
  52. package/dist/cjs/server/service/index.cjs +1 -0
  53. package/dist/cjs/server/service/request/index.cjs +1 -0
  54. package/dist/cjs/server/service/utils/polling.cjs +1 -0
  55. package/dist/cjs/server/utils/PromiseUtils.cjs +1 -0
  56. package/dist/cjs/server/utils/SerialExecutor.cjs +1 -0
  57. package/dist/cjs/server/utils/Utils.cjs +1 -0
  58. package/dist/cjs/server/utils/xml-to-json.cjs +1 -0
  59. package/dist/esm/cleanup.js +26 -0
  60. package/dist/esm/config.js +9 -0
  61. package/dist/esm/mock/cache-manager.js +182 -0
  62. package/dist/esm/mock/events/event-friendship.js +59 -0
  63. package/dist/esm/mock/events/event-message.js +3 -0
  64. package/dist/esm/mock/events/event-room-invite.js +33 -0
  65. package/dist/esm/mock/events/event-room-join.js +105 -0
  66. package/dist/esm/mock/events/event-room-leave.js +83 -0
  67. package/dist/esm/mock/events/event-room-topic.js +50 -0
  68. package/dist/esm/mock/events/event.js +38 -0
  69. package/dist/esm/mock/events/mod.js +20 -0
  70. package/dist/esm/mock/messages/message-appmsg.js +41 -0
  71. package/dist/esm/mock/messages/message-emotion.js +24 -0
  72. package/dist/esm/mock/messages/message-miniprogram.js +18 -0
  73. package/dist/esm/mock/messages/message-sysmsg.js +50 -0
  74. package/dist/esm/mock/messages/sysmsg/message-pat.js +10 -0
  75. package/dist/esm/mock/messages/sysmsg/message-revokemsg.js +20 -0
  76. package/dist/esm/mock/messages/sysmsg/message-sysmsgtemplate.js +45 -0
  77. package/dist/esm/mock/messages/sysmsg/message-todo.js +15 -0
  78. package/dist/esm/mock/schema-mapper/contact.js +22 -0
  79. package/dist/esm/mock/schema-mapper/message/message-parser-appmsg.js +64 -0
  80. package/dist/esm/mock/schema-mapper/message/message-parser-refermsg.js +46 -0
  81. package/dist/esm/mock/schema-mapper/message/message-parser-room.js +33 -0
  82. package/dist/esm/mock/schema-mapper/message/message-parser-single-chat.js +4 -0
  83. package/dist/esm/mock/schema-mapper/message/message-parser-sysmsg.js +33 -0
  84. package/dist/esm/mock/schema-mapper/message/message-parser-type.js +31 -0
  85. package/dist/esm/mock/schema-mapper/message/message-parser.js +20 -0
  86. package/dist/esm/mock/schema-mapper/message/mod.js +19 -0
  87. package/dist/esm/mock/schema-mapper/message.js +21 -0
  88. package/dist/esm/mock/schema-mapper/room.js +30 -0
  89. package/dist/esm/mock/types.js +13 -0
  90. package/dist/esm/mock/utils/cached-promise.js +12 -0
  91. package/dist/esm/mock/utils/is-type.js +21 -0
  92. package/dist/esm/mock/utils/regex.js +11 -0
  93. package/dist/esm/mock/utils/runner.js +11 -0
  94. package/dist/esm/mock/utils/xml-to-json.js +14 -0
  95. package/dist/esm/mod.js +5 -0
  96. package/dist/esm/package-json.js +5 -0
  97. package/dist/esm/puppet-plus.js +829 -0
  98. package/dist/esm/server/cache-manager.js +77 -0
  99. package/dist/esm/server/index.js +19 -0
  100. package/dist/esm/server/map/AppMessageLink.js +58 -0
  101. package/dist/esm/server/map/Label.js +30 -0
  102. package/dist/esm/server/map/RoomMemberList.js +48 -0
  103. package/dist/esm/server/map/contact.js +192 -0
  104. package/dist/esm/server/map/index.js +7 -0
  105. package/dist/esm/server/map/message.js +107 -0
  106. package/dist/esm/server/map/response.js +78 -0
  107. package/dist/esm/server/service/api/index3.js +960 -0
  108. package/dist/esm/server/service/config/index.js +7 -0
  109. package/dist/esm/server/service/index.js +30 -0
  110. package/dist/esm/server/service/request/index.js +47 -0
  111. package/dist/esm/server/service/utils/polling.js +24 -0
  112. package/dist/esm/server/utils/PromiseUtils.js +19 -0
  113. package/dist/esm/server/utils/SerialExecutor.js +41 -0
  114. package/dist/esm/server/utils/Utils.js +7 -0
  115. package/dist/esm/server/utils/xml-to-json.js +18 -0
  116. package/dist/types/cleanup.d.ts +4 -0
  117. package/dist/types/config.d.ts +9 -0
  118. package/dist/types/mock/cache-manager.d.ts +55 -0
  119. package/dist/types/mock/events/event-friendship.d.ts +5 -0
  120. package/dist/types/mock/events/event-message.d.ts +5 -0
  121. package/dist/types/mock/events/event-room-invite.d.ts +5 -0
  122. package/dist/types/mock/events/event-room-join.d.ts +5 -0
  123. package/dist/types/mock/events/event-room-leave.d.ts +7 -0
  124. package/dist/types/mock/events/event-room-topic.d.ts +5 -0
  125. package/dist/types/mock/events/event.d.ts +28 -0
  126. package/dist/types/mock/events/mod.d.ts +4 -0
  127. package/dist/types/mock/messages/message-appmsg.d.ts +57 -0
  128. package/dist/types/mock/messages/message-emotion.d.ts +12 -0
  129. package/dist/types/mock/messages/message-miniprogram.d.ts +3 -0
  130. package/dist/types/mock/messages/message-sysmsg.d.ts +18 -0
  131. package/dist/types/mock/messages/sysmsg/message-pat.d.ts +14 -0
  132. package/dist/types/mock/messages/sysmsg/message-revokemsg.d.ts +19 -0
  133. package/dist/types/mock/messages/sysmsg/message-sysmsgtemplate.d.ts +60 -0
  134. package/dist/types/mock/messages/sysmsg/message-todo.d.ts +31 -0
  135. package/dist/types/mock/schema-mapper/contact.d.ts +4 -0
  136. package/dist/types/mock/schema-mapper/message/message-parser-appmsg.d.ts +4 -0
  137. package/dist/types/mock/schema-mapper/message/message-parser-refermsg.d.ts +4 -0
  138. package/dist/types/mock/schema-mapper/message/message-parser-room.d.ts +4 -0
  139. package/dist/types/mock/schema-mapper/message/message-parser-single-chat.d.ts +4 -0
  140. package/dist/types/mock/schema-mapper/message/message-parser-sysmsg.d.ts +4 -0
  141. package/dist/types/mock/schema-mapper/message/message-parser-type.d.ts +4 -0
  142. package/dist/types/mock/schema-mapper/message/message-parser.d.ts +12 -0
  143. package/dist/types/mock/schema-mapper/message/mod.d.ts +4 -0
  144. package/dist/types/mock/schema-mapper/message.d.ts +3 -0
  145. package/dist/types/mock/schema-mapper/room.d.ts +5 -0
  146. package/dist/types/mock/types.d.ts +35 -0
  147. package/dist/types/mock/utils/cached-promise.d.ts +5 -0
  148. package/dist/types/mock/utils/is-type.d.ts +9 -0
  149. package/dist/types/mock/utils/regex.d.ts +3 -0
  150. package/dist/types/mock/utils/runner.d.ts +3 -0
  151. package/dist/types/mock/utils/xml-to-json.d.ts +2 -0
  152. package/dist/types/mod.d.ts +6 -0
  153. package/dist/types/package-json.d.ts +4 -0
  154. package/dist/types/puppet-plus.d.ts +102 -0
  155. package/dist/types/server/cache-manager.d.ts +22 -0
  156. package/dist/types/server/index.d.ts +15 -0
  157. package/dist/types/server/map/AppMessageLink.d.ts +31 -0
  158. package/dist/types/server/map/Label.d.ts +17 -0
  159. package/dist/types/server/map/RoomMemberList.d.ts +31 -0
  160. package/dist/types/server/map/contact.d.ts +113 -0
  161. package/dist/types/server/map/index.d.ts +13 -0
  162. package/dist/types/server/map/message.d.ts +68 -0
  163. package/dist/types/server/map/response.d.ts +45 -0
  164. package/dist/types/server/server.d.ts +6 -0
  165. package/dist/types/server/service/api/index.d.ts +78 -0
  166. package/dist/types/server/service/api/index2.d.ts +72 -0
  167. package/dist/types/server/service/api/index3.d.ts +78 -0
  168. package/dist/types/server/service/api/index_c.d.ts +71 -0
  169. package/dist/types/server/service/api/ws.d.ts +2 -0
  170. package/dist/types/server/service/config/index.d.ts +6 -0
  171. package/dist/types/server/service/index.d.ts +8 -0
  172. package/dist/types/server/service/request/index.d.ts +14 -0
  173. package/dist/types/server/service/request/type.d.ts +11 -0
  174. package/dist/types/server/service/utils/polling.d.ts +8 -0
  175. package/dist/types/server/utils/PromiseUtils.d.ts +13 -0
  176. package/dist/types/server/utils/SerialExecutor.d.ts +10 -0
  177. package/dist/types/server/utils/Utils.d.ts +3 -0
  178. package/dist/types/server/utils/diff.d.ts +35 -0
  179. package/dist/types/server/utils/polling.d.ts +7 -0
  180. package/dist/types/server/utils/token.d.ts +11 -0
  181. package/dist/types/server/utils/xml-to-json.d.ts +3 -0
  182. package/package.json +123 -0
@@ -0,0 +1,50 @@
1
+ import { WechatMessageType as s } from "../types.js";
2
+
3
+ import { xmlToJson as t } from "../utils/xml-to-json.js";
4
+
5
+ import { parsePatMessagePayload as e } from "./sysmsg/message-pat.js";
6
+
7
+ import { parseSysmsgTemplateMessagePayload as m } from "./sysmsg/message-sysmsgtemplate.js";
8
+
9
+ import { parseTodoMessagePayload as a } from "./sysmsg/message-todo.js";
10
+
11
+ import { parseRevokeMsgMessagePayload as o } from "./sysmsg/message-revokemsg.js";
12
+
13
+ async function r(message) {
14
+ if (message.type !== s.SysTemplate) {
15
+ return null;
16
+ }
17
+ const r = message.content.trim(), y = r.indexOf("<sysmsg");
18
+ if (-1 === y) {
19
+ return null;
20
+ }
21
+ const p = await t(r.substring(y));
22
+ let g;
23
+ switch (p.sysmsg.$.type) {
24
+ case "pat":
25
+ g = await e(p.sysmsg.pat);
26
+ break;
27
+
28
+ case "sysmsgtemplate":
29
+ g = await m(p.sysmsg.sysmsgtemplate);
30
+ break;
31
+
32
+ case "roomtoolstips":
33
+ g = await a(p.sysmsg.todo);
34
+ break;
35
+
36
+ case "revokemsg":
37
+ g = await o(p.sysmsg.revokemsg);
38
+ }
39
+ return g ? {
40
+ payload: g,
41
+ type: p.sysmsg.$.type
42
+ } : null;
43
+ }
44
+
45
+ async function y(message) {
46
+ const s = await r(message);
47
+ return s && "sysmsgtemplate" === s.type ? s.payload : null;
48
+ }
49
+
50
+ export { r as parseSysmsgMessagePayload, y as parseSysmsgSysmsgTemplateMessagePayload };
@@ -0,0 +1,10 @@
1
+ async function e(e) {
2
+ return {
3
+ chatUserName: e.chatusername,
4
+ fromUserName: e.fromusername,
5
+ pattedUserName: e.pattedusername,
6
+ template: e.template
7
+ };
8
+ }
9
+
10
+ export { e as parsePatMessagePayload };
@@ -0,0 +1,20 @@
1
+ import { parseTextWithRegexList as e } from "../../utils/regex.js";
2
+
3
+ import { executeRunners as s } from "../../utils/runner.js";
4
+
5
+ const a = [ /你撤回了一条消息/, /You recalled a message/ ], r = [ /"(.+)" 撤回了一条消息/, /"(.+)" has recalled a message./ ];
6
+
7
+ async function n(n) {
8
+ let o;
9
+ const t = await s([ async () => e(n.replacemsg, a, (async () => "You")), async () => e(n.replacemsg, r, (async (e, s) => (o = s[1],
10
+ "Other"))) ]);
11
+ return {
12
+ content: n.replacemsg,
13
+ operatorNickName: o,
14
+ originalMessageId: n.newmsgid,
15
+ session: n.session,
16
+ type: t
17
+ };
18
+ }
19
+
20
+ export { n as parseRevokeMsgMessagePayload };
@@ -0,0 +1,45 @@
1
+ import { parseTextWithRegexList as e } from "../../utils/regex.js";
2
+
3
+ function t(e) {
4
+ return Array.isArray(e) ? e : [ e ];
5
+ }
6
+
7
+ async function n(e) {
8
+ const n = t(e.content_template.link_list.link).map((e => {
9
+ const n = e.$.type;
10
+ let r;
11
+ if ("link_profile" === n) {
12
+ r = t(e.memberlist.member).map((e => ({
13
+ nickName: e.nickname,
14
+ userName: e.username
15
+ })));
16
+ } else {
17
+ "link_revoke" === e.$.type && (r = {
18
+ title: e.title,
19
+ userNameList: t(e.usernamelist.username)
20
+ });
21
+ }
22
+ return {
23
+ name: e.$.name,
24
+ payload: r,
25
+ type: n
26
+ };
27
+ })), r = e.content_template.template, a = [ ...r.matchAll(/\$(.+?)\$/g) ];
28
+ return {
29
+ template: r,
30
+ templateLinkList: a.map((e => {
31
+ const t = e[1];
32
+ return n.filter((e => e.name === t))[0];
33
+ }))
34
+ };
35
+ }
36
+
37
+ async function r(t, n, r) {
38
+ return e(t.template, n, (async e => r(t.templateLinkList, e)));
39
+ }
40
+
41
+ function a(e, t, n) {
42
+ return async () => r(e, t, n);
43
+ }
44
+
45
+ export { a as createSysmsgTemplateRunner, r as parseSysmsgTemplate, n as parseSysmsgTemplateMessagePayload };
@@ -0,0 +1,15 @@
1
+ async function e(e) {
2
+ return {
3
+ appId: e.username,
4
+ creatorUserName: e.creator,
5
+ id: e.todoid,
6
+ numberOfReply: e.nreply,
7
+ operatorUserName: e.oper,
8
+ path: e.path,
9
+ relatedMessageId: e.related_msgid,
10
+ template: e.template,
11
+ title: e.title
12
+ };
13
+ }
14
+
15
+ export { e as parseTodoMessagePayload };
@@ -0,0 +1,22 @@
1
+ import * as e from "wechaty-puppet";
2
+
3
+ import { isContactOfficialId as a } from "../utils/is-type.js";
4
+
5
+ function t(contact) {
6
+ return {
7
+ alias: contact.remark,
8
+ avatar: contact.avatar,
9
+ city: contact.city,
10
+ friend: !contact.stranger,
11
+ gender: contact.gender,
12
+ id: contact.username,
13
+ name: contact.nickname,
14
+ phone: contact.phoneList,
15
+ province: contact.province,
16
+ signature: contact.signature,
17
+ type: a(contact.username) ? e.types.Contact.Official : e.types.Contact.Individual,
18
+ weixin: contact.alias
19
+ };
20
+ }
21
+
22
+ export { t as padPlusContactToWechaty };
@@ -0,0 +1,64 @@
1
+ import * as e from "wechaty-puppet";
2
+
3
+ import { log as t } from "wechaty-puppet";
4
+
5
+ import { LOGPRE as s } from "./message-parser.js";
6
+
7
+ import { parseAppmsgMessagePayload as a, AppMessageType as r } from "../../messages/message-appmsg.js";
8
+
9
+ const p = async (p, o, y) => {
10
+ if (o.type !== e.types.Message.Attachment) {
11
+ return o;
12
+ }
13
+ try {
14
+ const t = await a(p.content);
15
+ switch (y.appMessagePayload = t, t.type) {
16
+ case r.Text:
17
+ o.type = e.types.Message.Text, o.text = t.title;
18
+ break;
19
+
20
+ case r.Audio:
21
+ case r.Video:
22
+ case r.Url:
23
+ o.type = e.types.Message.Url;
24
+ break;
25
+
26
+ case r.Attach:
27
+ o.type = e.types.Message.Attachment, o.filename = t.title;
28
+ break;
29
+
30
+ case r.ChatHistory:
31
+ o.type = e.types.Message.ChatHistory;
32
+ break;
33
+
34
+ case r.MiniProgram:
35
+ case r.MiniProgramApp:
36
+ o.type = e.types.Message.MiniProgram;
37
+ break;
38
+
39
+ case r.RedEnvelopes:
40
+ o.type = e.types.Message.RedEnvelope;
41
+ break;
42
+
43
+ case r.Transfers:
44
+ o.type = e.types.Message.Transfer;
45
+ break;
46
+
47
+ case r.RealtimeShareLocation:
48
+ o.type = e.types.Message.Location;
49
+ break;
50
+
51
+ case r.GroupNote:
52
+ o.type = e.types.Message.GroupNote, o.text = t.title;
53
+ break;
54
+
55
+ default:
56
+ o.type = e.types.Message.Unknown;
57
+ }
58
+ } catch (e) {
59
+ t.warn(s, `Error occurred while parse message attachment: ${JSON.stringify(p)} , ${e.stack}`);
60
+ }
61
+ return o;
62
+ };
63
+
64
+ export { p as appMsgParser };
@@ -0,0 +1,46 @@
1
+ import * as e from "wechaty-puppet";
2
+
3
+ import { AppMessageType as a, parseAppmsgMessagePayload as t } from "../../messages/message-appmsg.js";
4
+
5
+ import { WechatMessageType as s } from "../../types.js";
6
+
7
+ const p = async (p, r, o) => {
8
+ if (!o.appMessagePayload || o.appMessagePayload.type !== a.ReferMsg) {
9
+ return r;
10
+ }
11
+ const c = o.appMessagePayload;
12
+ let n;
13
+ const m = c.refermsg;
14
+ switch (parseInt(m.type)) {
15
+ case s.Text:
16
+ n = m.content;
17
+ break;
18
+
19
+ case s.Image:
20
+ n = "图片";
21
+ break;
22
+
23
+ case s.Video:
24
+ n = "视频";
25
+ break;
26
+
27
+ case s.Emoticon:
28
+ n = "动画表情";
29
+ break;
30
+
31
+ case s.Location:
32
+ n = "位置";
33
+ break;
34
+
35
+ case s.App:
36
+ n = (await t(m.content)).title;
37
+ break;
38
+
39
+ default:
40
+ n = "未知消息";
41
+ }
42
+ return r.type = e.types.Message.Text, r.text = `「${m.displayname}:${n}」\n- - - - - - - - - - - - - - -\n${c.title}`,
43
+ r;
44
+ };
45
+
46
+ export { p as referMsgParser };
@@ -0,0 +1,33 @@
1
+ import { isRoomId as e, isIMRoomId as t } from "../../utils/is-type.js";
2
+
3
+ const n = async (n, o, s) => {
4
+ if (await async function(n, o) {
5
+ if (e(n.fromusername) || t(n.fromusername)) {
6
+ o.roomId = n.fromusername;
7
+ const e = n.content.indexOf(":\n");
8
+ if (-1 !== e) {
9
+ const t = n.content.slice(0, e);
10
+ o.talkerId = t, o.text = n.content.slice(e + 2);
11
+ } else {
12
+ o.talkerId = n.tousername;
13
+ }
14
+ }
15
+ }(n, o), await async function(n, o) {
16
+ if (e(n.tousername) || t(n.tousername)) {
17
+ o.roomId = n.tousername, o.talkerId = n.fromusername;
18
+ const e = n.content.indexOf(":\n");
19
+ -1 !== e && (o.text = n.content.slice(e + 2));
20
+ }
21
+ }(n, o), o.roomId) {
22
+ let e;
23
+ if (s.isRoomMessage = !0, 1 === n.atList.length && "announcement@all" === n.atList[0]) {
24
+ e = (await s.puppet.roomPayload(o.roomId)).memberIdList;
25
+ } else {
26
+ e = n.atList;
27
+ }
28
+ o.mentionIdList = e;
29
+ }
30
+ return o;
31
+ };
32
+
33
+ export { n as roomParser };
@@ -0,0 +1,4 @@
1
+ const e = async (e, s, o) => (o.isRoomMessage || (s.talkerId = e.fromusername, s.listenerId = e.tousername),
2
+ s);
3
+
4
+ export { e as singleChatParser };
@@ -0,0 +1,33 @@
1
+ import { parseSysmsgMessagePayload as e } from "../../messages/message-sysmsg.js";
2
+
3
+ const s = async (s, a, r) => {
4
+ const t = await e(s);
5
+ if (!t) {
6
+ return a;
7
+ }
8
+ switch (t.type) {
9
+ case "pat":
10
+ {
11
+ const e = t.payload;
12
+ r.isRoomMessage && (a.talkerId = e.pattedUserName, a.listenerId = e.fromUserName);
13
+ break;
14
+ }
15
+
16
+ case "roomtoolstips":
17
+ {
18
+ const e = t.payload;
19
+ r.isRoomMessage && (a.talkerId = e.operatorUserName);
20
+ break;
21
+ }
22
+
23
+ case "revokemsg":
24
+ {
25
+ const e = t.payload;
26
+ r.isRoomMessage || "You" === e.type && (a.listenerId = a.talkerId, a.talkerId = r.puppet.currentUserId);
27
+ break;
28
+ }
29
+ }
30
+ return a;
31
+ };
32
+
33
+ export { s as sysmsgParser };
@@ -0,0 +1,31 @@
1
+ import * as e from "wechaty-puppet";
2
+
3
+ import { log as s } from "wechaty-puppet";
4
+
5
+ import { WechatMessageType as t } from "../../types.js";
6
+
7
+ import { LOGPRE as p } from "./message-parser.js";
8
+
9
+ const a = {
10
+ [t.Text]: e.types.Message.Text,
11
+ [t.Image]: e.types.Message.Image,
12
+ [t.Voice]: e.types.Message.Audio,
13
+ [t.Emoticon]: e.types.Message.Emoticon,
14
+ [t.App]: e.types.Message.Attachment,
15
+ [t.File]: e.types.Message.Attachment,
16
+ [t.Location]: e.types.Message.Location,
17
+ [t.Video]: e.types.Message.Video,
18
+ [t.Sys]: e.types.Message.Unknown,
19
+ [t.ShareCard]: e.types.Message.Contact,
20
+ [t.VoipMsg]: e.types.Message.Recalled,
21
+ [t.SysTemplate]: e.types.Message.Recalled,
22
+ [t.StatusNotify]: e.types.Message.Unknown,
23
+ [t.SysNotice]: e.types.Message.Unknown
24
+ }, o = async (t, o, y) => {
25
+ const n = t.type;
26
+ let g = a[n];
27
+ return g || (s.verbose(p, `unsupported type: ${JSON.stringify(t)}`), g = e.types.Message.Unknown),
28
+ o.type = g, o;
29
+ };
30
+
31
+ export { o as typeParser };
@@ -0,0 +1,20 @@
1
+ const s = [];
2
+
3
+ function o(o) {
4
+ s.push(o);
5
+ }
6
+
7
+ async function n(puppet, o, n) {
8
+ const t = {
9
+ isRoomMessage: !1,
10
+ puppet
11
+ };
12
+ for (const e of s) {
13
+ n = await e(o, n, t);
14
+ }
15
+ return n;
16
+ }
17
+
18
+ const t = "message-parser";
19
+
20
+ export { t as LOGPRE, o as addMessageParser, n as executeMessageParsers };
@@ -0,0 +1,19 @@
1
+ import { addMessageParser as s } from "./message-parser.js";
2
+
3
+ import { executeMessageParsers as r } from "./message-parser.js";
4
+
5
+ import { typeParser as e } from "./message-parser-type.js";
6
+
7
+ import { roomParser as m } from "./message-parser-room.js";
8
+
9
+ import { singleChatParser as p } from "./message-parser-single-chat.js";
10
+
11
+ import { appMsgParser as o } from "./message-parser-appmsg.js";
12
+
13
+ import { referMsgParser as a } from "./message-parser-refermsg.js";
14
+
15
+ import { sysmsgParser as g } from "./message-parser-sysmsg.js";
16
+
17
+ s(e), s(m), s(p), s(o), s(a), s(g);
18
+
19
+ export { r as executeMessageParsers };
@@ -0,0 +1,21 @@
1
+ import * as e from "wechaty-puppet";
2
+
3
+ import "./message/mod.js";
4
+
5
+ import { executeMessageParsers as t } from "./message/message-parser.js";
6
+
7
+ async function r(puppet, r) {
8
+ const o = {
9
+ id: r.id,
10
+ talkerId: r.fromusername,
11
+ text: r.content,
12
+ timestamp: r.createtime,
13
+ type: e.types.Message.Unknown
14
+ };
15
+ if (await t(puppet, r, o), !o.roomId && !o.listenerId) {
16
+ throw new Error("neither roomId nor listenerId");
17
+ }
18
+ return o;
19
+ }
20
+
21
+ export { r as padPlusToWechaty };
@@ -0,0 +1,30 @@
1
+ import "../../server/map/index.js";
2
+
3
+ import { Contact as e } from "../../server/map/contact.js";
4
+
5
+ function a(contact) {
6
+ return {
7
+ adminIdList: [],
8
+ avatar: contact.avatar,
9
+ id: contact.username,
10
+ memberIdList: contact.chatroommemberList.map((e => e.username)),
11
+ ownerId: contact.chatroomownerusername,
12
+ topic: contact.nickname
13
+ };
14
+ }
15
+
16
+ function r(e) {
17
+ return {
18
+ avatar: e.avatar,
19
+ id: e.username,
20
+ inviterId: e.inviterusername,
21
+ name: e.nickname,
22
+ roomAlias: e.displayname
23
+ };
24
+ }
25
+
26
+ function n(a) {
27
+ return (new e).setUsername(a.getUsername()).setNickname(a.getNickname()).setAvatar(a.getAvatar()).setStranger(!0);
28
+ }
29
+
30
+ export { n as chatRoomMemberToContact, r as padPlusRoomMemberToWechaty, a as padPlusRoomToWechaty };
@@ -0,0 +1,13 @@
1
+ var e, i;
2
+
3
+ (i = e || (e = {}))[i.Text = 1] = "Text", i[i.Image = 3] = "Image", i[i.Voice = 34] = "Voice",
4
+ i[i.VerifyMsg = 37] = "VerifyMsg", i[i.PossibleFriendMsg = 40] = "PossibleFriendMsg",
5
+ i[i.ShareCard = 42] = "ShareCard", i[i.Video = 43] = "Video", i[i.Emoticon = 47] = "Emoticon",
6
+ i[i.Location = 48] = "Location", i[i.App = 49] = "App", i[i.VoipMsg = 50] = "VoipMsg",
7
+ i[i.StatusNotify = 51] = "StatusNotify", i[i.VoipNotify = 52] = "VoipNotify", i[i.VoipInvite = 53] = "VoipInvite",
8
+ i[i.MicroVideo = 62] = "MicroVideo", i[i.VerifyMsgEnterprise = 65] = "VerifyMsgEnterprise",
9
+ i[i.Transfer = 2e3] = "Transfer", i[i.RedEnvelope = 2001] = "RedEnvelope", i[i.MiniProgram = 2002] = "MiniProgram",
10
+ i[i.GroupInvite = 2003] = "GroupInvite", i[i.File = 2004] = "File", i[i.SysNotice = 9999] = "SysNotice",
11
+ i[i.Sys = 1e4] = "Sys", i[i.SysTemplate = 10002] = "SysTemplate";
12
+
13
+ export { e as WechatMessageType };
@@ -0,0 +1,12 @@
1
+ const n = new Map;
2
+
3
+ async function t(t, e) {
4
+ const c = n.get(t);
5
+ if (c) {
6
+ return c;
7
+ }
8
+ const o = e();
9
+ return n.set(t, o), o.finally((() => n.delete(t)));
10
+ }
11
+
12
+ export { t as CachedPromiseFunc };
@@ -0,0 +1,21 @@
1
+ function t(t) {
2
+ return !!t && /@chatroom$/.test(t);
3
+ }
4
+
5
+ function n(t) {
6
+ return !!t && /@im.chatroom$/.test(t);
7
+ }
8
+
9
+ function r(r) {
10
+ return !!r && (!t(r) && !n(r) && !e(r));
11
+ }
12
+
13
+ function e(t) {
14
+ return !!t && /@openim$/.test(t);
15
+ }
16
+
17
+ function o(t) {
18
+ return !!t && /^gh_/i.test(t);
19
+ }
20
+
21
+ export { r as isContactId, o as isContactOfficialId, e as isIMContactId, n as isIMRoomId, t as isRoomId };
@@ -0,0 +1,11 @@
1
+ async function t(t, n, r) {
2
+ for (let e = 0; e < n.length; ++e) {
3
+ const a = n[e], c = t.match(a);
4
+ if (c) {
5
+ return await r(e, c);
6
+ }
7
+ }
8
+ return null;
9
+ }
10
+
11
+ export { t as parseTextWithRegexList };
@@ -0,0 +1,11 @@
1
+ async function n(n) {
2
+ for (const t of n) {
3
+ const n = await t();
4
+ if (n) {
5
+ return n;
6
+ }
7
+ }
8
+ return null;
9
+ }
10
+
11
+ export { n as executeRunners };
@@ -0,0 +1,14 @@
1
+ import { parseString as t } from "xml2js";
2
+
3
+ import { log as r } from "wechaty-puppet";
4
+
5
+ async function e(e) {
6
+ const n = e.indexOf("<");
7
+ return 0 !== n && (e = e.substring(n, e.length)), new Promise((n => {
8
+ t(e, {
9
+ explicitArray: !1
10
+ }, ((t, e) => (t && 0 !== Object.keys(t).length && r.warn(JSON.stringify(t)), n(e))));
11
+ }));
12
+ }
13
+
14
+ export { e as xmlToJson };
@@ -0,0 +1,5 @@
1
+ import { VERSION } from "./config.js";
2
+
3
+ import { PuppetPlus } from "./puppet-plus.js";
4
+
5
+ export { PuppetPlus, VERSION, PuppetPlus as default };
@@ -0,0 +1,5 @@
1
+ const o = {
2
+ version: "3.1.0"
3
+ };
4
+
5
+ export { o as packageJson };