@juzi/wechaty 1.0.7 → 1.0.10

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 (108) hide show
  1. package/dist/cjs/src/config.spec.js +3 -3
  2. package/dist/cjs/src/config.spec.js.map +1 -1
  3. package/dist/cjs/src/mods/mod.d.ts +3 -3
  4. package/dist/cjs/src/mods/mod.d.ts.map +1 -1
  5. package/dist/cjs/src/mods/mod.js +3 -3
  6. package/dist/cjs/src/mods/mod.js.map +1 -1
  7. package/dist/cjs/src/package-json.d.ts.map +1 -1
  8. package/dist/cjs/src/package-json.js +6 -8
  9. package/dist/cjs/src/package-json.js.map +1 -1
  10. package/dist/cjs/src/plugin.spec.js +1 -1
  11. package/dist/cjs/src/plugin.spec.js.map +1 -1
  12. package/dist/cjs/src/puppet-config.d.ts +2 -1
  13. package/dist/cjs/src/puppet-config.d.ts.map +1 -1
  14. package/dist/cjs/src/puppet-config.js +3 -2
  15. package/dist/cjs/src/puppet-config.js.map +1 -1
  16. package/dist/cjs/src/user-modules/contact.d.ts +1 -0
  17. package/dist/cjs/src/user-modules/contact.d.ts.map +1 -1
  18. package/dist/cjs/src/user-modules/contact.js +12 -0
  19. package/dist/cjs/src/user-modules/contact.js.map +1 -1
  20. package/dist/cjs/src/user-modules/contact.spec.js +8 -2
  21. package/dist/cjs/src/user-modules/contact.spec.js.map +1 -1
  22. package/dist/cjs/src/user-modules/message.d.ts +1 -0
  23. package/dist/cjs/src/user-modules/message.d.ts.map +1 -1
  24. package/dist/cjs/src/user-modules/message.js +16 -1
  25. package/dist/cjs/src/user-modules/message.js.map +1 -1
  26. package/dist/cjs/src/user-modules/message.spec.js +1 -1
  27. package/dist/cjs/src/user-modules/message.spec.js.map +1 -1
  28. package/dist/cjs/src/user-modules/post.spec.js +1 -1
  29. package/dist/cjs/src/user-modules/post.spec.js.map +1 -1
  30. package/dist/cjs/src/user-modules/room.d.ts +1 -0
  31. package/dist/cjs/src/user-modules/room.d.ts.map +1 -1
  32. package/dist/cjs/src/user-modules/room.js +14 -1
  33. package/dist/cjs/src/user-modules/room.js.map +1 -1
  34. package/dist/cjs/src/user-modules/room.spec.js +13 -1
  35. package/dist/cjs/src/user-modules/room.spec.js.map +1 -1
  36. package/dist/cjs/src/wechaty/wechaty-base.spec.js +2 -2
  37. package/dist/cjs/src/wechaty/wechaty-base.spec.js.map +1 -1
  38. package/dist/cjs/src/wechaty/wechaty-impl.spec.js +1 -1
  39. package/dist/cjs/src/wechaty/wechaty-impl.spec.js.map +1 -1
  40. package/dist/cjs/src/wechaty-builder.spec.js +3 -3
  41. package/dist/cjs/src/wechaty-builder.spec.js.map +1 -1
  42. package/dist/cjs/src/wechaty-mixins/plugin-mixin.spec.js +1 -1
  43. package/dist/cjs/src/wechaty-mixins/plugin-mixin.spec.js.map +1 -1
  44. package/dist/cjs/src/wechaty-mixins/puppet-mixin.js +1 -1
  45. package/dist/cjs/src/wechaty-mixins/puppet-mixin.js.map +1 -1
  46. package/dist/esm/src/config.spec.js +3 -3
  47. package/dist/esm/src/config.spec.js.map +1 -1
  48. package/dist/esm/src/mods/mod.d.ts +3 -3
  49. package/dist/esm/src/mods/mod.d.ts.map +1 -1
  50. package/dist/esm/src/mods/mod.js +3 -3
  51. package/dist/esm/src/mods/mod.js.map +1 -1
  52. package/dist/esm/src/package-json.d.ts.map +1 -1
  53. package/dist/esm/src/package-json.js +6 -8
  54. package/dist/esm/src/package-json.js.map +1 -1
  55. package/dist/esm/src/plugin.spec.js +1 -1
  56. package/dist/esm/src/plugin.spec.js.map +1 -1
  57. package/dist/esm/src/puppet-config.d.ts +2 -1
  58. package/dist/esm/src/puppet-config.d.ts.map +1 -1
  59. package/dist/esm/src/puppet-config.js +3 -2
  60. package/dist/esm/src/puppet-config.js.map +1 -1
  61. package/dist/esm/src/user-modules/contact.d.ts +1 -0
  62. package/dist/esm/src/user-modules/contact.d.ts.map +1 -1
  63. package/dist/esm/src/user-modules/contact.js +12 -0
  64. package/dist/esm/src/user-modules/contact.js.map +1 -1
  65. package/dist/esm/src/user-modules/contact.spec.js +8 -2
  66. package/dist/esm/src/user-modules/contact.spec.js.map +1 -1
  67. package/dist/esm/src/user-modules/message.d.ts +1 -0
  68. package/dist/esm/src/user-modules/message.d.ts.map +1 -1
  69. package/dist/esm/src/user-modules/message.js +16 -1
  70. package/dist/esm/src/user-modules/message.js.map +1 -1
  71. package/dist/esm/src/user-modules/message.spec.js +1 -1
  72. package/dist/esm/src/user-modules/message.spec.js.map +1 -1
  73. package/dist/esm/src/user-modules/post.spec.js +1 -1
  74. package/dist/esm/src/user-modules/post.spec.js.map +1 -1
  75. package/dist/esm/src/user-modules/room.d.ts +1 -0
  76. package/dist/esm/src/user-modules/room.d.ts.map +1 -1
  77. package/dist/esm/src/user-modules/room.js +14 -1
  78. package/dist/esm/src/user-modules/room.js.map +1 -1
  79. package/dist/esm/src/user-modules/room.spec.js +13 -1
  80. package/dist/esm/src/user-modules/room.spec.js.map +1 -1
  81. package/dist/esm/src/wechaty/wechaty-base.spec.js +2 -2
  82. package/dist/esm/src/wechaty/wechaty-base.spec.js.map +1 -1
  83. package/dist/esm/src/wechaty/wechaty-impl.spec.js +1 -1
  84. package/dist/esm/src/wechaty/wechaty-impl.spec.js.map +1 -1
  85. package/dist/esm/src/wechaty-builder.spec.js +3 -3
  86. package/dist/esm/src/wechaty-builder.spec.js.map +1 -1
  87. package/dist/esm/src/wechaty-mixins/plugin-mixin.spec.js +1 -1
  88. package/dist/esm/src/wechaty-mixins/plugin-mixin.spec.js.map +1 -1
  89. package/dist/esm/src/wechaty-mixins/puppet-mixin.js +1 -1
  90. package/dist/esm/src/wechaty-mixins/puppet-mixin.js.map +1 -1
  91. package/package.json +5 -7
  92. package/src/config.spec.ts +3 -3
  93. package/src/mods/mod.ts +3 -3
  94. package/src/package-json.ts +6 -8
  95. package/src/plugin.spec.ts +1 -1
  96. package/src/puppet-config.ts +2 -1
  97. package/src/user-modules/contact.spec.ts +8 -2
  98. package/src/user-modules/contact.ts +12 -0
  99. package/src/user-modules/message.spec.ts +1 -1
  100. package/src/user-modules/message.ts +19 -1
  101. package/src/user-modules/post.spec.ts +1 -1
  102. package/src/user-modules/room.spec.ts +16 -2
  103. package/src/user-modules/room.ts +14 -1
  104. package/src/wechaty/wechaty-base.spec.ts +2 -2
  105. package/src/wechaty/wechaty-impl.spec.ts +1 -1
  106. package/src/wechaty-builder.spec.ts +3 -3
  107. package/src/wechaty-mixins/plugin-mixin.spec.ts +1 -1
  108. package/src/wechaty-mixins/puppet-mixin.ts +1 -1
@@ -24,7 +24,7 @@ import {
24
24
  } from 'tstest'
25
25
 
26
26
  import type * as PUPPET from '@juzi/wechaty-puppet'
27
- import { PuppetMock } from 'wechaty-puppet-mock'
27
+ import { PuppetMock } from '@juzi/wechaty-puppet-mock'
28
28
 
29
29
  import { WechatyBuilder } from '../wechaty-builder.js'
30
30
  import type {
@@ -45,6 +45,7 @@ test('findAll()', async t => {
45
45
  await wechaty.start()
46
46
 
47
47
  sandbox.stub(puppet, 'roomSearch').resolves(EXPECTED_ROOM_ID_LIST)
48
+ sandbox.stub(puppet, 'roomMemberList').resolves([])
48
49
  sandbox.stub(puppet, 'roomPayload').callsFake(async () => {
49
50
  await new Promise(resolve => setImmediate(resolve))
50
51
  return {
@@ -64,7 +65,7 @@ test('room.say() smoke testing', async () => {
64
65
  const sandbox = sinon.createSandbox()
65
66
  const callback = sinon.spy()
66
67
 
67
- const puppet = new PuppetMock() as any
68
+ const puppet = new PuppetMock()
68
69
  const wechaty = WechatyBuilder.build({ puppet })
69
70
 
70
71
  const bot = puppet.mocker.createContact()
@@ -74,6 +75,10 @@ test('room.say() smoke testing', async () => {
74
75
 
75
76
  const EXPECTED_ROOM_ID = 'roomId'
76
77
  const EXPECTED_ROOM_TOPIC = 'test-topic'
78
+ const EXPECTED_ROOM_ADDITIONAL_INFO = {
79
+ subjectA: 'A',
80
+ subjectB: 'B',
81
+ }
77
82
  const EXPECTED_CONTACT_1_ID = 'contact1'
78
83
  const EXPECTED_CONTACT_1_ALIAS = 'little1'
79
84
  const EXPECTED_CONTACT_2_ID = 'contact2'
@@ -93,6 +98,7 @@ test('room.say() smoke testing', async () => {
93
98
  await new Promise(resolve => setImmediate(resolve))
94
99
  return {
95
100
  topic: EXPECTED_ROOM_TOPIC,
101
+ additionalInfo: JSON.stringify(EXPECTED_ROOM_ADDITIONAL_INFO),
96
102
  } as PUPPET.payloads.Room
97
103
  })
98
104
  sandbox.stub(puppet, 'contactPayload').callsFake(async (contactId) => {
@@ -103,6 +109,7 @@ test('room.say() smoke testing', async () => {
103
109
  })
104
110
  // sandbox.spy(puppet, 'messageSendText')
105
111
  sandbox.stub(puppet, 'messageSendText').callsFake(callback)
112
+ sandbox.stub(puppet, 'roomMemberList').resolves([])
106
113
 
107
114
  const fakeIdSearcher = async (...args: any[]) => {
108
115
  await new Promise(setImmediate)
@@ -122,6 +129,13 @@ test('room.say() smoke testing', async () => {
122
129
  // await contact2.sync()
123
130
  // await room.sync()
124
131
 
132
+ test('room additional info', async t => {
133
+ callback.resetHistory()
134
+ const additionalInfo = room.additionalInfo()
135
+
136
+ t.same(additionalInfo, EXPECTED_ROOM_ADDITIONAL_INFO, 'additional info should be matched')
137
+ })
138
+
125
139
  test('say with Tagged Template', async t => {
126
140
  callback.resetHistory()
127
141
  await room.say`To be ${contact1} or not to be ${contact2}`
@@ -300,7 +300,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
300
300
  */
301
301
  async sync (): Promise<void> {
302
302
  await this.wechaty.puppet.roomPayloadDirty(this.id)
303
- await this.wechaty.puppet.roomMemberPayloadDirty(this.id)
303
+ // await this.wechaty.puppet.roomMemberPayloadDirty(this.id)
304
304
  await this.ready(true)
305
305
  }
306
306
 
@@ -330,6 +330,7 @@ class RoomMixin extends MixinBase implements SayableSayer {
330
330
 
331
331
  const doReady = async (id: string): Promise<void> => {
332
332
  try {
333
+ await this.wechaty.puppet.roomMemberPayloadDirty(id)
333
334
  await this.wechaty.Contact.find({ id })
334
335
  } catch (e) {
335
336
  this.wechaty.emitError(e)
@@ -1155,6 +1156,18 @@ class RoomMixin extends MixinBase implements SayableSayer {
1155
1156
  return this.wechaty.puppet.roomAvatar(this.id)
1156
1157
  }
1157
1158
 
1159
+ additionalInfo (): undefined | any {
1160
+ let additionalInfoObj = {}
1161
+ if (this.payload?.additionalInfo) {
1162
+ try {
1163
+ additionalInfoObj = JSON.parse(this.payload.additionalInfo)
1164
+ } catch (e) {
1165
+ log.warn('Room', 'additionalInfo() parse failed, additionalInfo: %s', this.payload.additionalInfo)
1166
+ }
1167
+ }
1168
+ return additionalInfoObj
1169
+ }
1170
+
1158
1171
  }
1159
1172
 
1160
1173
  class RoomImpl extends validationMixin(RoomMixin)<RoomImplInterface>() {}
@@ -24,7 +24,7 @@ import {
24
24
  } from 'tstest'
25
25
 
26
26
  import { MemoryCard } from 'memory-card'
27
- import { PuppetMock } from 'wechaty-puppet-mock'
27
+ import { PuppetMock } from '@juzi/wechaty-puppet-mock'
28
28
 
29
29
  /**
30
30
  * Huan(202111): must import `./wechaty-impl.js`
@@ -59,7 +59,7 @@ test('static VERSION', async t => {
59
59
  })
60
60
 
61
61
  test('event:start/stop', async t => {
62
- const wechaty = new WechatyBase({ puppet: 'wechaty-puppet-mock' })
62
+ const wechaty = new WechatyBase({ puppet: '@juzi/wechaty-puppet-mock' })
63
63
 
64
64
  const startSpy = sinon.spy()
65
65
  const stopSpy = sinon.spy()
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env -S node --no-warnings --loader ts-node/esm
2
2
  import { test } from 'tstest'
3
- import PuppetMock from 'wechaty-puppet-mock'
3
+ import PuppetMock from '@juzi/wechaty-puppet-mock'
4
4
 
5
5
  import { WechatyEventEmitter } from '../schemas/wechaty-events.js'
6
6
 
@@ -21,7 +21,7 @@
21
21
 
22
22
  import { test } from 'tstest'
23
23
 
24
- import { PuppetMock } from 'wechaty-puppet-mock'
24
+ import { PuppetMock } from '@juzi/wechaty-puppet-mock'
25
25
 
26
26
  import { WechatyBuilder } from './wechaty-builder.js'
27
27
 
@@ -34,7 +34,7 @@ test('WechatyBuilder class', async t => {
34
34
  const singleton2 = WechatyBuilder.singleton()
35
35
  t.equal(singleton1, singleton2, 'should get the same singleton instance')
36
36
 
37
- const wechaty = WechatyBuilder.build({ puppet: 'wechaty-puppet-mock' })
37
+ const wechaty = WechatyBuilder.build({ puppet: '@juzi/wechaty-puppet-mock' })
38
38
  await wechaty.start()
39
39
  t.ok(PuppetMock.validInstance(wechaty.puppet), 'should set options.puppet to mock')
40
40
  await wechaty.stop()
@@ -72,7 +72,7 @@ test('WechatyBuilder class static', async t => {
72
72
  const singleton2 = WechatyBuilder.singleton()
73
73
  t.equal(singleton1, singleton2, 'should get the same singleton instance')
74
74
 
75
- const wechaty = WechatyBuilder.build({ puppet: 'wechaty-puppet-mock' })
75
+ const wechaty = WechatyBuilder.build({ puppet: '@juzi/wechaty-puppet-mock' })
76
76
  await wechaty.start()
77
77
  t.ok(PuppetMock.validInstance(wechaty.puppet), 'should set options.puppet to mock')
78
78
  await wechaty.stop()
@@ -70,7 +70,7 @@ test('PluginMixin smoke testing', async t => {
70
70
  return () => wechaty.counter--
71
71
  }
72
72
 
73
- const pluginMixinTest = new PluginMixinTest({ puppet: 'wechaty-puppet-mock' })
73
+ const pluginMixinTest = new PluginMixinTest({ puppet: '@juzi/wechaty-puppet-mock' })
74
74
  let future
75
75
 
76
76
  const unuse = pluginMixinTest.use(Plugin)
@@ -387,7 +387,7 @@ const puppetMixin = <MixinBase extends WechatifyUserModuleMixin & GErrorMixin &
387
387
  // issue #254
388
388
  if (payload.removeeIdList.includes(puppet.currentUserId)) {
389
389
  await puppet.roomPayloadDirty(payload.roomId)
390
- await puppet.roomMemberPayloadDirty(payload.roomId)
390
+ // await puppet.roomMemberPayloadDirty(payload.roomId)
391
391
  }
392
392
  } catch (e) {
393
393
  this.emit('error', GError.from(e))