From 2cb66c89b0623eb13228d646b20afc49fd91d037 Mon Sep 17 00:00:00 2001 From: wangjie Date: Wed, 17 Apr 2024 16:18:30 +0800 Subject: [PATCH 1/2] friendship support --- src/puppet-bridge-atorber-fused.ts | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/puppet-bridge-atorber-fused.ts b/src/puppet-bridge-atorber-fused.ts index 7326a6c..bc08b4d 100644 --- a/src/puppet-bridge-atorber-fused.ts +++ b/src/puppet-bridge-atorber-fused.ts @@ -350,6 +350,7 @@ class PuppetBridge extends PUPPET.Puppet { type = PUPPET.types.Message.Audio break case 37: + type = PUPPET.types.Message.Contact; break case 40: break @@ -551,7 +552,12 @@ class PuppetBridge extends PUPPET.Puppet { } else { this.messageStore[payload.id] = payload if (this.isReady) { - this.emit('message', { messageId: payload.id }) + if (code === 37){ + this.emit('friendship', { friendshipId: payload.id }); + }else{ + this.emit('message', { messageId: payload.id }) + } + } else { log.info('isReady is false, wait for ready...') } @@ -1414,11 +1420,14 @@ class PuppetBridge extends PUPPET.Puppet { * */ override async friendshipRawPayload (id: string): Promise { - return { id } as any + return this.messageStore[id]; } override async friendshipRawPayloadParser (rawPayload: any): Promise { - return rawPayload + rawPayload.contactId = rawPayload.text.match(/fromusername="([^"]*)"/)[1] + rawPayload.type = 2; + rawPayload.hello = rawPayload.text.match(/content="([^"]*)"/)[1] + return rawPayload; } override async friendshipSearchPhone ( From 9a0f70d348d7d1aa89f8cd29e80090d5f5933940 Mon Sep 17 00:00:00 2001 From: wangjie Date: Wed, 17 Apr 2024 16:19:46 +0800 Subject: [PATCH 2/2] friendship support --- src/puppet-bridge-atorber-fused.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/puppet-bridge-atorber-fused.ts b/src/puppet-bridge-atorber-fused.ts index bc08b4d..ea68a91 100644 --- a/src/puppet-bridge-atorber-fused.ts +++ b/src/puppet-bridge-atorber-fused.ts @@ -350,7 +350,7 @@ class PuppetBridge extends PUPPET.Puppet { type = PUPPET.types.Message.Audio break case 37: - type = PUPPET.types.Message.Contact; + type = PUPPET.types.Message.Contact break case 40: break @@ -552,9 +552,9 @@ class PuppetBridge extends PUPPET.Puppet { } else { this.messageStore[payload.id] = payload if (this.isReady) { - if (code === 37){ - this.emit('friendship', { friendshipId: payload.id }); - }else{ + if (code === 37) { + this.emit('friendship', { friendshipId: payload.id }) + } else { this.emit('message', { messageId: payload.id }) } @@ -1420,14 +1420,14 @@ class PuppetBridge extends PUPPET.Puppet { * */ override async friendshipRawPayload (id: string): Promise { - return this.messageStore[id]; + return this.messageStore[id] } override async friendshipRawPayloadParser (rawPayload: any): Promise { rawPayload.contactId = rawPayload.text.match(/fromusername="([^"]*)"/)[1] - rawPayload.type = 2; + rawPayload.type = 2 rawPayload.hello = rawPayload.text.match(/content="([^"]*)"/)[1] - return rawPayload; + return rawPayload } override async friendshipSearchPhone (