From a8bebed621685eadc3f48a04d6dd04291d16895f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 May 2021 13:15:05 +0000 Subject: [PATCH 1/4] Bump y18n from 4.0.0 to 4.0.3 Bumps [y18n](https://github.com/yargs/y18n) from 4.0.0 to 4.0.3. - [Release notes](https://github.com/yargs/y18n/releases) - [Changelog](https://github.com/yargs/y18n/blob/y18n-v4.0.3/CHANGELOG.md) - [Commits](https://github.com/yargs/y18n/compare/v4.0.0...y18n-v4.0.3) Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index ba6cd82..c385477 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "mx-puppet-vk", - "version": "0.4.0", + "version": "0.5.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -2691,9 +2691,9 @@ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" }, "yallist": { "version": "4.0.0", From 63eb470aaaf214153c913cbd36918df12ab0fcb3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 May 2021 13:15:05 +0000 Subject: [PATCH 2/4] Bump lodash from 4.17.20 to 4.17.21 Bumps [lodash](https://github.com/lodash/lodash) from 4.17.20 to 4.17.21. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.17.20...4.17.21) Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index ba6cd82..e42f871 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "mx-puppet-vk", - "version": "0.4.0", + "version": "0.5.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -1296,9 +1296,9 @@ } }, "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "lodash.camelcase": { "version": "4.3.0", From 45836d23e717b9b10cb541490356b1b21eb6d4a9 Mon Sep 17 00:00:00 2001 From: rud356 <44029251+Rud356@users.noreply.github.com> Date: Mon, 21 Jun 2021 17:47:50 +0300 Subject: [PATCH 3/4] Fix sending images from vk to matrix for user tokens (#17) --- src/vk.ts | 51 ++++++++++++++++++++++++++++++++------------------- 1 file changed, 32 insertions(+), 19 deletions(-) diff --git a/src/vk.ts b/src/vk.ts index f847f9d..fd3951d 100755 --- a/src/vk.ts +++ b/src/vk.ts @@ -17,6 +17,7 @@ import { runInThisContext } from "vm"; import { lookup } from "dns"; import { Converter } from "showdown"; import { MessagesMessageAttachment } from "vk-io/lib/api/schemas/objects"; +import { ElementFlags, OptionalTypeNode } from "typescript"; // here we create our log instance const log = new Log("VKPuppet:vk"); @@ -487,6 +488,21 @@ export class VkPuppet { // VK -> Matrix section // ////////////////////////// + public getBiggestImage(images: Array): any { + let maxImageResolution = 0; + let biggestImage: any = null; + images.forEach( + function(image: object) { + if (maxImageResolution < (image["width"] + image["height"])) { + maxImageResolution = image["width"] + image["height"]; + biggestImage = image; + } + } + ); + + return biggestImage; + }; + public async handleVkMessage(puppetId: number, context: MessageContext) { const p = this.puppets[puppetId]; if (!p) { @@ -536,32 +552,21 @@ export class VkPuppet { const attachments = p.data.isUserToken ? (await p.client.api.messages.getById({ message_ids: context.id })).items[0].attachments! : context.attachments; + for (const f of attachments) { switch (f.type) { case AttachmentType.PHOTO: try { if (p.data.isUserToken) { // VK API is weird. Very weird. - let url: string = ""; - f["photo"]["sizes"].forEach((element) => { - if (element["type"] === "w") { - url = element["url"] || ""; - } - }); + let biggestImage = this.getBiggestImage( + f["photo"]["sizes"] + ); + let url: string = biggestImage['url'] || ""; + if (url === "") { - f["photo"]["sizes"].forEach((element) => { - if (element["type"] === "z") { - url = element["url"] || ""; - } - }); - } - if (url === undefined) { - f["photo"]["sizes"].forEach((element) => { - if (element["type"] === "y") { - url = element["url"]; - } - }); - } + log.error(`Image not found in ${f["photo"]}`); + }; await this.puppet.sendFileDetect(params, url); } else { await this.puppet.sendFileDetect(params, f["largeSizeUrl"]); @@ -573,6 +578,7 @@ export class VkPuppet { await this.puppet.sendMessage(params, opts); } break; + case AttachmentType.STICKER: try { p.data.isUserToken ? await this.puppet.sendFileDetect(params, f["sticker"]["images_with_background"][4]["url"]) @@ -584,6 +590,7 @@ export class VkPuppet { await this.puppet.sendMessage(params, opts); } break; + case AttachmentType.AUDIO_MESSAGE: try { await this.puppet.sendAudio(params, f["oggUrl"]); @@ -594,6 +601,7 @@ export class VkPuppet { await this.puppet.sendMessage(params, opts); } break; + case AttachmentType.AUDIO: try { await this.puppet.sendAudio(params, f["url"]); @@ -604,6 +612,7 @@ export class VkPuppet { await this.puppet.sendMessage(params, opts); } break; + case AttachmentType.DOCUMENT: try { p.data.isUserToken ? await this.puppet.sendFileDetect(params, f["doc"]["url"], f["doc"]["title"]) @@ -615,21 +624,25 @@ export class VkPuppet { await this.puppet.sendMessage(params, opts); } break; + case AttachmentType.LINK: await this.puppet.sendMessage(params, { body: `Link was sent: ${f["url"]}`, }); break; + case AttachmentType.WALL: await this.puppet.sendMessage(params, { body: await this.renderWallPost(puppetId, f), }); break; + case AttachmentType.WALL_REPLY: await this.puppet.sendMessage(params, { body: await this.renderWallPost(puppetId, f), }); break; + default: await this.puppet.sendMessage(params, { body: `Unhandled attachment of type ${f.type}`, From 5701e674d0d13a534dc951875d2e4dc7d3a8954a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 21 Jun 2021 14:48:42 +0000 Subject: [PATCH 4/4] Bump postcss from 7.0.35 to 7.0.36 Bumps [postcss](https://github.com/postcss/postcss) from 7.0.35 to 7.0.36. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/7.0.35...7.0.36) --- updated-dependencies: - dependency-name: postcss dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index f595af6..2d1cc61 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1853,9 +1853,9 @@ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" }, "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", "requires": { "chalk": "^2.4.2", "source-map": "^0.6.1",