From d8412e921e93b21a5bcf79698f9a19d35745733c Mon Sep 17 00:00:00 2001 From: Inex Code Date: Tue, 3 Nov 2020 14:18:20 +0000 Subject: [PATCH] Add remote/local event id sync --- src/vk.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/vk.ts b/src/vk.ts index 0257f0b..dd8da98 100755 --- a/src/vk.ts +++ b/src/vk.ts @@ -36,7 +36,8 @@ export class VkPuppet { private puppet: PuppetBridge, ) { } - public async getSendParams(puppetId: number, peerId: number, senderId: number): Promise { + public async getSendParams(puppetId: number, peerId: number, senderId: number, eventId?: string | undefined): + Promise { // we will use this function internally to create the send parameters // needed to send a message, a file, reactions, ... to matrix log.info(`Creating send params for ${peerId}...`); @@ -44,6 +45,7 @@ export class VkPuppet { return { room: await this.getRemoteRoom(puppetId, peerId), user: await this.getRemoteUser(puppetId, senderId), + eventId, }; } @@ -174,6 +176,7 @@ export class VkPuppet { message: data.body, random_id: new Date().getTime(), }); + await this.puppet.eventSync.insert(room, data.eventId!, response.toString()); } catch (err) { log.error("Error sending to vk", err.error || err.body || err); } @@ -211,7 +214,7 @@ export class VkPuppet { } log.info("Received new message!", context); - const params = await this.getSendParams(puppetId, context.peerId, context.senderId); + const params = await this.getSendParams(puppetId, context.peerId, context.senderId, context.id.toString()); if (context.hasText && !context.isOutbox) { const opts = {