@juzi/wechaty 1.0.158 → 1.0.160

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 (373) hide show
  1. package/dist/cjs/src/io.js +40 -40
  2. package/dist/cjs/src/io.js.map +1 -1
  3. package/dist/cjs/src/package-json.js +4 -4
  4. package/dist/cjs/src/schemas/logger.d.ts +2 -0
  5. package/dist/cjs/src/schemas/logger.d.ts.map +1 -0
  6. package/dist/cjs/src/schemas/logger.js +3 -0
  7. package/dist/cjs/src/schemas/logger.js.map +1 -0
  8. package/dist/cjs/src/schemas/mod.d.ts +2 -1
  9. package/dist/cjs/src/schemas/mod.d.ts.map +1 -1
  10. package/dist/cjs/src/schemas/mod.js.map +1 -1
  11. package/dist/cjs/src/schemas/wechaty-options.d.ts +19 -0
  12. package/dist/cjs/src/schemas/wechaty-options.d.ts.map +1 -1
  13. package/dist/cjs/src/user-mixins/wechatify.d.ts +23 -0
  14. package/dist/cjs/src/user-mixins/wechatify.d.ts.map +1 -1
  15. package/dist/cjs/src/user-mixins/wechatify.js +25 -0
  16. package/dist/cjs/src/user-mixins/wechatify.js.map +1 -1
  17. package/dist/cjs/src/user-modules/call.d.ts +4 -0
  18. package/dist/cjs/src/user-modules/call.d.ts.map +1 -1
  19. package/dist/cjs/src/user-modules/call.js +6 -7
  20. package/dist/cjs/src/user-modules/call.js.map +1 -1
  21. package/dist/cjs/src/user-modules/channel-card.d.ts +2 -0
  22. package/dist/cjs/src/user-modules/channel-card.d.ts.map +1 -1
  23. package/dist/cjs/src/user-modules/channel-card.js +2 -3
  24. package/dist/cjs/src/user-modules/channel-card.js.map +1 -1
  25. package/dist/cjs/src/user-modules/channel.d.ts +2 -0
  26. package/dist/cjs/src/user-modules/channel.d.ts.map +1 -1
  27. package/dist/cjs/src/user-modules/channel.js +2 -3
  28. package/dist/cjs/src/user-modules/channel.js.map +1 -1
  29. package/dist/cjs/src/user-modules/chat-history.d.ts +2 -0
  30. package/dist/cjs/src/user-modules/chat-history.d.ts.map +1 -1
  31. package/dist/cjs/src/user-modules/chat-history.js +2 -3
  32. package/dist/cjs/src/user-modules/chat-history.js.map +1 -1
  33. package/dist/cjs/src/user-modules/consult-card.d.ts +2 -0
  34. package/dist/cjs/src/user-modules/consult-card.d.ts.map +1 -1
  35. package/dist/cjs/src/user-modules/consult-card.js +3 -4
  36. package/dist/cjs/src/user-modules/consult-card.js.map +1 -1
  37. package/dist/cjs/src/user-modules/contact-self.d.ts.map +1 -1
  38. package/dist/cjs/src/user-modules/contact-self.js +8 -9
  39. package/dist/cjs/src/user-modules/contact-self.js.map +1 -1
  40. package/dist/cjs/src/user-modules/contact.d.ts +2 -0
  41. package/dist/cjs/src/user-modules/contact.d.ts.map +1 -1
  42. package/dist/cjs/src/user-modules/contact.js +36 -37
  43. package/dist/cjs/src/user-modules/contact.js.map +1 -1
  44. package/dist/cjs/src/user-modules/delay.d.ts +2 -0
  45. package/dist/cjs/src/user-modules/delay.d.ts.map +1 -1
  46. package/dist/cjs/src/user-modules/douyin-one-click-phone-collection.d.ts +2 -0
  47. package/dist/cjs/src/user-modules/douyin-one-click-phone-collection.d.ts.map +1 -1
  48. package/dist/cjs/src/user-modules/douyin-one-click-phone-collection.js +2 -3
  49. package/dist/cjs/src/user-modules/douyin-one-click-phone-collection.js.map +1 -1
  50. package/dist/cjs/src/user-modules/favorite.d.ts +21 -0
  51. package/dist/cjs/src/user-modules/favorite.d.ts.map +1 -1
  52. package/dist/cjs/src/user-modules/favorite.js +1 -21
  53. package/dist/cjs/src/user-modules/favorite.js.map +1 -1
  54. package/dist/cjs/src/user-modules/friendship.d.ts +2 -0
  55. package/dist/cjs/src/user-modules/friendship.d.ts.map +1 -1
  56. package/dist/cjs/src/user-modules/friendship.js +11 -12
  57. package/dist/cjs/src/user-modules/friendship.js.map +1 -1
  58. package/dist/cjs/src/user-modules/im-specific.d.ts +2 -0
  59. package/dist/cjs/src/user-modules/im-specific.d.ts.map +1 -1
  60. package/dist/cjs/src/user-modules/im-specific.js +1 -2
  61. package/dist/cjs/src/user-modules/im-specific.js.map +1 -1
  62. package/dist/cjs/src/user-modules/image.d.ts +22 -0
  63. package/dist/cjs/src/user-modules/image.d.ts.map +1 -1
  64. package/dist/cjs/src/user-modules/image.js +5 -6
  65. package/dist/cjs/src/user-modules/image.js.map +1 -1
  66. package/dist/cjs/src/user-modules/location.d.ts +2 -0
  67. package/dist/cjs/src/user-modules/location.d.ts.map +1 -1
  68. package/dist/cjs/src/user-modules/location.js +2 -3
  69. package/dist/cjs/src/user-modules/location.js.map +1 -1
  70. package/dist/cjs/src/user-modules/message.d.ts +2 -0
  71. package/dist/cjs/src/user-modules/message.d.ts.map +1 -1
  72. package/dist/cjs/src/user-modules/message.js +55 -55
  73. package/dist/cjs/src/user-modules/message.js.map +1 -1
  74. package/dist/cjs/src/user-modules/mini-program.d.ts +2 -0
  75. package/dist/cjs/src/user-modules/mini-program.d.ts.map +1 -1
  76. package/dist/cjs/src/user-modules/mini-program.js +2 -3
  77. package/dist/cjs/src/user-modules/mini-program.js.map +1 -1
  78. package/dist/cjs/src/user-modules/moment.d.ts +21 -0
  79. package/dist/cjs/src/user-modules/moment.d.ts.map +1 -1
  80. package/dist/cjs/src/user-modules/moment.js +5 -25
  81. package/dist/cjs/src/user-modules/moment.js.map +1 -1
  82. package/dist/cjs/src/user-modules/money.d.ts +2 -0
  83. package/dist/cjs/src/user-modules/money.d.ts.map +1 -1
  84. package/dist/cjs/src/user-modules/post.d.ts +2 -0
  85. package/dist/cjs/src/user-modules/post.d.ts.map +1 -1
  86. package/dist/cjs/src/user-modules/post.js +25 -25
  87. package/dist/cjs/src/user-modules/post.js.map +1 -1
  88. package/dist/cjs/src/user-modules/premium-online-appointment-card.d.ts +2 -0
  89. package/dist/cjs/src/user-modules/premium-online-appointment-card.d.ts.map +1 -1
  90. package/dist/cjs/src/user-modules/premium-online-appointment-card.js +2 -3
  91. package/dist/cjs/src/user-modules/premium-online-appointment-card.js.map +1 -1
  92. package/dist/cjs/src/user-modules/room-invitation.d.ts +2 -0
  93. package/dist/cjs/src/user-modules/room-invitation.d.ts.map +1 -1
  94. package/dist/cjs/src/user-modules/room-invitation.js +10 -11
  95. package/dist/cjs/src/user-modules/room-invitation.js.map +1 -1
  96. package/dist/cjs/src/user-modules/room.d.ts +2 -0
  97. package/dist/cjs/src/user-modules/room.d.ts.map +1 -1
  98. package/dist/cjs/src/user-modules/room.js +43 -43
  99. package/dist/cjs/src/user-modules/room.js.map +1 -1
  100. package/dist/cjs/src/user-modules/tag-group.d.ts +2 -0
  101. package/dist/cjs/src/user-modules/tag-group.d.ts.map +1 -1
  102. package/dist/cjs/src/user-modules/tag-group.js +13 -14
  103. package/dist/cjs/src/user-modules/tag-group.js.map +1 -1
  104. package/dist/cjs/src/user-modules/tag.d.ts +2 -0
  105. package/dist/cjs/src/user-modules/tag.d.ts.map +1 -1
  106. package/dist/cjs/src/user-modules/tag.js +21 -22
  107. package/dist/cjs/src/user-modules/tag.js.map +1 -1
  108. package/dist/cjs/src/user-modules/url-link.d.ts +2 -0
  109. package/dist/cjs/src/user-modules/url-link.d.ts.map +1 -1
  110. package/dist/cjs/src/user-modules/url-link.js +2 -3
  111. package/dist/cjs/src/user-modules/url-link.js.map +1 -1
  112. package/dist/cjs/src/user-modules/voice.d.ts +2 -0
  113. package/dist/cjs/src/user-modules/voice.d.ts.map +1 -1
  114. package/dist/cjs/src/user-modules/voice.js +8 -9
  115. package/dist/cjs/src/user-modules/voice.js.map +1 -1
  116. package/dist/cjs/src/user-modules/wecom.d.ts +3 -1
  117. package/dist/cjs/src/user-modules/wecom.d.ts.map +1 -1
  118. package/dist/cjs/src/user-modules/wecom.js +2 -3
  119. package/dist/cjs/src/user-modules/wecom.js.map +1 -1
  120. package/dist/cjs/src/user-modules/wxxd-order.d.ts +2 -0
  121. package/dist/cjs/src/user-modules/wxxd-order.d.ts.map +1 -1
  122. package/dist/cjs/src/user-modules/wxxd-order.js +9 -10
  123. package/dist/cjs/src/user-modules/wxxd-order.js.map +1 -1
  124. package/dist/cjs/src/user-modules/wxxd-product.d.ts +2 -0
  125. package/dist/cjs/src/user-modules/wxxd-product.d.ts.map +1 -1
  126. package/dist/cjs/src/user-modules/wxxd-product.js +6 -7
  127. package/dist/cjs/src/user-modules/wxxd-product.js.map +1 -1
  128. package/dist/cjs/src/wechaty/wechaty-base.d.ts +21 -37
  129. package/dist/cjs/src/wechaty/wechaty-base.d.ts.map +1 -1
  130. package/dist/cjs/src/wechaty/wechaty-base.js +17 -17
  131. package/dist/cjs/src/wechaty/wechaty-base.js.map +1 -1
  132. package/dist/cjs/src/wechaty/wechaty-skeleton.d.ts +15 -4
  133. package/dist/cjs/src/wechaty/wechaty-skeleton.d.ts.map +1 -1
  134. package/dist/cjs/src/wechaty/wechaty-skeleton.js +17 -6
  135. package/dist/cjs/src/wechaty/wechaty-skeleton.js.map +1 -1
  136. package/dist/cjs/src/wechaty-mixins/gerror-mixin.d.ts +3 -2
  137. package/dist/cjs/src/wechaty-mixins/gerror-mixin.d.ts.map +1 -1
  138. package/dist/cjs/src/wechaty-mixins/io-mixin.d.ts +12 -6
  139. package/dist/cjs/src/wechaty-mixins/io-mixin.d.ts.map +1 -1
  140. package/dist/cjs/src/wechaty-mixins/io-mixin.js +8 -8
  141. package/dist/cjs/src/wechaty-mixins/io-mixin.js.map +1 -1
  142. package/dist/cjs/src/wechaty-mixins/login-mixin.d.ts +53 -19
  143. package/dist/cjs/src/wechaty-mixins/login-mixin.d.ts.map +1 -1
  144. package/dist/cjs/src/wechaty-mixins/login-mixin.js +5 -5
  145. package/dist/cjs/src/wechaty-mixins/login-mixin.js.map +1 -1
  146. package/dist/cjs/src/wechaty-mixins/misc-mixin.d.ts +21 -10
  147. package/dist/cjs/src/wechaty-mixins/misc-mixin.d.ts.map +1 -1
  148. package/dist/cjs/src/wechaty-mixins/misc-mixin.js +1 -1
  149. package/dist/cjs/src/wechaty-mixins/misc-mixin.js.map +1 -1
  150. package/dist/cjs/src/wechaty-mixins/plugin-mixin.d.ts +18 -12
  151. package/dist/cjs/src/wechaty-mixins/plugin-mixin.d.ts.map +1 -1
  152. package/dist/cjs/src/wechaty-mixins/plugin-mixin.js +5 -5
  153. package/dist/cjs/src/wechaty-mixins/plugin-mixin.js.map +1 -1
  154. package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.d.ts +3 -0
  155. package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.d.ts.map +1 -0
  156. package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.js +121 -0
  157. package/dist/cjs/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.js.map +1 -0
  158. package/dist/cjs/src/wechaty-mixins/puppet-mixin.d.ts +16 -12
  159. package/dist/cjs/src/wechaty-mixins/puppet-mixin.d.ts.map +1 -1
  160. package/dist/cjs/src/wechaty-mixins/puppet-mixin.js +116 -64
  161. package/dist/cjs/src/wechaty-mixins/puppet-mixin.js.map +1 -1
  162. package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.d.ts +3 -2
  163. package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.d.ts.map +1 -1
  164. package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.js +4 -4
  165. package/dist/cjs/src/wechaty-mixins/wechatify-user-module-mixin.js.map +1 -1
  166. package/dist/esm/src/io.js +40 -40
  167. package/dist/esm/src/io.js.map +1 -1
  168. package/dist/esm/src/package-json.js +4 -4
  169. package/dist/esm/src/schemas/logger.d.ts +2 -0
  170. package/dist/esm/src/schemas/logger.d.ts.map +1 -0
  171. package/dist/esm/src/schemas/logger.js +2 -0
  172. package/dist/esm/src/schemas/logger.js.map +1 -0
  173. package/dist/esm/src/schemas/mod.d.ts +2 -1
  174. package/dist/esm/src/schemas/mod.d.ts.map +1 -1
  175. package/dist/esm/src/schemas/mod.js.map +1 -1
  176. package/dist/esm/src/schemas/wechaty-options.d.ts +19 -0
  177. package/dist/esm/src/schemas/wechaty-options.d.ts.map +1 -1
  178. package/dist/esm/src/user-mixins/wechatify.d.ts +23 -0
  179. package/dist/esm/src/user-mixins/wechatify.d.ts.map +1 -1
  180. package/dist/esm/src/user-mixins/wechatify.js +25 -0
  181. package/dist/esm/src/user-mixins/wechatify.js.map +1 -1
  182. package/dist/esm/src/user-modules/call.d.ts +4 -0
  183. package/dist/esm/src/user-modules/call.d.ts.map +1 -1
  184. package/dist/esm/src/user-modules/call.js +6 -7
  185. package/dist/esm/src/user-modules/call.js.map +1 -1
  186. package/dist/esm/src/user-modules/channel-card.d.ts +2 -0
  187. package/dist/esm/src/user-modules/channel-card.d.ts.map +1 -1
  188. package/dist/esm/src/user-modules/channel-card.js +2 -3
  189. package/dist/esm/src/user-modules/channel-card.js.map +1 -1
  190. package/dist/esm/src/user-modules/channel.d.ts +2 -0
  191. package/dist/esm/src/user-modules/channel.d.ts.map +1 -1
  192. package/dist/esm/src/user-modules/channel.js +2 -3
  193. package/dist/esm/src/user-modules/channel.js.map +1 -1
  194. package/dist/esm/src/user-modules/chat-history.d.ts +2 -0
  195. package/dist/esm/src/user-modules/chat-history.d.ts.map +1 -1
  196. package/dist/esm/src/user-modules/chat-history.js +2 -3
  197. package/dist/esm/src/user-modules/chat-history.js.map +1 -1
  198. package/dist/esm/src/user-modules/consult-card.d.ts +2 -0
  199. package/dist/esm/src/user-modules/consult-card.d.ts.map +1 -1
  200. package/dist/esm/src/user-modules/consult-card.js +3 -4
  201. package/dist/esm/src/user-modules/consult-card.js.map +1 -1
  202. package/dist/esm/src/user-modules/contact-self.d.ts.map +1 -1
  203. package/dist/esm/src/user-modules/contact-self.js +8 -9
  204. package/dist/esm/src/user-modules/contact-self.js.map +1 -1
  205. package/dist/esm/src/user-modules/contact.d.ts +2 -0
  206. package/dist/esm/src/user-modules/contact.d.ts.map +1 -1
  207. package/dist/esm/src/user-modules/contact.js +36 -37
  208. package/dist/esm/src/user-modules/contact.js.map +1 -1
  209. package/dist/esm/src/user-modules/delay.d.ts +2 -0
  210. package/dist/esm/src/user-modules/delay.d.ts.map +1 -1
  211. package/dist/esm/src/user-modules/douyin-one-click-phone-collection.d.ts +2 -0
  212. package/dist/esm/src/user-modules/douyin-one-click-phone-collection.d.ts.map +1 -1
  213. package/dist/esm/src/user-modules/douyin-one-click-phone-collection.js +2 -3
  214. package/dist/esm/src/user-modules/douyin-one-click-phone-collection.js.map +1 -1
  215. package/dist/esm/src/user-modules/favorite.d.ts +21 -0
  216. package/dist/esm/src/user-modules/favorite.d.ts.map +1 -1
  217. package/dist/esm/src/user-modules/favorite.js +1 -21
  218. package/dist/esm/src/user-modules/favorite.js.map +1 -1
  219. package/dist/esm/src/user-modules/friendship.d.ts +2 -0
  220. package/dist/esm/src/user-modules/friendship.d.ts.map +1 -1
  221. package/dist/esm/src/user-modules/friendship.js +11 -12
  222. package/dist/esm/src/user-modules/friendship.js.map +1 -1
  223. package/dist/esm/src/user-modules/im-specific.d.ts +2 -0
  224. package/dist/esm/src/user-modules/im-specific.d.ts.map +1 -1
  225. package/dist/esm/src/user-modules/im-specific.js +1 -2
  226. package/dist/esm/src/user-modules/im-specific.js.map +1 -1
  227. package/dist/esm/src/user-modules/image.d.ts +22 -0
  228. package/dist/esm/src/user-modules/image.d.ts.map +1 -1
  229. package/dist/esm/src/user-modules/image.js +5 -6
  230. package/dist/esm/src/user-modules/image.js.map +1 -1
  231. package/dist/esm/src/user-modules/location.d.ts +2 -0
  232. package/dist/esm/src/user-modules/location.d.ts.map +1 -1
  233. package/dist/esm/src/user-modules/location.js +2 -3
  234. package/dist/esm/src/user-modules/location.js.map +1 -1
  235. package/dist/esm/src/user-modules/message.d.ts +2 -0
  236. package/dist/esm/src/user-modules/message.d.ts.map +1 -1
  237. package/dist/esm/src/user-modules/message.js +56 -56
  238. package/dist/esm/src/user-modules/message.js.map +1 -1
  239. package/dist/esm/src/user-modules/mini-program.d.ts +2 -0
  240. package/dist/esm/src/user-modules/mini-program.d.ts.map +1 -1
  241. package/dist/esm/src/user-modules/mini-program.js +2 -3
  242. package/dist/esm/src/user-modules/mini-program.js.map +1 -1
  243. package/dist/esm/src/user-modules/moment.d.ts +21 -0
  244. package/dist/esm/src/user-modules/moment.d.ts.map +1 -1
  245. package/dist/esm/src/user-modules/moment.js +5 -25
  246. package/dist/esm/src/user-modules/moment.js.map +1 -1
  247. package/dist/esm/src/user-modules/money.d.ts +2 -0
  248. package/dist/esm/src/user-modules/money.d.ts.map +1 -1
  249. package/dist/esm/src/user-modules/post.d.ts +2 -0
  250. package/dist/esm/src/user-modules/post.d.ts.map +1 -1
  251. package/dist/esm/src/user-modules/post.js +25 -25
  252. package/dist/esm/src/user-modules/post.js.map +1 -1
  253. package/dist/esm/src/user-modules/premium-online-appointment-card.d.ts +2 -0
  254. package/dist/esm/src/user-modules/premium-online-appointment-card.d.ts.map +1 -1
  255. package/dist/esm/src/user-modules/premium-online-appointment-card.js +2 -3
  256. package/dist/esm/src/user-modules/premium-online-appointment-card.js.map +1 -1
  257. package/dist/esm/src/user-modules/room-invitation.d.ts +2 -0
  258. package/dist/esm/src/user-modules/room-invitation.d.ts.map +1 -1
  259. package/dist/esm/src/user-modules/room-invitation.js +10 -11
  260. package/dist/esm/src/user-modules/room-invitation.js.map +1 -1
  261. package/dist/esm/src/user-modules/room.d.ts +2 -0
  262. package/dist/esm/src/user-modules/room.d.ts.map +1 -1
  263. package/dist/esm/src/user-modules/room.js +44 -44
  264. package/dist/esm/src/user-modules/room.js.map +1 -1
  265. package/dist/esm/src/user-modules/tag-group.d.ts +2 -0
  266. package/dist/esm/src/user-modules/tag-group.d.ts.map +1 -1
  267. package/dist/esm/src/user-modules/tag-group.js +13 -14
  268. package/dist/esm/src/user-modules/tag-group.js.map +1 -1
  269. package/dist/esm/src/user-modules/tag.d.ts +2 -0
  270. package/dist/esm/src/user-modules/tag.d.ts.map +1 -1
  271. package/dist/esm/src/user-modules/tag.js +21 -22
  272. package/dist/esm/src/user-modules/tag.js.map +1 -1
  273. package/dist/esm/src/user-modules/url-link.d.ts +2 -0
  274. package/dist/esm/src/user-modules/url-link.d.ts.map +1 -1
  275. package/dist/esm/src/user-modules/url-link.js +2 -3
  276. package/dist/esm/src/user-modules/url-link.js.map +1 -1
  277. package/dist/esm/src/user-modules/voice.d.ts +2 -0
  278. package/dist/esm/src/user-modules/voice.d.ts.map +1 -1
  279. package/dist/esm/src/user-modules/voice.js +8 -9
  280. package/dist/esm/src/user-modules/voice.js.map +1 -1
  281. package/dist/esm/src/user-modules/wecom.d.ts +3 -1
  282. package/dist/esm/src/user-modules/wecom.d.ts.map +1 -1
  283. package/dist/esm/src/user-modules/wecom.js +2 -3
  284. package/dist/esm/src/user-modules/wecom.js.map +1 -1
  285. package/dist/esm/src/user-modules/wxxd-order.d.ts +2 -0
  286. package/dist/esm/src/user-modules/wxxd-order.d.ts.map +1 -1
  287. package/dist/esm/src/user-modules/wxxd-order.js +9 -10
  288. package/dist/esm/src/user-modules/wxxd-order.js.map +1 -1
  289. package/dist/esm/src/user-modules/wxxd-product.d.ts +2 -0
  290. package/dist/esm/src/user-modules/wxxd-product.d.ts.map +1 -1
  291. package/dist/esm/src/user-modules/wxxd-product.js +6 -7
  292. package/dist/esm/src/user-modules/wxxd-product.js.map +1 -1
  293. package/dist/esm/src/wechaty/wechaty-base.d.ts +21 -37
  294. package/dist/esm/src/wechaty/wechaty-base.d.ts.map +1 -1
  295. package/dist/esm/src/wechaty/wechaty-base.js +17 -17
  296. package/dist/esm/src/wechaty/wechaty-base.js.map +1 -1
  297. package/dist/esm/src/wechaty/wechaty-skeleton.d.ts +15 -4
  298. package/dist/esm/src/wechaty/wechaty-skeleton.d.ts.map +1 -1
  299. package/dist/esm/src/wechaty/wechaty-skeleton.js +17 -6
  300. package/dist/esm/src/wechaty/wechaty-skeleton.js.map +1 -1
  301. package/dist/esm/src/wechaty-mixins/gerror-mixin.d.ts +3 -2
  302. package/dist/esm/src/wechaty-mixins/gerror-mixin.d.ts.map +1 -1
  303. package/dist/esm/src/wechaty-mixins/io-mixin.d.ts +12 -6
  304. package/dist/esm/src/wechaty-mixins/io-mixin.d.ts.map +1 -1
  305. package/dist/esm/src/wechaty-mixins/io-mixin.js +8 -8
  306. package/dist/esm/src/wechaty-mixins/io-mixin.js.map +1 -1
  307. package/dist/esm/src/wechaty-mixins/login-mixin.d.ts +53 -19
  308. package/dist/esm/src/wechaty-mixins/login-mixin.d.ts.map +1 -1
  309. package/dist/esm/src/wechaty-mixins/login-mixin.js +5 -5
  310. package/dist/esm/src/wechaty-mixins/login-mixin.js.map +1 -1
  311. package/dist/esm/src/wechaty-mixins/misc-mixin.d.ts +21 -10
  312. package/dist/esm/src/wechaty-mixins/misc-mixin.d.ts.map +1 -1
  313. package/dist/esm/src/wechaty-mixins/misc-mixin.js +1 -1
  314. package/dist/esm/src/wechaty-mixins/misc-mixin.js.map +1 -1
  315. package/dist/esm/src/wechaty-mixins/plugin-mixin.d.ts +18 -12
  316. package/dist/esm/src/wechaty-mixins/plugin-mixin.d.ts.map +1 -1
  317. package/dist/esm/src/wechaty-mixins/plugin-mixin.js +5 -5
  318. package/dist/esm/src/wechaty-mixins/plugin-mixin.js.map +1 -1
  319. package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.d.ts +3 -0
  320. package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.d.ts.map +1 -0
  321. package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.js +96 -0
  322. package/dist/esm/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.js.map +1 -0
  323. package/dist/esm/src/wechaty-mixins/puppet-mixin.d.ts +16 -12
  324. package/dist/esm/src/wechaty-mixins/puppet-mixin.d.ts.map +1 -1
  325. package/dist/esm/src/wechaty-mixins/puppet-mixin.js +116 -64
  326. package/dist/esm/src/wechaty-mixins/puppet-mixin.js.map +1 -1
  327. package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.d.ts +3 -2
  328. package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.d.ts.map +1 -1
  329. package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.js +4 -4
  330. package/dist/esm/src/wechaty-mixins/wechatify-user-module-mixin.js.map +1 -1
  331. package/package.json +3 -3
  332. package/src/io.ts +40 -40
  333. package/src/package-json.ts +4 -4
  334. package/src/schemas/logger.ts +1 -0
  335. package/src/schemas/mod.ts +4 -0
  336. package/src/schemas/wechaty-options.ts +21 -0
  337. package/src/user-mixins/wechatify.ts +26 -0
  338. package/src/user-modules/call.ts +6 -7
  339. package/src/user-modules/channel-card.ts +2 -3
  340. package/src/user-modules/channel.ts +2 -3
  341. package/src/user-modules/chat-history.ts +2 -3
  342. package/src/user-modules/consult-card.ts +3 -5
  343. package/src/user-modules/contact-self.ts +8 -11
  344. package/src/user-modules/contact.ts +36 -40
  345. package/src/user-modules/douyin-one-click-phone-collection.ts +2 -3
  346. package/src/user-modules/favorite.ts +1 -2
  347. package/src/user-modules/friendship.ts +11 -12
  348. package/src/user-modules/im-specific.ts +1 -2
  349. package/src/user-modules/image.ts +5 -6
  350. package/src/user-modules/location.ts +2 -3
  351. package/src/user-modules/message.ts +55 -56
  352. package/src/user-modules/mini-program.ts +2 -3
  353. package/src/user-modules/moment.ts +5 -6
  354. package/src/user-modules/post.ts +25 -25
  355. package/src/user-modules/premium-online-appointment-card.ts +2 -3
  356. package/src/user-modules/room-invitation.ts +10 -11
  357. package/src/user-modules/room.ts +43 -44
  358. package/src/user-modules/tag-group.ts +13 -14
  359. package/src/user-modules/tag.ts +21 -22
  360. package/src/user-modules/url-link.ts +2 -3
  361. package/src/user-modules/voice.ts +8 -9
  362. package/src/user-modules/wecom.ts +3 -3
  363. package/src/user-modules/wxxd-order.ts +9 -10
  364. package/src/user-modules/wxxd-product.ts +6 -7
  365. package/src/wechaty/wechaty-base.ts +17 -17
  366. package/src/wechaty/wechaty-skeleton.ts +21 -8
  367. package/src/wechaty-mixins/io-mixin.ts +8 -8
  368. package/src/wechaty-mixins/login-mixin.ts +5 -5
  369. package/src/wechaty-mixins/misc-mixin.ts +1 -1
  370. package/src/wechaty-mixins/plugin-mixin.ts +5 -5
  371. package/src/wechaty-mixins/puppet-mixin-dirty-pool.spec.ts +144 -0
  372. package/src/wechaty-mixins/puppet-mixin.ts +114 -69
  373. package/src/wechaty-mixins/wechatify-user-module-mixin.ts +4 -4
@@ -135,13 +135,13 @@ class PostMixin extends wechatifyMixinBase() {
135
135
  static create (
136
136
  payload: PUPPET.payloads.PostClient,
137
137
  ): PostInterface {
138
- log.verbose('Post', 'create()')
138
+ this.log.verbose('Post', 'create()')
139
139
 
140
140
  return new this(payload)
141
141
  }
142
142
 
143
143
  static load (id: string): PostInterface {
144
- log.verbose('Post', 'static load(%s)', id)
144
+ this.log.verbose('Post', 'static load(%s)', id)
145
145
 
146
146
  /**
147
147
  * Must NOT use `Post` at here
@@ -157,7 +157,7 @@ class PostMixin extends wechatifyMixinBase() {
157
157
  static async find (
158
158
  filter: PUPPET.filters.Post,
159
159
  ): Promise<undefined | PostInterface> {
160
- log.verbose('Post', 'find(%s)',
160
+ this.log.verbose('Post', 'find(%s)',
161
161
  JSON.stringify(filter),
162
162
  )
163
163
 
@@ -181,7 +181,7 @@ class PostMixin extends wechatifyMixinBase() {
181
181
  postList : PostInterface[],
182
182
  nextPageToken? : string,
183
183
  ]> {
184
- log.verbose('Post', 'findAll(%s%s)',
184
+ this.log.verbose('Post', 'findAll(%s%s)',
185
185
  JSON.stringify(filter),
186
186
  pagination ? ', ' + JSON.stringify(pagination) : '',
187
187
  )
@@ -231,7 +231,7 @@ class PostMixin extends wechatifyMixinBase() {
231
231
  idOrPayload: string | PUPPET.payloads.Post,
232
232
  ) {
233
233
  super()
234
- log.verbose('Post', 'constructor(%s)',
234
+ this.log.verbose('Post', 'constructor(%s)',
235
235
  typeof idOrPayload === 'string'
236
236
  ? idOrPayload
237
237
  : JSON.stringify(idOrPayload.id),
@@ -255,7 +255,7 @@ class PostMixin extends wechatifyMixinBase() {
255
255
  }
256
256
 
257
257
  async author (): Promise<ContactInterface> {
258
- log.silly('Post', 'author()')
258
+ this.log.silly('Post', 'author()')
259
259
 
260
260
  if (PUPPET.payloads.isPostClient(this.payload)) {
261
261
  return this.wechaty.currentUser
@@ -269,7 +269,7 @@ class PostMixin extends wechatifyMixinBase() {
269
269
  }
270
270
 
271
271
  async root (): Promise<undefined | PostInterface> {
272
- log.silly('Post', 'root()')
272
+ this.log.silly('Post', 'root()')
273
273
 
274
274
  if (!this.payload.rootId) {
275
275
  return undefined
@@ -281,7 +281,7 @@ class PostMixin extends wechatifyMixinBase() {
281
281
  }
282
282
 
283
283
  async parent (): Promise<undefined | PostInterface> {
284
- log.silly('Post', 'parent()')
284
+ this.log.silly('Post', 'parent()')
285
285
  if (!this.payload.parentId) {
286
286
  return undefined
287
287
  }
@@ -292,7 +292,7 @@ class PostMixin extends wechatifyMixinBase() {
292
292
  }
293
293
 
294
294
  async sync (): Promise<void> {
295
- log.silly('Post', 'sync()')
295
+ this.log.silly('Post', 'sync()')
296
296
 
297
297
  if (!this.id) {
298
298
  throw new Error('no post id found')
@@ -302,7 +302,7 @@ class PostMixin extends wechatifyMixinBase() {
302
302
  }
303
303
 
304
304
  async ready (): Promise<void> {
305
- log.silly('Post', 'ready()')
305
+ this.log.silly('Post', 'ready()')
306
306
 
307
307
  if (!this.id) {
308
308
  throw new Error('no post id found')
@@ -316,7 +316,7 @@ class PostMixin extends wechatifyMixinBase() {
316
316
  }
317
317
 
318
318
  async * [Symbol.asyncIterator] (): AsyncIterableIterator<Sayable> {
319
- log.verbose('Post', '[Symbol.asyncIterator]()')
319
+ this.log.verbose('Post', '[Symbol.asyncIterator]()')
320
320
 
321
321
  const payloadToSayable = payloadToSayableWechaty(this.wechaty)
322
322
 
@@ -341,7 +341,7 @@ class PostMixin extends wechatifyMixinBase() {
341
341
  }
342
342
 
343
343
  async getSayableWithIndex (sayableIndex: number) {
344
- log.verbose('Post', 'getSayableWithIndex(%s)', sayableIndex)
344
+ this.log.verbose('Post', 'getSayableWithIndex(%s)', sayableIndex)
345
345
 
346
346
  const payloadToSayable = payloadToSayableWechaty(this.wechaty)
347
347
 
@@ -361,7 +361,7 @@ class PostMixin extends wechatifyMixinBase() {
361
361
  }
362
362
 
363
363
  async getSayableWithId (id: string) {
364
- log.verbose('Post', 'getSayableWithId(%s)', id)
364
+ this.log.verbose('Post', 'getSayableWithId(%s)', id)
365
365
 
366
366
  if (PUPPET.payloads.isPostServer(this.payload)) {
367
367
  const payloadToSayable = payloadToSayableWechaty(this.wechaty)
@@ -376,7 +376,7 @@ class PostMixin extends wechatifyMixinBase() {
376
376
  async * children (
377
377
  filter: PUPPET.filters.Post = {},
378
378
  ): AsyncIterableIterator<PostInterface> {
379
- log.verbose('Post', '*children(%s)', Object.keys(filter).length ? JSON.stringify(filter) : '')
379
+ this.log.verbose('Post', '*children(%s)', Object.keys(filter).length ? JSON.stringify(filter) : '')
380
380
 
381
381
  const pagination: PUPPET.filters.PaginationRequest = {
382
382
  pageSize: 100,
@@ -413,7 +413,7 @@ class PostMixin extends wechatifyMixinBase() {
413
413
  async * descendants (
414
414
  filter: PUPPET.filters.Post = {},
415
415
  ): AsyncIterableIterator<PostInterface> {
416
- log.verbose('Post', '*descendants(%s)', Object.keys(filter).length ? JSON.stringify(filter) : '')
416
+ this.log.verbose('Post', '*descendants(%s)', Object.keys(filter).length ? JSON.stringify(filter) : '')
417
417
 
418
418
  for await (const post of this.children(filter)) {
419
419
  yield post
@@ -424,7 +424,7 @@ class PostMixin extends wechatifyMixinBase() {
424
424
  async * likes (
425
425
  filter: PUPPET.filters.Post = {},
426
426
  ): AsyncIterableIterator<Tap> {
427
- log.verbose('Post', '*likes(%s)', Object.keys(filter).length ? JSON.stringify(filter) : '')
427
+ this.log.verbose('Post', '*likes(%s)', Object.keys(filter).length ? JSON.stringify(filter) : '')
428
428
  return this.taps({
429
429
  ...filter,
430
430
  type: PUPPET.types.Tap.Like,
@@ -434,7 +434,7 @@ class PostMixin extends wechatifyMixinBase() {
434
434
  async * taps (
435
435
  filter: PUPPET.filters.Tap = {},
436
436
  ): AsyncIterableIterator<Tap> {
437
- log.verbose('Post', '*taps(%s)', Object.keys(filter).length ? JSON.stringify(filter) : '')
437
+ this.log.verbose('Post', '*taps(%s)', Object.keys(filter).length ? JSON.stringify(filter) : '')
438
438
 
439
439
  const pagination: PUPPET.filters.PaginationRequest = {}
440
440
 
@@ -463,7 +463,7 @@ class PostMixin extends wechatifyMixinBase() {
463
463
  | Exclude<Sayable, PostInterface>
464
464
  | Exclude<Sayable, PostInterface>[],
465
465
  ): Promise<void | PostInterface> {
466
- log.verbose('Post', 'reply(%s)', sayable)
466
+ this.log.verbose('Post', 'reply(%s)', sayable)
467
467
 
468
468
  if (!this.id) {
469
469
  console.error('You can only call `reply()` on received posts, but it seems that you are trying to call reply on a post created from local.')
@@ -495,7 +495,7 @@ class PostMixin extends wechatifyMixinBase() {
495
495
  async like () : Promise<boolean>
496
496
 
497
497
  async like (status?: boolean): Promise<void | boolean> {
498
- log.verbose('Post', 'like(%s)', typeof status === 'undefined' ? '' : status)
498
+ this.log.verbose('Post', 'like(%s)', typeof status === 'undefined' ? '' : status)
499
499
 
500
500
  if (typeof status === 'undefined') {
501
501
  return this.tap(
@@ -519,7 +519,7 @@ class PostMixin extends wechatifyMixinBase() {
519
519
  type : PUPPET.types.Tap,
520
520
  status? : boolean,
521
521
  ): Promise<void | boolean> {
522
- log.verbose('Post', 'tap(%s%s)',
522
+ this.log.verbose('Post', 'tap(%s%s)',
523
523
  PUPPET.types.Tap[type],
524
524
  typeof status === 'undefined'
525
525
  ? ''
@@ -540,7 +540,7 @@ class PostMixin extends wechatifyMixinBase() {
540
540
  tapList : Tap[],
541
541
  nextPageToken? : string,
542
542
  ]> {
543
- log.verbose('Post', 'tapFind()')
543
+ this.log.verbose('Post', 'tapFind()')
544
544
 
545
545
  if (!this.id) {
546
546
  throw new Error('can not get tapFind for client created post')
@@ -560,7 +560,7 @@ class PostMixin extends wechatifyMixinBase() {
560
560
  for (const [ i, contactId ] of data.contactId.entries()) {
561
561
  const contact = await this.wechaty.Contact.find({ id: contactId })
562
562
  if (!contact) {
563
- log.warn('Post', 'tapFind() contact not found for id: %s', contactId)
563
+ this.log.warn('Post', 'tapFind() contact not found for id: %s', contactId)
564
564
  continue
565
565
  }
566
566
 
@@ -579,17 +579,17 @@ class PostMixin extends wechatifyMixinBase() {
579
579
  }
580
580
 
581
581
  location (): LocationInterface | undefined {
582
- log.verbose('Post', 'location()')
582
+ this.log.verbose('Post', 'location()')
583
583
 
584
584
  if (!this.payload.location) {
585
- log.warn('this post has no location info')
585
+ this.log.warn('this post has no location info')
586
586
  return
587
587
  }
588
588
  return new this.wechaty.Location(this.payload.location)
589
589
  }
590
590
 
591
591
  async visibleList (): Promise<ContactInterface[]> {
592
- log.verbose('Post', 'visibleList()')
592
+ this.log.verbose('Post', 'visibleList()')
593
593
 
594
594
  if (!this.payload.visibleList) {
595
595
  return []
@@ -1,7 +1,6 @@
1
1
  import type * as PUPPET from '@juzi/wechaty-puppet'
2
2
 
3
3
  import type { Constructor } from 'clone-class'
4
- import { log } from '../config.js'
5
4
 
6
5
  import { validationMixin } from '../user-mixins/validation.js'
7
6
 
@@ -14,7 +13,7 @@ class PremiumOnlineAppointmentCardMixin extends wechatifyMixinBase() {
14
13
  public readonly payload: PUPPET.payloads.PremiumOnlineAppointmentCard,
15
14
  ) {
16
15
  super()
17
- log.verbose('PremiumOnlineAppointmentCard', 'constructor()')
16
+ this.log.verbose('PremiumOnlineAppointmentCard', 'constructor()')
18
17
  }
19
18
 
20
19
  static async findAll (query: {
@@ -22,7 +21,7 @@ class PremiumOnlineAppointmentCardMixin extends wechatifyMixinBase() {
22
21
  page?: number,
23
22
  pageSize?: number
24
23
  }): Promise<PremiumOnlineAppointmentCardInterface[]> {
25
- log.verbose('PremiumOnlineAppointmentCard', 'findAll(%s)', JSON.stringify(query))
24
+ this.log.verbose('PremiumOnlineAppointmentCard', 'findAll(%s)', JSON.stringify(query))
26
25
 
27
26
  const params = {
28
27
  cardType: query.cardType || 'card',
@@ -19,7 +19,6 @@
19
19
  */
20
20
  import type * as PUPPET from '@juzi/wechaty-puppet'
21
21
 
22
- import { log } from '../config.js'
23
22
  import type { Constructor } from 'clone-class'
24
23
 
25
24
  import type {
@@ -66,7 +65,7 @@ class RoomInvitationMixin extends wechatifyMixinBase() implements Accepter {
66
65
  public readonly id: string,
67
66
  ) {
68
67
  super()
69
- log.verbose('RoomInvitation', 'constructor(id=%s)', id)
68
+ this.log.verbose('RoomInvitation', 'constructor(id=%s)', id)
70
69
  }
71
70
 
72
71
  override toString () {
@@ -110,7 +109,7 @@ class RoomInvitationMixin extends wechatifyMixinBase() implements Accepter {
110
109
  * .start()
111
110
  */
112
111
  async accept (): Promise<void> {
113
- log.verbose('RoomInvitation', 'accept()')
112
+ this.log.verbose('RoomInvitation', 'accept()')
114
113
 
115
114
  try {
116
115
  await this.wechaty.puppet.roomInvitationAccept(this.id)
@@ -118,13 +117,13 @@ class RoomInvitationMixin extends wechatifyMixinBase() implements Accepter {
118
117
  const inviter = await this.inviter()
119
118
  const topic = await this.topic()
120
119
 
121
- log.verbose('RoomInvitation', 'accept() with room(%s) & inviter(%s) ready()',
120
+ this.log.verbose('RoomInvitation', 'accept() with room(%s) & inviter(%s) ready()',
122
121
  topic,
123
122
  inviter,
124
123
  )
125
124
  } catch (e) {
126
125
  this.wechaty.emitError(e)
127
- log.warn('RoomInvitation', 'accept() rejection: %s',
126
+ this.log.warn('RoomInvitation', 'accept() rejection: %s',
128
127
  (e && (e as Error).message) || e,
129
128
  )
130
129
  }
@@ -144,7 +143,7 @@ class RoomInvitationMixin extends wechatifyMixinBase() implements Accepter {
144
143
  * .start()
145
144
  */
146
145
  async inviter (): Promise<ContactInterface> {
147
- log.verbose('RoomInvitation', 'inviter()')
146
+ this.log.verbose('RoomInvitation', 'inviter()')
148
147
 
149
148
  const payload = await this.wechaty.puppet.roomInvitationPayload(this.id)
150
149
  const inviter = await this.wechaty.Contact.find({ id: payload.inviterId })
@@ -174,7 +173,7 @@ class RoomInvitationMixin extends wechatifyMixinBase() implements Accepter {
174
173
  }
175
174
 
176
175
  async memberCount (): Promise<number> {
177
- log.verbose('RoomInvitation', 'memberCount()')
176
+ this.log.verbose('RoomInvitation', 'memberCount()')
178
177
 
179
178
  const payload = await this.wechaty.puppet.roomInvitationPayload(this.id)
180
179
 
@@ -186,7 +185,7 @@ class RoomInvitationMixin extends wechatifyMixinBase() implements Accepter {
186
185
  * @ignore
187
186
  */
188
187
  async memberList (): Promise<ContactInterface[]> {
189
- log.verbose('RoomInvitation', 'roomMemberList()')
188
+ this.log.verbose('RoomInvitation', 'roomMemberList()')
190
189
 
191
190
  const payload = await this.wechaty.puppet.roomInvitationPayload(this.id)
192
191
 
@@ -208,7 +207,7 @@ class RoomInvitationMixin extends wechatifyMixinBase() implements Accepter {
208
207
  * @returns {Promise<Date>}
209
208
  */
210
209
  async date (): Promise<Date> {
211
- log.verbose('RoomInvitation', 'date()')
210
+ this.log.verbose('RoomInvitation', 'date()')
212
211
 
213
212
  const payload = await this.wechaty.puppet.roomInvitationPayload(this.id)
214
213
  return timestampToDate(payload.timestamp)
@@ -244,7 +243,7 @@ class RoomInvitationMixin extends wechatifyMixinBase() implements Accepter {
244
243
  static async fromJSON (
245
244
  payload: string | PUPPET.payloads.RoomInvitation,
246
245
  ): Promise<RoomInvitationInterface> {
247
- log.verbose('RoomInvitation', 'fromJSON(%s)',
246
+ this.log.verbose('RoomInvitation', 'fromJSON(%s)',
248
247
  typeof payload === 'string'
249
248
  ? payload
250
249
  : JSON.stringify(payload),
@@ -273,7 +272,7 @@ class RoomInvitationMixin extends wechatifyMixinBase() implements Accepter {
273
272
  * .start()
274
273
  */
275
274
  async toJSON (): Promise<string> {
276
- log.verbose('RoomInvitation', 'toJSON()')
275
+ this.log.verbose('RoomInvitation', 'toJSON()')
277
276
  const payload = await this.wechaty.puppet.roomInvitationPayload(this.id)
278
277
  return JSON.stringify(payload)
279
278
  }
@@ -26,7 +26,6 @@ import type {
26
26
 
27
27
  import {
28
28
  FOUR_PER_EM_SPACE,
29
- log,
30
29
  } from '../config.js'
31
30
  import {
32
31
  wechatyCaptureException,
@@ -98,7 +97,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
98
97
  contactList : ContactInterface[],
99
98
  topic? : string,
100
99
  ): Promise<RoomInterface> {
101
- log.verbose('Room', 'create(%s, %s)', contactList.join(','), topic)
100
+ this.log.verbose('Room', 'create(%s, %s)', contactList.join(','), topic)
102
101
 
103
102
  // if (contactList.length < 2) {
104
103
  // throw new Error('contactList need at least 2 contact to create a new room')
@@ -112,7 +111,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
112
111
  return room
113
112
  } catch (e) {
114
113
  this.wechaty.emitError(e)
115
- log.error('Room', 'create() exception: %s', (e && (e as Error).stack) || (e as Error).message || (e as Error))
114
+ this.log.error('Room', 'create() exception: %s', (e && (e as Error).stack) || (e as Error).message || (e as Error))
116
115
  throw e
117
116
  }
118
117
  }
@@ -123,7 +122,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
123
122
  * @returns {Promise<PUPPET.types.RoomParseDynamicQRCode>}
124
123
  */
125
124
  static async parseDynamicQRCode (url: string): Promise<PUPPET.types.RoomParseDynamicQRCode> {
126
- log.info('Room', 'parseDynamicQRCode(%s)', url)
125
+ this.log.info('Room', 'parseDynamicQRCode(%s)', url)
127
126
  if (!url) {
128
127
  throw new Error('parseDynamicQRCode() url is required')
129
128
  }
@@ -158,7 +157,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
158
157
  static async findAll (
159
158
  query? : PUPPET.filters.Room,
160
159
  ): Promise<RoomInterface[]> {
161
- log.verbose('Room', 'findAll(%s)', JSON.stringify(query, stringifyFilter) || '')
160
+ this.log.verbose('Room', 'findAll(%s)', JSON.stringify(query, stringifyFilter) || '')
162
161
 
163
162
  const roomIdList = await this.wechaty.puppet.roomSearch(query)
164
163
 
@@ -222,7 +221,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
222
221
  static async find (
223
222
  query : string | PUPPET.filters.Room,
224
223
  ): Promise<undefined | RoomInterface> {
225
- log.silly('Room', 'find(%s)', JSON.stringify(query, stringifyFilter))
224
+ this.log.silly('Room', 'find(%s)', JSON.stringify(query, stringifyFilter))
226
225
 
227
226
  if (typeof query === 'string') {
228
227
  query = { topic: query }
@@ -249,7 +248,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
249
248
  }
250
249
 
251
250
  if (roomList.length > 1) {
252
- log.warn('Room', 'find() got more than one(%d) result', roomList.length)
251
+ this.log.warn('Room', 'find() got more than one(%d) result', roomList.length)
253
252
  }
254
253
 
255
254
  for (const [ idx, room ] of roomList.entries()) {
@@ -258,13 +257,13 @@ class RoomMixin extends MixinBase implements SayableSayer {
258
257
  // https://github.com/wechaty/wechaty/issues/1345
259
258
  const valid = await this.wechaty.puppet.roomValidate(room.id)
260
259
  if (valid) {
261
- log.verbose('Room', 'find() room<id=%s> is valid: return it', idx, room.id)
260
+ this.log.verbose('Room', 'find() room<id=%s> is valid: return it', idx, room.id)
262
261
  return room
263
262
  } else {
264
- log.verbose('Room', 'find() room<id=%s> is invalid: skip it', idx, room.id)
263
+ this.log.verbose('Room', 'find() room<id=%s> is invalid: skip it', idx, room.id)
265
264
  }
266
265
  }
267
- log.warn('Room', 'find() all %d rooms are invalid', roomList.length)
266
+ this.log.warn('Room', 'find() all %d rooms are invalid', roomList.length)
268
267
  return undefined
269
268
  }
270
269
 
@@ -293,7 +292,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
293
292
  opts? : { batch?: number },
294
293
  ): AsyncIterable<RoomInterface[]> {
295
294
  const batch = opts?.batch ?? 100
296
- log.verbose('Room', 'findAllIter(%s, batch=%d)', JSON.stringify(query, stringifyFilter) || '', batch)
295
+ this.log.verbose('Room', 'findAllIter(%s, batch=%d)', JSON.stringify(query, stringifyFilter) || '', batch)
297
296
 
298
297
  if (batch <= 0) {
299
298
  throw new Error(`Room.findAllIter() batch must be positive, got ${batch}`)
@@ -314,7 +313,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
314
313
  for (const id of idChunk) {
315
314
  const payload = payloadMap.get(id)
316
315
  if (!payload) {
317
- log.silly('Room', 'findAllIter() payload missing for id=%s, skip', id)
316
+ this.log.silly('Room', 'findAllIter() payload missing for id=%s, skip', id)
318
317
  continue
319
318
  }
320
319
 
@@ -326,7 +325,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
326
325
  if (roomChunk.length > 0) {
327
326
  yield roomChunk
328
327
  } else {
329
- log.warn('Room', 'findAllIter() batch all missing from payloadMap, idChunk=%j', idChunk)
328
+ this.log.warn('Room', 'findAllIter() batch all missing from payloadMap, idChunk=%j', idChunk)
330
329
  }
331
330
  }
332
331
  }
@@ -390,7 +389,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
390
389
  public readonly id: string,
391
390
  ) {
392
391
  super()
393
- log.silly('Room', `constructor(${id})`)
392
+ this.log.silly('Room', `constructor(${id})`)
394
393
  }
395
394
 
396
395
  /**
@@ -443,7 +442,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
443
442
  async ready (
444
443
  forceSync = false,
445
444
  ): Promise<void> {
446
- log.silly('Room', 'ready()')
445
+ this.log.silly('Room', 'ready()')
447
446
 
448
447
  if (!forceSync && this.isReady()) {
449
448
  return
@@ -576,7 +575,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
576
575
  ...varList : unknown[]
577
576
  ): Promise<void | MessageInterface> {
578
577
 
579
- log.verbose('Room', 'say(%s, %s)',
578
+ this.log.verbose('Room', 'say(%s, %s)',
580
579
  sayable,
581
580
  varList.join(', '),
582
581
  )
@@ -800,7 +799,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
800
799
  *
801
800
  */
802
801
  // public on (event: RoomEventName, listener: (...args: any[]) => any): this {
803
- // log.verbose('Room', 'on(%s, %s)', event, typeof listener)
802
+ // this.log.verbose('Room', 'on(%s, %s)', event, typeof listener)
804
803
 
805
804
  // super.on(event, listener) // Room is `Sayable`
806
805
  // return this
@@ -831,7 +830,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
831
830
  * }
832
831
  */
833
832
  async add (contact: ContactInterface, quoteIds?: string[]): Promise<void> {
834
- log.verbose('Room', 'add(%s)', contact)
833
+ this.log.verbose('Room', 'add(%s)', contact)
835
834
  await this.wechaty.puppet.roomAdd(this.id, contact.id, false, quoteIds)
836
835
  }
837
836
 
@@ -840,7 +839,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
840
839
  failList: ContactInterface[],
841
840
  failReasonList: string[],
842
841
  }> {
843
- log.verbose('Room', 'addV2(%s)', contacts)
842
+ this.log.verbose('Room', 'addV2(%s)', contacts)
844
843
  const contactIds = contacts.map(c => c.id)
845
844
  try {
846
845
  const result = await this.wechaty.puppet.roomAddV2(this.id, contactIds, false, quoteIds)
@@ -902,7 +901,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
902
901
  * }
903
902
  */
904
903
  async remove (contacts: ContactInterface | ContactInterface[]): Promise<void> {
905
- log.verbose('Room', 'del(%s)', contacts)
904
+ this.log.verbose('Room', 'del(%s)', contacts)
906
905
 
907
906
  let contactIds: string[]
908
907
  if (Array.isArray(contacts)) {
@@ -919,7 +918,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
919
918
  failList: ContactInterface[],
920
919
  failReasonList: string[],
921
920
  }> {
922
- log.verbose('Room', 'addV2(%s)', contacts)
921
+ this.log.verbose('Room', 'addV2(%s)', contacts)
923
922
  const contactIds = contacts.map(c => c.id)
924
923
  try {
925
924
  const result = await this.wechaty.puppet.roomDelV2(this.id, contactIds)
@@ -960,12 +959,12 @@ class RoomMixin extends MixinBase implements SayableSayer {
960
959
  * @deprecated use remove(contact) instead.
961
960
  */
962
961
  async del (contact: ContactImpl | ContactImpl[]): Promise<void> {
963
- log.warn('Room', 'del() is DEPRECATED, use remove() instead.\n%s', new Error().stack)
962
+ this.log.warn('Room', 'del() is DEPRECATED, use remove() instead.\n%s', new Error().stack)
964
963
  return this.remove(contact)
965
964
  }
966
965
 
967
966
  async dismiss (): Promise<void> {
968
- log.verbose('Room', 'dismiss()')
967
+ this.log.verbose('Room', 'dismiss()')
969
968
 
970
969
  if (!this.owner()?.self()) {
971
970
  throw new Error('you cannot dismiss a room you don\'t own')
@@ -975,7 +974,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
975
974
  }
976
975
 
977
976
  // private delLocal(contact: Contact): void {
978
- // log.verbose('Room', 'delLocal(%s)', contact)
977
+ // this.log.verbose('Room', 'delLocal(%s)', contact)
979
978
 
980
979
  // const memberIdList = this.payload && this.payload.memberIdList
981
980
  // if (memberIdList && memberIdList.length > 0) {
@@ -999,7 +998,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
999
998
  * await room.quit()
1000
999
  */
1001
1000
  async quit (): Promise<void> {
1002
- log.verbose('Room', 'quit() %s', this)
1001
+ this.log.verbose('Room', 'quit() %s', this)
1003
1002
  await this.wechaty.puppet.roomQuit(this.id)
1004
1003
  }
1005
1004
 
@@ -1038,9 +1037,9 @@ class RoomMixin extends MixinBase implements SayableSayer {
1038
1037
  * .start()
1039
1038
  */
1040
1039
  async topic (newTopic?: string): Promise<void | string> {
1041
- log.verbose('Room', 'topic(%s)', newTopic || '')
1040
+ this.log.verbose('Room', 'topic(%s)', newTopic || '')
1042
1041
  if (!this.isReady()) {
1043
- log.warn('Room', 'topic() room not ready')
1042
+ this.log.warn('Room', 'topic() room not ready')
1044
1043
  throw new Error('not ready')
1045
1044
  }
1046
1045
 
@@ -1064,7 +1063,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
1064
1063
  const future = this.wechaty.puppet
1065
1064
  .roomTopic(this.id, newTopic)
1066
1065
  .catch(e => {
1067
- log.warn('Room', 'topic(newTopic=%s) exception: %s',
1066
+ this.log.warn('Room', 'topic(newTopic=%s) exception: %s',
1068
1067
  newTopic, (e && e.message) || e,
1069
1068
  )
1070
1069
  wechatyCaptureException(e)
@@ -1103,7 +1102,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
1103
1102
  * console.log(`room announce change from ${oldAnnounce} to ${room.announce()}`)
1104
1103
  */
1105
1104
  async announce (text?: string): Promise<void | string> {
1106
- log.verbose('Room', 'announce(%s)',
1105
+ this.log.verbose('Room', 'announce(%s)',
1107
1106
  typeof text === 'undefined'
1108
1107
  ? ''
1109
1108
  : `"${text || ''}"`,
@@ -1125,7 +1124,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
1125
1124
  * @returns {Promise<string>}
1126
1125
  */
1127
1126
  async qrCode (): Promise<string> {
1128
- log.verbose('Room', 'qrCode()')
1127
+ this.log.verbose('Room', 'qrCode()')
1129
1128
  const qrcodeValue = await this.wechaty.puppet.roomQRCode(this.id)
1130
1129
  return guardQrCodeValue(qrcodeValue)
1131
1130
  }
@@ -1201,7 +1200,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
1201
1200
  }
1202
1201
  } catch (e) {
1203
1202
  this.wechaty.emitError(e)
1204
- log.error('Room', 'readMark() exception: %s', (e as Error).message)
1203
+ this.log.error('Room', 'readMark() exception: %s', (e as Error).message)
1205
1204
  }
1206
1205
  }
1207
1206
 
@@ -1210,7 +1209,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
1210
1209
  await this.wechaty.puppet.endConversation(this.id)
1211
1210
  } catch (e) {
1212
1211
  this.wechaty.emitError(e)
1213
- log.error('Room', 'endConversation() exception: %s', (e as Error).message)
1212
+ this.log.error('Room', 'endConversation() exception: %s', (e as Error).message)
1214
1213
  }
1215
1214
  }
1216
1215
 
@@ -1278,7 +1277,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
1278
1277
  async memberAll (
1279
1278
  query?: string | PUPPET.filters.RoomMember,
1280
1279
  ): Promise<ContactInterface[]> {
1281
- log.silly('Room', 'memberAll(%s)',
1280
+ this.log.silly('Room', 'memberAll(%s)',
1282
1281
  JSON.stringify(query) || '',
1283
1282
  )
1284
1283
 
@@ -1326,7 +1325,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
1326
1325
  async member (
1327
1326
  queryArg: string | PUPPET.filters.RoomMember,
1328
1327
  ): Promise<undefined | ContactInterface> {
1329
- log.verbose('Room', 'member(%s)', JSON.stringify(queryArg))
1328
+ this.log.verbose('Room', 'member(%s)', JSON.stringify(queryArg))
1330
1329
 
1331
1330
  let memberList: ContactInterface[]
1332
1331
  // ISSUE #622
@@ -1342,7 +1341,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
1342
1341
  }
1343
1342
 
1344
1343
  if (memberList.length > 1) {
1345
- log.warn('Room', 'member(%s) get %d contacts, use the first one by default', JSON.stringify(queryArg), memberList.length)
1344
+ this.log.warn('Room', 'member(%s) get %d contacts, use the first one by default', JSON.stringify(queryArg), memberList.length)
1346
1345
  }
1347
1346
  return memberList[0]!
1348
1347
  }
@@ -1359,12 +1358,12 @@ class RoomMixin extends MixinBase implements SayableSayer {
1359
1358
  * await room.memberList()
1360
1359
  */
1361
1360
  protected async memberList (): Promise<ContactInterface[]> {
1362
- log.verbose('Room', 'memberList()')
1361
+ this.log.verbose('Room', 'memberList()')
1363
1362
 
1364
1363
  const memberIdList = await this.wechaty.puppet.roomMemberList(this.id)
1365
1364
 
1366
1365
  // if (!memberIdList) {
1367
- // log.warn('Room', 'memberList() not ready')
1366
+ // this.log.warn('Room', 'memberList() not ready')
1368
1367
  // return []
1369
1368
  // }
1370
1369
 
@@ -1382,7 +1381,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
1382
1381
  * const owner = room.owner()
1383
1382
  */
1384
1383
  owner (): undefined | ContactInterface {
1385
- log.verbose('Room', 'owner()')
1384
+ this.log.verbose('Room', 'owner()')
1386
1385
 
1387
1386
  const ownerId = this.payload && this.payload.ownerId
1388
1387
  if (!ownerId) {
@@ -1402,10 +1401,10 @@ class RoomMixin extends MixinBase implements SayableSayer {
1402
1401
  * const adminList = room.adminList()
1403
1402
  */
1404
1403
  async adminList (): Promise<ContactInterface[]> {
1405
- log.verbose('Room', 'adminList()')
1404
+ this.log.verbose('Room', 'adminList()')
1406
1405
 
1407
1406
  if (!this.isReady()) {
1408
- log.warn('Room', 'adminList() room not ready')
1407
+ this.log.warn('Room', 'adminList() room not ready')
1409
1408
  return []
1410
1409
  }
1411
1410
 
@@ -1428,7 +1427,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
1428
1427
  async avatar (): Promise<FileBoxInterface>
1429
1428
  async avatar (avatar: FileBoxInterface): Promise<void>
1430
1429
  async avatar (avatar?: FileBoxInterface): Promise<FileBoxInterface | void> {
1431
- log.verbose('Room', 'avatar()')
1430
+ this.log.verbose('Room', 'avatar()')
1432
1431
 
1433
1432
  if (!avatar && this.payload?.avatar) {
1434
1433
  return FileBox.fromUrl(this.payload.avatar)
@@ -1443,7 +1442,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
1443
1442
  try {
1444
1443
  additionalInfoObj = JSON.parse(this.payload.additionalInfo)
1445
1444
  } catch (e) {
1446
- log.warn('Room', 'additionalInfo() parse failed, additionalInfo: %s', this.payload.additionalInfo)
1445
+ this.log.warn('Room', 'additionalInfo() parse failed, additionalInfo: %s', this.payload.additionalInfo)
1447
1446
  }
1448
1447
  }
1449
1448
  return additionalInfoObj
@@ -1464,12 +1463,12 @@ class RoomMixin extends MixinBase implements SayableSayer {
1464
1463
  }
1465
1464
 
1466
1465
  async addAdmins (contactList: ContactInterface[]): Promise<void> {
1467
- log.verbose('Room', 'addAdmins(%s)', contactList)
1466
+ this.log.verbose('Room', 'addAdmins(%s)', contactList)
1468
1467
  await this.wechaty.puppet.roomAddAdmins(this.id, contactList.map(c => c.id))
1469
1468
  }
1470
1469
 
1471
1470
  async delAdmins (contactList: ContactInterface[]): Promise<void> {
1472
- log.verbose('Room', 'delAdmins(%s)', contactList)
1471
+ this.log.verbose('Room', 'delAdmins(%s)', contactList)
1473
1472
  await this.wechaty.puppet.roomDelAdmins(this.id, contactList.map(c => c.id))
1474
1473
  }
1475
1474