@juzi/wechaty-puppet-service 1.0.108 → 1.0.109
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/src/client/puppet-service.d.ts +2 -0
- package/dist/cjs/src/client/puppet-service.d.ts.map +1 -1
- package/dist/cjs/src/client/puppet-service.js +24 -0
- package/dist/cjs/src/client/puppet-service.js.map +1 -1
- package/dist/cjs/src/package-json.js +3 -3
- package/dist/cjs/src/server/puppet-implementation.d.ts.map +1 -1
- package/dist/cjs/src/server/puppet-implementation.js +36 -0
- package/dist/cjs/src/server/puppet-implementation.js.map +1 -1
- package/dist/cjs/src/utils/pb-payload-helper.d.ts +2 -0
- package/dist/cjs/src/utils/pb-payload-helper.d.ts.map +1 -1
- package/dist/cjs/src/utils/pb-payload-helper.js +40 -7
- package/dist/cjs/src/utils/pb-payload-helper.js.map +1 -1
- package/dist/esm/src/client/puppet-service.d.ts +2 -0
- package/dist/esm/src/client/puppet-service.d.ts.map +1 -1
- package/dist/esm/src/client/puppet-service.js +25 -1
- package/dist/esm/src/client/puppet-service.js.map +1 -1
- package/dist/esm/src/package-json.js +3 -3
- package/dist/esm/src/server/puppet-implementation.d.ts.map +1 -1
- package/dist/esm/src/server/puppet-implementation.js +37 -1
- package/dist/esm/src/server/puppet-implementation.js.map +1 -1
- package/dist/esm/src/utils/pb-payload-helper.d.ts +2 -0
- package/dist/esm/src/utils/pb-payload-helper.d.ts.map +1 -1
- package/dist/esm/src/utils/pb-payload-helper.js +37 -6
- package/dist/esm/src/utils/pb-payload-helper.js.map +1 -1
- package/package.json +3 -3
- package/src/client/puppet-service.ts +46 -1
- package/src/package-json.ts +3 -3
- package/src/server/puppet-implementation.ts +51 -1
- package/src/utils/pb-payload-helper.ts +27 -2
|
@@ -50,7 +50,7 @@ import { packageJson } from '../package-json.js'
|
|
|
50
50
|
|
|
51
51
|
import { GrpcManager } from './grpc-manager.js'
|
|
52
52
|
import { PayloadStore } from './payload-store.js'
|
|
53
|
-
import { OptionalBooleanUnwrapper, OptionalBooleanWrapper, callRecordPbToPayload, channelPayloadToPb, channelPbToPayload, chatHistoryPbToPayload, contactPbToPayload, postPayloadToPb, roomMemberPbToPayload, urlLinkPbToPayload } from '../utils/pb-payload-helper.js'
|
|
53
|
+
import { OptionalBooleanUnwrapper, OptionalBooleanWrapper, callRecordPbToPayload, channelPayloadToPb, channelPbToPayload, chatHistoryPbToPayload, contactPbToPayload, postPayloadToPb, roomMemberPbToPayload, urlLinkPbToPayload, channelCardPayloadToPb, channelCardPbToPayload } from '../utils/pb-payload-helper.js'
|
|
54
54
|
import type { MessageBroadcastTargets } from '@juzi/wechaty-puppet/dist/esm/src/schemas/message.js'
|
|
55
55
|
import { timeoutPromise } from 'gerror'
|
|
56
56
|
import { BooleanIndicator } from 'state-switch'
|
|
@@ -1075,6 +1075,24 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1075
1075
|
return payload
|
|
1076
1076
|
}
|
|
1077
1077
|
|
|
1078
|
+
override async messageChannelCard (
|
|
1079
|
+
messageId: string,
|
|
1080
|
+
): Promise<PUPPET.payloads.ChannelCard> {
|
|
1081
|
+
log.verbose('PuppetService', 'messageChannelCard(%s)', messageId)
|
|
1082
|
+
|
|
1083
|
+
const request = new grpcPuppet.MessageChannelCardRequest()
|
|
1084
|
+
request.setId(messageId)
|
|
1085
|
+
|
|
1086
|
+
const response = await util.promisify(
|
|
1087
|
+
this.grpcManager.client.messageChannelCard
|
|
1088
|
+
.bind(this.grpcManager.client),
|
|
1089
|
+
)(request)
|
|
1090
|
+
|
|
1091
|
+
const payload = channelCardPbToPayload(response.getChannelCard()!)
|
|
1092
|
+
|
|
1093
|
+
return payload
|
|
1094
|
+
}
|
|
1095
|
+
|
|
1078
1096
|
override async messageCallRecord (
|
|
1079
1097
|
messageId: string,
|
|
1080
1098
|
): Promise<PUPPET.payloads.CallRecord> {
|
|
@@ -1220,6 +1238,33 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1220
1238
|
}
|
|
1221
1239
|
}
|
|
1222
1240
|
|
|
1241
|
+
override async messageSendChannelCard (
|
|
1242
|
+
conversationId: string,
|
|
1243
|
+
channelCardPayload: PUPPET.payloads.ChannelCard,
|
|
1244
|
+
): Promise<void | string> {
|
|
1245
|
+
log.verbose('PuppetService', 'messageSendChannelCard(%s, "%s")', conversationId, JSON.stringify(channelCardPayload))
|
|
1246
|
+
|
|
1247
|
+
const request = new grpcPuppet.MessageSendChannelCardRequest()
|
|
1248
|
+
request.setConversationId(conversationId)
|
|
1249
|
+
|
|
1250
|
+
const pbChannelCardPayload = channelCardPayloadToPb(grpcPuppet, channelCardPayload)
|
|
1251
|
+
|
|
1252
|
+
request.setChannelCard(pbChannelCardPayload)
|
|
1253
|
+
|
|
1254
|
+
log.info('PuppetService', `messageSendChannelCard(${conversationId}, ${channelCardPayload.nickname}) about to call grpc`)
|
|
1255
|
+
const response = await util.promisify(
|
|
1256
|
+
this.grpcManager.client.messageSendChannelCard
|
|
1257
|
+
.bind(this.grpcManager.client),
|
|
1258
|
+
)(request)
|
|
1259
|
+
|
|
1260
|
+
const messageId = response.getId()
|
|
1261
|
+
log.info('PuppetService', `messageSendChannelCard(${conversationId}, ${channelCardPayload.nickname}) grpc called, messageId: ${messageId}`)
|
|
1262
|
+
|
|
1263
|
+
if (messageId) {
|
|
1264
|
+
return messageId
|
|
1265
|
+
}
|
|
1266
|
+
}
|
|
1267
|
+
|
|
1223
1268
|
override async messageRecall (
|
|
1224
1269
|
messageId: string,
|
|
1225
1270
|
): Promise<boolean> {
|
package/src/package-json.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import type { PackageJson } from 'type-fest'
|
|
5
5
|
export const packageJson: PackageJson = {
|
|
6
6
|
"name": "@juzi/wechaty-puppet-service",
|
|
7
|
-
"version": "1.0.
|
|
7
|
+
"version": "1.0.109",
|
|
8
8
|
"description": "Puppet Service for Wechaty",
|
|
9
9
|
"type": "module",
|
|
10
10
|
"exports": {
|
|
@@ -55,7 +55,7 @@ export const packageJson: PackageJson = {
|
|
|
55
55
|
"@chatie/eslint-config": "^1.0.4",
|
|
56
56
|
"@chatie/semver": "^0.4.7",
|
|
57
57
|
"@chatie/tsconfig": "^4.6.3",
|
|
58
|
-
"@juzi/wechaty-puppet": "^1.0.
|
|
58
|
+
"@juzi/wechaty-puppet": "^1.0.107",
|
|
59
59
|
"@juzi/wechaty-puppet-mock": "^1.0.1",
|
|
60
60
|
"@swc/core": "1.3.39",
|
|
61
61
|
"@types/google-protobuf": "^3.15.5",
|
|
@@ -77,7 +77,7 @@ export const packageJson: PackageJson = {
|
|
|
77
77
|
"@juzi/wechaty-puppet": "^1.0.84"
|
|
78
78
|
},
|
|
79
79
|
"dependencies": {
|
|
80
|
-
"@juzi/wechaty-grpc": "^1.0.
|
|
80
|
+
"@juzi/wechaty-grpc": "^1.0.96",
|
|
81
81
|
"clone-class": "^1.1.1",
|
|
82
82
|
"ducks": "^1.0.2",
|
|
83
83
|
"file-box": "^1.5.5",
|
|
@@ -43,7 +43,7 @@ import {
|
|
|
43
43
|
import { log } from '../config.js'
|
|
44
44
|
import { grpcError } from './grpc-error.js'
|
|
45
45
|
import { EventStreamManager } from './event-stream-manager.js'
|
|
46
|
-
import { OptionalBooleanUnwrapper, OptionalBooleanWrapper, callRecordPayloadToPb, channelPayloadToPb, chatHistoryPayloadToPb, postPbToPayload, urlLinkPayloadToPb } from '../utils/pb-payload-helper.js'
|
|
46
|
+
import { OptionalBooleanUnwrapper, OptionalBooleanWrapper, callRecordPayloadToPb, channelPayloadToPb, chatHistoryPayloadToPb, postPbToPayload, urlLinkPayloadToPb, channelCardPayloadToPb } from '../utils/pb-payload-helper.js'
|
|
47
47
|
import { TextContentType } from '@juzi/wechaty-puppet/types'
|
|
48
48
|
|
|
49
49
|
function puppetImplementation (
|
|
@@ -913,6 +913,27 @@ function puppetImplementation (
|
|
|
913
913
|
}
|
|
914
914
|
},
|
|
915
915
|
|
|
916
|
+
messageChannelCard: async (call, callback) => {
|
|
917
|
+
log.verbose('PuppetServiceImpl', 'messageChannelCard()')
|
|
918
|
+
|
|
919
|
+
try {
|
|
920
|
+
const id = call.request.getId()
|
|
921
|
+
|
|
922
|
+
const payload = await puppet.messageChannelCard(id)
|
|
923
|
+
|
|
924
|
+
const response = new grpcPuppet.MessageChannelCardResponse()
|
|
925
|
+
|
|
926
|
+
const pbChannelCardPayload = channelCardPayloadToPb(grpcPuppet, payload)
|
|
927
|
+
|
|
928
|
+
response.setChannelCard(pbChannelCardPayload)
|
|
929
|
+
|
|
930
|
+
return callback(null, response)
|
|
931
|
+
|
|
932
|
+
} catch (e) {
|
|
933
|
+
return grpcError('messageChannelCard', e, callback)
|
|
934
|
+
}
|
|
935
|
+
},
|
|
936
|
+
|
|
916
937
|
messageCallRecord: async (call, callback) => {
|
|
917
938
|
log.verbose('PuppetServiceImpl', 'messageCallRecord()')
|
|
918
939
|
|
|
@@ -1301,6 +1322,35 @@ function puppetImplementation (
|
|
|
1301
1322
|
}
|
|
1302
1323
|
},
|
|
1303
1324
|
|
|
1325
|
+
messageSendChannelCard: async (call, callback) => {
|
|
1326
|
+
log.verbose('PuppetServiceImpl', 'messageSendChannelCard()')
|
|
1327
|
+
|
|
1328
|
+
try {
|
|
1329
|
+
const conversationId = call.request.getConversationId()
|
|
1330
|
+
const pbChannelCardPayload = call.request.getChannelCard()?.toObject()
|
|
1331
|
+
|
|
1332
|
+
if (!pbChannelCardPayload) {
|
|
1333
|
+
return grpcError('messageSendChannelCard', new Error().stack, callback)
|
|
1334
|
+
}
|
|
1335
|
+
const payload: PUPPET.payloads.ChannelCard = {
|
|
1336
|
+
...pbChannelCardPayload,
|
|
1337
|
+
}
|
|
1338
|
+
|
|
1339
|
+
const messageId = await puppet.messageSendChannelCard(conversationId, payload)
|
|
1340
|
+
|
|
1341
|
+
const response = new grpcPuppet.MessageSendChannelCardResponse()
|
|
1342
|
+
|
|
1343
|
+
if (messageId) {
|
|
1344
|
+
response.setId(messageId)
|
|
1345
|
+
}
|
|
1346
|
+
|
|
1347
|
+
return callback(null, response)
|
|
1348
|
+
|
|
1349
|
+
} catch (e) {
|
|
1350
|
+
return grpcError('messageSendChannelCard', e, callback)
|
|
1351
|
+
}
|
|
1352
|
+
},
|
|
1353
|
+
|
|
1304
1354
|
messageSendPost: async (call, callback) => {
|
|
1305
1355
|
log.verbose('PuppetServiceImpl', 'messageSendPost()')
|
|
1306
1356
|
|
|
@@ -79,8 +79,6 @@ export const channelPayloadToPb = (grpcPuppet: grpcPuppet, channelPayload: PUPPE
|
|
|
79
79
|
if (channelPayload.url) { pbChannelPayload.setUrl(channelPayload.url) }
|
|
80
80
|
if (channelPayload.objectId) { pbChannelPayload.setObjectId(channelPayload.objectId) }
|
|
81
81
|
if (channelPayload.objectNonceId) { pbChannelPayload.setObjectNonceId(channelPayload.objectNonceId) }
|
|
82
|
-
if (channelPayload.authIconUrl) { pbChannelPayload.setAuthIconUrl(channelPayload.authIconUrl) }
|
|
83
|
-
if (channelPayload.authJob) { pbChannelPayload.setAuthJob(channelPayload.authJob) }
|
|
84
82
|
return pbChannelPayload
|
|
85
83
|
}
|
|
86
84
|
|
|
@@ -92,6 +90,25 @@ export const channelPbToPayload = (channelPayloadPb: puppet.ChannelPayload) => {
|
|
|
92
90
|
return channelPayload
|
|
93
91
|
}
|
|
94
92
|
|
|
93
|
+
export const channelCardPayloadToPb = (grpcPuppet: grpcPuppet, channelCardPayload: PUPPET.payloads.ChannelCard) => {
|
|
94
|
+
const pbChannelCardPayload = new grpcPuppet.ChannelCardPayload()
|
|
95
|
+
if (channelCardPayload.avatar) { pbChannelCardPayload.setAvatar(channelCardPayload.avatar) }
|
|
96
|
+
if (channelCardPayload.extras) { pbChannelCardPayload.setExtras(channelCardPayload.extras) }
|
|
97
|
+
if (channelCardPayload.nickname) { pbChannelCardPayload.setNickname(channelCardPayload.nickname) }
|
|
98
|
+
if (channelCardPayload.url) { pbChannelCardPayload.setUrl(channelCardPayload.url) }
|
|
99
|
+
if (channelCardPayload.authIconUrl) { pbChannelCardPayload.setAuthIconUrl(channelCardPayload.authIconUrl) }
|
|
100
|
+
if (channelCardPayload.authJob) { pbChannelCardPayload.setAuthJob(channelCardPayload.authJob) }
|
|
101
|
+
return pbChannelCardPayload
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
export const channelCardPbToPayload = (channelCardPayloadPb: puppet.ChannelCardPayload) => {
|
|
105
|
+
const _channelCardPayloadPb = channelCardPayloadPb.toObject()
|
|
106
|
+
const channelCardPayload: PUPPET.payloads.ChannelCard = {
|
|
107
|
+
..._channelCardPayloadPb,
|
|
108
|
+
}
|
|
109
|
+
return channelCardPayload
|
|
110
|
+
}
|
|
111
|
+
|
|
95
112
|
export const postPayloadToPb = async (grpcPuppet: grpcPuppet, payload: PUPPET.payloads.PostClient, serializeFileBox: (filebox: FileBoxInterface) => Promise<string>) => {
|
|
96
113
|
const pb = new grpcPuppet.PostPayloadClient()
|
|
97
114
|
pb.setType(payload.type || 0)
|
|
@@ -295,6 +312,9 @@ export const chatHistoryPbToPayload = (FileBoxUuid: typeof FileBox, chatHistoryP
|
|
|
295
312
|
case puppet.ChatHistoryContentType.CHAT_HISTORY:
|
|
296
313
|
message = chatHistoryPbToPayload(FileBoxUuid, chatHistoryContent.getChatHistoryList()!)
|
|
297
314
|
break
|
|
315
|
+
case puppet.ChatHistoryContentType.CHANNEL_CARD:
|
|
316
|
+
message = channelCardPbToPayload(chatHistoryContent.getChannelCard()!)
|
|
317
|
+
break
|
|
298
318
|
default:
|
|
299
319
|
throw new Error(`Invalid chat history content type: ${chatHistoryContent.getType()}`)
|
|
300
320
|
}
|
|
@@ -366,6 +386,11 @@ export const chatHistoryPayloadToPb = async (grpcPuppet: grpcPuppet, chatHistory
|
|
|
366
386
|
const pbChatHistoryPayload = await chatHistoryPayloadToPb(grpcPuppet, chatHistoryPayload.message, serializeFileBox)
|
|
367
387
|
pbChatHistoryContent.setChatHistoryList(pbChatHistoryPayload)
|
|
368
388
|
break
|
|
389
|
+
case PUPPET.types.Message.ChannelCard:
|
|
390
|
+
pbChatHistoryContent.setType(grpcPuppet.ChatHistoryContentType.CHANNEL_CARD)
|
|
391
|
+
const pbChannelCardPayload = channelCardPayloadToPb(grpcPuppet, chatHistoryPayload.message)
|
|
392
|
+
pbChatHistoryContent.setChannelCard(pbChannelCardPayload)
|
|
393
|
+
break
|
|
369
394
|
default:
|
|
370
395
|
throw new Error(`ChatHistoryContent unsupported type ${chatHistoryPayload.type}`)
|
|
371
396
|
}
|