From eaa46d0d005d676de2228aada89a7a1f65f2a3ee Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 26 Jan 2024 02:59:21 +0000 Subject: [PATCH 01/11] chore(deps): bump axios from 1.6.5 to 1.6.7 Bumps [axios](https://github.com/axios/axios) from 1.6.5 to 1.6.7. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](https://github.com/axios/axios/compare/v1.6.5...v1.6.7) --- updated-dependencies: - dependency-name: axios dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 28437d9..bb2336c 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ }, "dependencies": { "@prisma/client": "5.8.0", - "axios": "^1.6.5", + "axios": "^1.6.7", "baidu-aip-sdk": "^4.16.15", "big-integer": "^1.6.52", "cli-progress": "^3.11.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 45cb77d..7f70681 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,8 +9,8 @@ dependencies: specifier: 5.8.0 version: 5.8.0(prisma@5.8.0) axios: - specifier: ^1.6.5 - version: 1.6.5 + specifier: ^1.6.7 + version: 1.6.7 baidu-aip-sdk: specifier: ^4.16.15 version: 4.16.15 @@ -1139,8 +1139,8 @@ packages: resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} dev: false - /axios@1.6.5: - resolution: {integrity: sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==} + /axios@1.6.7: + resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==} dependencies: follow-redirects: 1.15.4 form-data: 4.0.0 @@ -2185,7 +2185,7 @@ packages: resolution: {integrity: sha512-+Whg6gcxomNshRhij3vuEnjaO/8ODAzl3ZVda6KKwZtWTwuD23iX4pR57Kv7+VGw6Lp5fEGF6hjSxPHw9Rvqcg==} engines: {node: '>= v14'} dependencies: - axios: 1.6.5 + axios: 1.6.7 log4js: 6.9.1 long: 4.0.0 pngjs: 6.0.0 From dff0364d8518bead90bb0e2f6b0a68a5d64c945b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Feb 2024 09:23:09 +0000 Subject: [PATCH 02/11] chore(deps): bump dotenv from 16.4.0 to 16.4.1 Bumps [dotenv](https://github.com/motdotla/dotenv) from 16.4.0 to 16.4.1. - [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md) - [Commits](https://github.com/motdotla/dotenv/compare/v16.4.0...v16.4.1) --- updated-dependencies: - dependency-name: dotenv dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- pnpm-lock.yaml | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index ef6ba03..d50e942 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "cli-progress": "^3.11.2", "date-and-time": "^3.1.1", "dockerode": "^4.0.2", - "dotenv": "^16.4.0", + "dotenv": "^16.4.1", "eviltransform": "^0.2.2", "file-type": "^19.0.0", "fluent-ffmpeg": "^2.1.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eb5f141..b837495 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,8 +27,8 @@ dependencies: specifier: ^4.0.2 version: 4.0.2 dotenv: - specifier: ^16.4.0 - version: 16.4.0 + specifier: ^16.4.1 + version: 16.4.1 eviltransform: specifier: ^0.2.2 version: 0.2.2 @@ -70,7 +70,7 @@ dependencies: version: 0.2.2 telegram: specifier: https://github.com/clansty/gramjs/releases/download/2.19.10%2Brevert_media/telegram-2.19.10.tgz - version: '@github.com/clansty/gramjs/releases/download/2.19.10%25252Brevert_media/telegram-2.19.10.tgz' + version: '@github.com/clansty/gramjs/releases/download/2.19.10%2525252Brevert_media/telegram-2.19.10.tgz' tmp-promise: specifier: ^3.0.3 version: 3.0.3 @@ -1652,8 +1652,8 @@ packages: domhandler: 4.3.1 dev: false - /dotenv@16.4.0: - resolution: {integrity: sha512-WvImr5kpN5NGNn7KaDjJnLTh5rDVLZiDf/YLA8T1ZEZEBZNEDOE+mnkS0PVjPax8ZxBP5zC5SLMB3/9VV5de9g==} + /dotenv@16.4.1: + resolution: {integrity: sha512-CjA3y+Dr3FyFDOAMnxZEGtnW9KBR2M0JvvUtXNW+dYJL5ROWxP9DUHCwgFqpMk0OXCc0ljhaNTr2w/kutYIcHQ==} engines: {node: '>=12'} dev: false @@ -3903,7 +3903,7 @@ packages: - utf-8-validate dev: false - '@github.com/clansty/gramjs/releases/download/2.19.10%25252Brevert_media/telegram-2.19.10.tgz': + '@github.com/clansty/gramjs/releases/download/2.19.10%2525252Brevert_media/telegram-2.19.10.tgz': resolution: {tarball: https://github.com/clansty/gramjs/releases/download/2.19.10%2Brevert_media/telegram-2.19.10.tgz} name: telegram version: 2.19.10 From 000da5c93f5281b5c115acdb80c9b7e455ee476c Mon Sep 17 00:00:00 2001 From: Clansty Date: Sun, 4 Feb 2024 21:24:44 +0800 Subject: [PATCH 03/11] =?UTF-8?q?fix:=20=E5=9C=A8=E7=A7=81=E8=81=8A?= =?UTF-8?q?=E6=97=B6=E4=B8=8D=E5=BA=94=E8=AF=A5=E6=98=BE=E7=A4=BA=20RichHe?= =?UTF-8?q?ader?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/services/ForwardService.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/ForwardService.ts b/src/services/ForwardService.ts index 50a4674..5c93465 100644 --- a/src/services/ForwardService.ts +++ b/src/services/ForwardService.ts @@ -382,7 +382,7 @@ export default class ForwardService { else if (files.length) { messageToSend.file = files; } - else if ((pair.flags | this.instance.flags) & flags.RICH_HEADER) { + else if (event.message_type === 'group' && (pair.flags | this.instance.flags) & flags.RICH_HEADER) { // 没有文件时才能显示链接预览 richHeaderUsed = true; const url = new URL('https://q2tg-header.clansty.workers.dev'); From e94aad6af6d611486060568a41e81704988aa382 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 9 Feb 2024 03:00:23 +0000 Subject: [PATCH 04/11] chore(deps-dev): bump @types/node from 20.11.5 to 20.11.17 Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.11.5 to 20.11.17. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- pnpm-lock.yaml | 22 +++++++++++----------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index ef6ba03..8cd60bc 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "@types/dockerode": "^3.3.23", "@types/fluent-ffmpeg": "^2.1.24", "@types/lodash": "^4.14.202", - "@types/node": "^20.11.5", + "@types/node": "^20.11.17", "@types/prompts": "^2.4.9", "tsx": "^4.7.0", "typescript": "^5.3.3" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eb5f141..1e20c2c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -70,7 +70,7 @@ dependencies: version: 0.2.2 telegram: specifier: https://github.com/clansty/gramjs/releases/download/2.19.10%2Brevert_media/telegram-2.19.10.tgz - version: '@github.com/clansty/gramjs/releases/download/2.19.10%25252Brevert_media/telegram-2.19.10.tgz' + version: '@github.com/clansty/gramjs/releases/download/2.19.10%2525252Brevert_media/telegram-2.19.10.tgz' tmp-promise: specifier: ^3.0.3 version: 3.0.3 @@ -101,8 +101,8 @@ devDependencies: specifier: ^4.14.202 version: 4.14.202 '@types/node': - specifier: ^20.11.5 - version: 20.11.5 + specifier: ^20.11.17 + version: 20.11.17 '@types/prompts': specifier: ^2.4.9 version: 2.4.9 @@ -952,7 +952,7 @@ packages: /@types/cli-progress@3.11.5: resolution: {integrity: sha512-D4PbNRbviKyppS5ivBGyFO29POlySLmA2HyUFE4p5QGazAMM3CwkKWcvTl8gvElSuxRh6FPKL8XmidX873ou4g==} dependencies: - '@types/node': 20.11.5 + '@types/node': 20.11.17 dev: true /@types/date-and-time@3.0.3: @@ -965,7 +965,7 @@ packages: /@types/docker-modem@3.0.6: resolution: {integrity: sha512-yKpAGEuKRSS8wwx0joknWxsmLha78wNMe9R2S3UNsVOkZded8UqOrV8KoeDXoXsjndxwyF3eIhyClGbO1SEhEg==} dependencies: - '@types/node': 20.11.5 + '@types/node': 20.11.17 '@types/ssh2': 1.11.18 dev: true @@ -973,13 +973,13 @@ packages: resolution: {integrity: sha512-Lz5J+NFgZS4cEVhquwjIGH4oQwlVn2h7LXD3boitujBnzOE5o7s9H8hchEjoDK2SlRsJTogdKnQeiJgPPKLIEw==} dependencies: '@types/docker-modem': 3.0.6 - '@types/node': 20.11.5 + '@types/node': 20.11.17 dev: true /@types/fluent-ffmpeg@2.1.24: resolution: {integrity: sha512-g5oQO8Jgi2kFS3tTub7wLvfLztr1s8tdXmRd8PiL/hLMLzTIAyMR2sANkTggM/rdEDAg3d63nYRRVepwBiCw5A==} dependencies: - '@types/node': 20.11.5 + '@types/node': 20.11.17 dev: true /@types/lodash@4.14.202: @@ -996,8 +996,8 @@ packages: undici-types: 5.26.5 dev: true - /@types/node@20.11.5: - resolution: {integrity: sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==} + /@types/node@20.11.17: + resolution: {integrity: sha512-QmgQZGWu1Yw9TDyAP9ZzpFJKynYNeOvwMJmaxABfieQoVoiVOS6MN1WSpqpRcbeA5+RW82kraAVxCCJg+780Qw==} dependencies: undici-types: 5.26.5 dev: true @@ -1005,7 +1005,7 @@ packages: /@types/prompts@2.4.9: resolution: {integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==} dependencies: - '@types/node': 20.11.5 + '@types/node': 20.11.17 kleur: 3.0.3 dev: true @@ -3903,7 +3903,7 @@ packages: - utf-8-validate dev: false - '@github.com/clansty/gramjs/releases/download/2.19.10%25252Brevert_media/telegram-2.19.10.tgz': + '@github.com/clansty/gramjs/releases/download/2.19.10%2525252Brevert_media/telegram-2.19.10.tgz': resolution: {tarball: https://github.com/clansty/gramjs/releases/download/2.19.10%2Brevert_media/telegram-2.19.10.tgz} name: telegram version: 2.19.10 From 769b047f6d9f40370104285e0eaa0e864def61de Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 9 Feb 2024 05:08:53 +0000 Subject: [PATCH 05/11] chore(deps): bump @prisma/client from 5.8.0 to 5.9.1 Bumps [@prisma/client](https://github.com/prisma/prisma/tree/HEAD/packages/client) from 5.8.0 to 5.9.1. - [Release notes](https://github.com/prisma/prisma/releases) - [Commits](https://github.com/prisma/prisma/commits/5.9.1/packages/client) --- updated-dependencies: - dependency-name: "@prisma/client" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- pnpm-lock.yaml | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 853cf14..1413bc4 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "typescript": "^5.3.3" }, "dependencies": { - "@prisma/client": "5.8.0", + "@prisma/client": "5.9.1", "axios": "^1.6.7", "baidu-aip-sdk": "^4.16.15", "big-integer": "^1.6.52", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6de0f76..cea8af4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,8 +6,8 @@ settings: dependencies: '@prisma/client': - specifier: 5.8.0 - version: 5.8.0(prisma@5.8.0) + specifier: 5.9.1 + version: 5.9.1(prisma@5.8.0) axios: specifier: ^1.6.7 version: 1.6.7 @@ -70,7 +70,7 @@ dependencies: version: 0.2.2 telegram: specifier: https://github.com/clansty/gramjs/releases/download/2.19.10%2Brevert_media/telegram-2.19.10.tgz - version: '@github.com/clansty/gramjs/releases/download/2.19.10%2525252Brevert_media/telegram-2.19.10.tgz' + version: '@github.com/clansty/gramjs/releases/download/2.19.10%252525252Brevert_media/telegram-2.19.10.tgz' tmp-promise: specifier: ^3.0.3 version: 3.0.3 @@ -895,8 +895,8 @@ packages: - supports-color dev: false - /@prisma/client@5.8.0(prisma@5.8.0): - resolution: {integrity: sha512-QxO6C4MaA/ysTIbC+EcAH1aX/YkpymhXtO6zPdk+FvA7+59tNibIYpd+7koPdViLg2iKES4ojsxWNUGNJaEcbA==} + /@prisma/client@5.9.1(prisma@5.8.0): + resolution: {integrity: sha512-caSOnG4kxcSkhqC/2ShV7rEoWwd3XrftokxJqOCMVvia4NYV/TPtJlS9C2os3Igxw/Qyxumj9GBQzcStzECvtQ==} engines: {node: '>=16.13'} requiresBuild: true peerDependencies: @@ -3903,7 +3903,7 @@ packages: - utf-8-validate dev: false - '@github.com/clansty/gramjs/releases/download/2.19.10%2525252Brevert_media/telegram-2.19.10.tgz': + '@github.com/clansty/gramjs/releases/download/2.19.10%252525252Brevert_media/telegram-2.19.10.tgz': resolution: {tarball: https://github.com/clansty/gramjs/releases/download/2.19.10%2Brevert_media/telegram-2.19.10.tgz} name: telegram version: 2.19.10 From 7f6a301f6e959ffb5f49c6d031ab00a55b246413 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 9 Feb 2024 05:10:10 +0000 Subject: [PATCH 06/11] chore(deps): bump prisma from 5.8.0 to 5.9.1 Bumps [prisma](https://github.com/prisma/prisma/tree/HEAD/packages/cli) from 5.8.0 to 5.9.1. - [Release notes](https://github.com/prisma/prisma/releases) - [Commits](https://github.com/prisma/prisma/commits/5.9.1/packages/cli) --- updated-dependencies: - dependency-name: prisma dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package.json | 2 +- pnpm-lock.yaml | 56 +++++++++++++++++++++++++------------------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/package.json b/package.json index 1413bc4..23bb370 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "lodash": "^4.17.21", "log4js": "^6.6.1", "nodejs-base64": "^2.0.0", - "prisma": "5.8.0", + "prisma": "5.9.1", "prompts": "^2.4.2", "quote-api": "https://github.com/Clansty/quote-api/archive/014b21138afbbe0e12c91b00561414b1e851fc0f.tar.gz", "sharp": "^0.33.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cea8af4..4b3b0fa 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,7 +7,7 @@ settings: dependencies: '@prisma/client': specifier: 5.9.1 - version: 5.9.1(prisma@5.8.0) + version: 5.9.1(prisma@5.9.1) axios: specifier: ^1.6.7 version: 1.6.7 @@ -54,8 +54,8 @@ dependencies: specifier: ^2.0.0 version: 2.0.0 prisma: - specifier: 5.8.0 - version: 5.8.0 + specifier: 5.9.1 + version: 5.9.1 prompts: specifier: ^2.4.2 version: 2.4.2 @@ -70,7 +70,7 @@ dependencies: version: 0.2.2 telegram: specifier: https://github.com/clansty/gramjs/releases/download/2.19.10%2Brevert_media/telegram-2.19.10.tgz - version: '@github.com/clansty/gramjs/releases/download/2.19.10%252525252Brevert_media/telegram-2.19.10.tgz' + version: '@github.com/clansty/gramjs/releases/download/2.19.10%25252525252Brevert_media/telegram-2.19.10.tgz' tmp-promise: specifier: ^3.0.3 version: 3.0.3 @@ -895,7 +895,7 @@ packages: - supports-color dev: false - /@prisma/client@5.9.1(prisma@5.8.0): + /@prisma/client@5.9.1(prisma@5.9.1): resolution: {integrity: sha512-caSOnG4kxcSkhqC/2ShV7rEoWwd3XrftokxJqOCMVvia4NYV/TPtJlS9C2os3Igxw/Qyxumj9GBQzcStzECvtQ==} engines: {node: '>=16.13'} requiresBuild: true @@ -905,39 +905,39 @@ packages: prisma: optional: true dependencies: - prisma: 5.8.0 + prisma: 5.9.1 dev: false - /@prisma/debug@5.8.0: - resolution: {integrity: sha512-ZqPpkvbovu/kQJ1bvy57NO4dw97fpQGcbQSCtsqlwSE1UNKJP75R3BKxdznk8ZPMY+GJdMRetWNv4oAvSbWn8Q==} + /@prisma/debug@5.9.1: + resolution: {integrity: sha512-yAHFSFCg8KVoL0oRUno3m60GAjsUKYUDkQ+9BA2X2JfVR3kRVSJFc/GpQ2fSORi4pSHZR9orfM4UC9OVXIFFTA==} dev: false - /@prisma/engines-version@5.8.0-37.0a83d8541752d7582de2ebc1ece46519ce72a848: - resolution: {integrity: sha512-cXcoVweYbnv8xRfkWq9oj8BECOdzHUazrSpYCa0ehp5TNz4l5Spa8jbq/VROCTzj3ZncH5D9Q2TmySYTOUeKlw==} + /@prisma/engines-version@5.9.0-32.23fdc5965b1e05fc54e5f26ed3de66776b93de64: + resolution: {integrity: sha512-HFl7275yF0FWbdcNvcSRbbu9JCBSLMcurYwvWc8WGDnpu7APxQo2ONtZrUggU3WxLxUJ2uBX+0GOFIcJeVeOOQ==} dev: false - /@prisma/engines@5.8.0: - resolution: {integrity: sha512-Qhqm9WWLujNEC13AuZlUO14SQ15tNLe5puaz+tOk7UqINqJ3PtqMmuSuzomiw2diGVqZ+HYiSQzlR3+pPucVHA==} + /@prisma/engines@5.9.1: + resolution: {integrity: sha512-gkdXmjxQ5jktxWNdDA5aZZ6R8rH74JkoKq6LD5mACSvxd2vbqWeWIOV0Py5wFC8vofOYShbt6XUeCIUmrOzOnQ==} requiresBuild: true dependencies: - '@prisma/debug': 5.8.0 - '@prisma/engines-version': 5.8.0-37.0a83d8541752d7582de2ebc1ece46519ce72a848 - '@prisma/fetch-engine': 5.8.0 - '@prisma/get-platform': 5.8.0 + '@prisma/debug': 5.9.1 + '@prisma/engines-version': 5.9.0-32.23fdc5965b1e05fc54e5f26ed3de66776b93de64 + '@prisma/fetch-engine': 5.9.1 + '@prisma/get-platform': 5.9.1 dev: false - /@prisma/fetch-engine@5.8.0: - resolution: {integrity: sha512-1CAuE+JoYsPNggMEn6qk0zos06Uc9bYZBJ0VBPHD6R7REL05614koAbOCmn52IaYz3nobb7f25hqW6AY7rLkIw==} + /@prisma/fetch-engine@5.9.1: + resolution: {integrity: sha512-l0goQOMcNVOJs1kAcwqpKq3ylvkD9F04Ioe1oJoCqmz05mw22bNAKKGWuDd3zTUoUZr97va0c/UfLNru+PDmNA==} dependencies: - '@prisma/debug': 5.8.0 - '@prisma/engines-version': 5.8.0-37.0a83d8541752d7582de2ebc1ece46519ce72a848 - '@prisma/get-platform': 5.8.0 + '@prisma/debug': 5.9.1 + '@prisma/engines-version': 5.9.0-32.23fdc5965b1e05fc54e5f26ed3de66776b93de64 + '@prisma/get-platform': 5.9.1 dev: false - /@prisma/get-platform@5.8.0: - resolution: {integrity: sha512-Nk3rhTFZ1LYkFZJnpSvQcLPCaBWgJQfteHII6UEENOOkYlmP0k3FuswND54tzzEr4qs39wOdV9pbXKX9U2lv7A==} + /@prisma/get-platform@5.9.1: + resolution: {integrity: sha512-6OQsNxTyhvG+T2Ksr8FPFpuPeL4r9u0JF0OZHUBI/Uy9SS43sPyAIutt4ZEAyqWQt104ERh70EZedkHZKsnNbg==} dependencies: - '@prisma/debug': 5.8.0 + '@prisma/debug': 5.9.1 dev: false /@tokenizer/token@0.3.0: @@ -2908,13 +2908,13 @@ packages: engines: {node: '>=12.13.0'} dev: false - /prisma@5.8.0: - resolution: {integrity: sha512-hDKoEqPt2qEUTH5yGO3l27CBnPtwvte0CGMKrpCr9+/A919JghfqJ3qgCGgMbOwdkXUOzdho0RH9tyUF3UhpMw==} + /prisma@5.9.1: + resolution: {integrity: sha512-Hy/8KJZz0ELtkw4FnG9MS9rNWlXcJhf98Z2QMqi0QiVMoS8PzsBkpla0/Y5hTlob8F3HeECYphBjqmBxrluUrQ==} engines: {node: '>=16.13'} hasBin: true requiresBuild: true dependencies: - '@prisma/engines': 5.8.0 + '@prisma/engines': 5.9.1 dev: false /probe-image-size@7.2.3: @@ -3903,7 +3903,7 @@ packages: - utf-8-validate dev: false - '@github.com/clansty/gramjs/releases/download/2.19.10%252525252Brevert_media/telegram-2.19.10.tgz': + '@github.com/clansty/gramjs/releases/download/2.19.10%25252525252Brevert_media/telegram-2.19.10.tgz': resolution: {tarball: https://github.com/clansty/gramjs/releases/download/2.19.10%2Brevert_media/telegram-2.19.10.tgz} name: telegram version: 2.19.10 From f1552b1f2e28ae61615cf991b82556e5ffd3036c Mon Sep 17 00:00:00 2001 From: Clansty Date: Fri, 9 Feb 2024 14:54:23 +0800 Subject: [PATCH 07/11] =?UTF-8?q?chore:=20=E6=94=B6=E5=88=B0=E5=8A=A0?= =?UTF-8?q?=E7=BE=A4=E7=94=B3=E8=AF=B7=E6=97=B6=EF=BC=8C=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E7=BE=A4=E5=A4=B4=E5=83=8F=E8=80=8C=E4=B8=8D=E6=98=AF=E9=82=80?= =?UTF-8?q?=E8=AF=B7=E4=BA=BA=E7=9A=84=E5=A4=B4=E5=83=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/RequestController.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/controllers/RequestController.ts b/src/controllers/RequestController.ts index 0084fad..e01c121 100644 --- a/src/controllers/RequestController.ts +++ b/src/controllers/RequestController.ts @@ -20,9 +20,10 @@ export default class RequestController { private handleRequest = async (event: FriendRequestEvent | GroupInviteEvent) => { this.log.info(`收到申请:${event.nickname} (${event.user_id})`); - const avatar = await getAvatar(event.user_id); + let avatar: Buffer; let messageText = ''; if (event.request_type === 'friend') { + avatar = await getAvatar(event.user_id); messageText = `收到好友申请\n` + `昵称:${event.nickname}\n` + `账号:${event.user_id}\n` + @@ -32,6 +33,7 @@ export default class RequestController { `附言:${event.comment}`; } else { + avatar = await getAvatar(-event.group_id); messageText = `收到加群邀请\n` + `邀请人:${event.nickname} (${event.user_id})\n` + `群名称:${event.group_name}\n` + From d2a60b3cd07bf7a004fab86ce355d56094d363de Mon Sep 17 00:00:00 2001 From: Clansty Date: Fri, 9 Feb 2024 15:57:58 +0800 Subject: [PATCH 08/11] =?UTF-8?q?fix:=20=E9=80=9A=E8=BF=87=E5=9B=9E?= =?UTF-8?q?=E6=B5=8B=E8=A7=A3=E5=86=B3=20Rich=20Header=20=E6=8A=BD?= =?UTF-8?q?=E9=A3=8E=E6=97=A0=E6=B3=95=E5=8A=A0=E8=BD=BD=E6=97=B6=E5=87=BA?= =?UTF-8?q?=E7=8E=B0=E6=B2=A1=E6=9C=89=E5=8F=91=E9=80=81=E8=80=85=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E7=9A=84=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/client/TelegramChat.ts | 5 +++++ src/models/ForwardPairs.ts | 15 ++++++++------- src/models/Instance.ts | 2 +- src/models/Pair.ts | 1 + src/services/ConfigService.ts | 5 +++-- src/services/ForwardService.ts | 18 ++++++++++++++++++ 6 files changed, 36 insertions(+), 10 deletions(-) diff --git a/src/client/TelegramChat.ts b/src/client/TelegramChat.ts index 90fd6a5..a9e6281 100644 --- a/src/client/TelegramChat.ts +++ b/src/client/TelegramChat.ts @@ -31,6 +31,11 @@ export default class TelegramChat { return await this.client.sendMessage(this.entity, params); } + public async getMessage(params: Parameters[1]) { + const messages = await this.client.getMessages(this.entity, params); + return messages[0]; + } + public async sendSelfDestructingPhoto(params: SendMessageParams, photo: CustomFile, ttlSeconds: number) { // @ts-ignore 定义不好好写的?你家 `FileLike` 明明可以是 `TypeInputMedia` params.file = new Api.InputMediaUploadedPhoto({ diff --git a/src/models/ForwardPairs.ts b/src/models/ForwardPairs.ts index 3d0426a..92b152c 100644 --- a/src/models/ForwardPairs.ts +++ b/src/models/ForwardPairs.ts @@ -18,7 +18,7 @@ export default class ForwardPairs { } // 在 forwardController 创建时初始化 - private async init(oicq: OicqClient, tgBot: Telegram) { + private async init(oicq: OicqClient, tgBot: Telegram, tgUser: Telegram) { const dbValues = await db.forwardPair.findMany({ where: { instanceId: this.instanceId }, }); @@ -26,8 +26,9 @@ export default class ForwardPairs { try { const qq = oicq.getChat(Number(i.qqRoomId)); const tg = await tgBot.getChat(Number(i.tgChatId)); - if (qq && tg) { - this.pairs.push(new Pair(qq, tg, i.id, i.flags)); + const tgUserChat = await tgUser.getChat(Number(i.tgChatId)); + if (qq && tg && tgUserChat) { + this.pairs.push(new Pair(qq, tg, tgUserChat, i.id, i.flags)); } } catch (e) { @@ -36,13 +37,13 @@ export default class ForwardPairs { } } - public static async load(instanceId: number, oicq: OicqClient, tgBot: Telegram) { + public static async load(instanceId: number, oicq: OicqClient, tgBot: Telegram, tgUser: Telegram) { const instance = new this(instanceId); - await instance.init(oicq, tgBot); + await instance.init(oicq, tgBot, tgUser); return instance; } - public async add(qq: Friend | Group, tg: TelegramChat) { + public async add(qq: Friend | Group, tg: TelegramChat, tgUser: TelegramChat) { const dbEntry = await db.forwardPair.create({ data: { qqRoomId: qq instanceof Friend ? qq.user_id : -qq.group_id, @@ -50,7 +51,7 @@ export default class ForwardPairs { instanceId: this.instanceId, }, }); - this.pairs.push(new Pair(qq, tg, dbEntry.id, dbEntry.flags)); + this.pairs.push(new Pair(qq, tg, tgUser, dbEntry.id, dbEntry.flags)); return dbEntry; } diff --git a/src/models/Instance.ts b/src/models/Instance.ts index b83169e..d7a056f 100644 --- a/src/models/Instance.ts +++ b/src/models/Instance.ts @@ -145,7 +145,7 @@ export default class Instance { this.log.info('OICQ 登录完成'); } this.statusReportController = new StatusReportController(this, this.tgBot, this.tgUser, this.oicq); - this.forwardPairs = await ForwardPairs.load(this.id, this.oicq, this.tgBot); + this.forwardPairs = await ForwardPairs.load(this.id, this.oicq, this.tgBot, this.tgUser); this.setupCommands() .then(() => this.log.info('命令设置成功')) .catch(e => this.log.error('命令设置错误', e)); diff --git a/src/models/Pair.ts b/src/models/Pair.ts index 47f1362..c6de07f 100644 --- a/src/models/Pair.ts +++ b/src/models/Pair.ts @@ -16,6 +16,7 @@ export class Pair { constructor( public readonly qq: Friend | Group, private _tg: TelegramChat, + public readonly tgUser: TelegramChat, public dbId: number, private _flags: number, ) { diff --git a/src/services/ConfigService.ts b/src/services/ConfigService.ts index 93deb08..3371fbb 100644 --- a/src/services/ConfigService.ts +++ b/src/services/ConfigService.ts @@ -200,7 +200,7 @@ export default class ConfigService { // 关联写入数据库 const chatForBot = await this.tgBot.getChat(chat.id); status && await status.edit({ text: '正在写数据库…' }); - const dbPair = await this.instance.forwardPairs.add(room, chatForBot); + const dbPair = await this.instance.forwardPairs.add(room, chatForBot, chat); isFinish = true; // 更新头像 @@ -253,7 +253,8 @@ export default class ConfigService { try { const qGroup = this.oicq.getChat(qqRoomId) as Group; const tgChat = await this.tgBot.getChat(tgChatId); - await this.instance.forwardPairs.add(qGroup, tgChat); + const tgUserChat = await this.tgUser.getChat(tgChatId); + await this.instance.forwardPairs.add(qGroup, tgChat, tgUserChat); await tgChat.sendMessage(`QQ群:${qGroup.name} (${qGroup.group_id})已与 ` + `Telegram 群 ${(tgChat.entity as Api.Channel).title} (${tgChatId})关联`); if (!(tgChat.entity instanceof Api.Channel)) { diff --git a/src/services/ForwardService.ts b/src/services/ForwardService.ts index 3e8401f..956bea9 100644 --- a/src/services/ForwardService.ts +++ b/src/services/ForwardService.ts @@ -415,6 +415,7 @@ export default class ForwardService { } catch (e) { if (richHeaderUsed) { + richHeaderUsed = false; this.log.warn('Rich Header 发送错误', messageToSend.file, e); delete messageToSend.file; delete messageToSend.linkPreview; @@ -425,6 +426,23 @@ export default class ForwardService { else throw e; } + if (richHeaderUsed) { + // 测试 Web Preview 内容是否被正确获取 + setTimeout(async () => { + // Telegram Bot 账号无法获取 Web 预览内容,只能用 User 账号获取 + const userMessage = await pair.tgUser.getMessage({ + ids: tgMessage.id, + }); + if (['WebPage', 'WebPageNotModified'].includes((userMessage.media as Api.MessageMediaWebPage)?.webpage?.className)) + return; + // 没有正常获取的话,就加上原先的头部 + this.log.warn('Rich Header 回测错误', messageToSend.file); + await tgMessage.edit({ + text: messageHeader + (message && messageHeader ? '\n' : '') + message, + }); + }, 3000); + } + if (this.instance.workMode === 'personal' && event.message_type === 'group' && event.atall) { await tgMessage.pin({ notify: false }); } From fdbfda72d40310e94abfb81f865eabd6f4491694 Mon Sep 17 00:00:00 2001 From: Clansty Date: Mon, 12 Feb 2024 22:38:55 +0800 Subject: [PATCH 09/11] =?UTF-8?q?feat:=20/q=20=E5=90=8E=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=9C=A8=20tg=20pin=20=E5=8E=9F=E6=B6=88=E6=81=AF=EF=BC=8C?= =?UTF-8?q?=E5=9C=A8=20QQ=20=E5=B0=86=E5=8E=9F=E6=B6=88=E6=81=AF=E8=AE=BE?= =?UTF-8?q?=E4=B8=BA=E7=B2=BE=E5=8D=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 +- .idea/codeStyles/codeStyleConfig.xml | 5 +++ src/constants/flags.ts | 1 + src/controllers/QuotLyController.ts | 60 ++++++++++++++++++---------- 4 files changed, 45 insertions(+), 23 deletions(-) create mode 100644 .idea/codeStyles/codeStyleConfig.xml diff --git a/.gitignore b/.gitignore index 3b9e8df..2228367 100644 --- a/.gitignore +++ b/.gitignore @@ -728,7 +728,7 @@ Network Trash Folder Temporary Items .apdisk -data/ +data config.yaml build .yarn/* diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..79ee123 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/src/constants/flags.ts b/src/constants/flags.ts index 4d52af4..62ba5b1 100644 --- a/src/constants/flags.ts +++ b/src/constants/flags.ts @@ -7,6 +7,7 @@ enum flags { NO_AUTO_CREATE_PM = 1 << 5, COLOR_EMOJI_PREFIX = 1 << 6, RICH_HEADER = 1 << 7, + NO_QUOTE_PIN = 1 << 8, } export default flags; diff --git a/src/controllers/QuotLyController.ts b/src/controllers/QuotLyController.ts index 5a5a836..99efbe6 100644 --- a/src/controllers/QuotLyController.ts +++ b/src/controllers/QuotLyController.ts @@ -2,7 +2,7 @@ import Instance from '../models/Instance'; import Telegram from '../client/Telegram'; import OicqClient from '../client/OicqClient'; import { getLogger, Logger } from 'log4js'; -import { GroupMessageEvent, PrivateMessageEvent } from 'icqq'; +import { Group, GroupMessageEvent, PrivateMessageEvent } from 'icqq'; import { Api } from 'telegram'; import quotly from 'quote-api/methods/generate.js'; import { CustomFile } from 'telegram/client/uploads'; @@ -13,6 +13,7 @@ import { getAvatarUrl } from '../utils/urls'; import convert from '../helpers/convert'; import { Pair } from '../models/Pair'; import env from '../models/env'; +import flags from '../constants/flags'; export default class { private readonly log: Logger; @@ -55,16 +56,14 @@ export default class { this.log.error('找不到 sourceMessage'); return true; } - setTimeout(async () => { - // 异步发送,为了让 /q 先到达 - try { - await this.sendQuote(pair, sourceMessage); - } - catch (e) { - this.log.error(e); - await event.reply(e.toString(), true); - } - }, 50); + if (!((pair.flags | this.instance.flags) & flags.NO_QUOTE_PIN)) { + this.pinMessageOnBothSide(pair, sourceMessage).then(); + } + // 异步发送,为了让 /q 先到达 + this.sendQuote(pair, sourceMessage).catch(async e => { + this.log.error(e); + await event.reply(e.toString(), true); + }); }; private onTelegramMessage = async (message: Api.Message) => { @@ -91,22 +90,39 @@ export default class { this.log.error('找不到 sourceMessage'); return true; } - setTimeout(async () => { - try { - await this.sendQuote(pair, sourceMessage); - } - catch (e) { - this.log.error(e); - await message.reply({ - message: e.toString(), - }); - } - }, 50); + if (!((pair.flags | this.instance.flags) & flags.NO_QUOTE_PIN)) { + this.pinMessageOnBothSide(pair, sourceMessage).then(); + } + // 异步发送,为了让 /q 先到达 + this.sendQuote(pair, sourceMessage).catch(async e => { + this.log.error(e); + await message.reply({ + message: e.toString(), + }); + }); // 个人模式下,/q 这条消息不转发到 QQ,怪话图只有自己可见 if (this.instance.workMode === 'personal') return true; }; + private async pinMessageOnBothSide(pair: Pair, sourceMessage: Awaited>) { + if (pair.qq instanceof Group) { + try { + await pair.qq.addEssence(sourceMessage.seq, Number(sourceMessage.rand)); + } + catch (e) { + this.log.warn('无法添加精华消息,群:', pair.qqRoomId, e); + } + } + try { + const tgMessage = await pair.tg.getMessage({ ids: sourceMessage.tgMsgId }); + await tgMessage.pin({ notify: false, pmOneSide: false }); + } + catch (e) { + this.log.warn('无法置顶消息,群:', pair.tgId, '消息 ID:', sourceMessage.tgMsgId, e); + } + } + private async genQuote(message: Message) { const GROUP_ANONYMOUS_BOT = 1087968824n; From 6290edf0b0a09ff7c99cdfce4d02fdc55202cf05 Mon Sep 17 00:00:00 2001 From: Clansty Date: Mon, 12 Feb 2024 23:08:33 +0800 Subject: [PATCH 10/11] =?UTF-8?q?feat:=20=E8=BD=AC=E5=8F=91=20tg=20?= =?UTF-8?q?=E4=B8=AD=E5=85=B6=E4=BB=96=20bot=20=E7=9A=84=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/constants/flags.ts | 1 + src/controllers/ForwardController.ts | 12 +++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/constants/flags.ts b/src/constants/flags.ts index 62ba5b1..3b665cc 100644 --- a/src/constants/flags.ts +++ b/src/constants/flags.ts @@ -8,6 +8,7 @@ enum flags { COLOR_EMOJI_PREFIX = 1 << 6, RICH_HEADER = 1 << 7, NO_QUOTE_PIN = 1 << 8, + NO_FORWARD_OTHER_BOT = 1 << 9, } export default flags; diff --git a/src/controllers/ForwardController.ts b/src/controllers/ForwardController.ts index 3eed952..9cb7964 100644 --- a/src/controllers/ForwardController.ts +++ b/src/controllers/ForwardController.ts @@ -17,7 +17,6 @@ import { getAvatar } from '../utils/urls'; import { CustomFile } from 'telegram/client/uploads'; import forwardHelper from '../helpers/forwardHelper'; import helper from '../helpers/forwardHelper'; -import ZincSearch from 'zincsearch-node'; import flags from '../constants/flags'; export default class ForwardController { @@ -37,6 +36,7 @@ export default class ForwardController { oicq.on('notice.friend.poke', this.onQqPoke); oicq.on('notice.group.poke', this.onQqPoke); tgBot.addNewMessageEventHandler(this.onTelegramMessage); + tgUser.addNewMessageEventHandler(this.onTelegramUserMessage); tgBot.addEditedMessageEventHandler(this.onTelegramMessage); instance.workMode === 'group' && tgBot.addChannelParticipantEventHandler(this.onTelegramParticipant); } @@ -93,10 +93,16 @@ export default class ForwardController { } }; - private onTelegramMessage = async (message: Api.Message) => { + private onTelegramUserMessage = async (message: Api.Message) => { + if (!('bot' in message.sender) || !message.sender.bot) return; + const pair = this.instance.forwardPairs.find(message.chat); + if ((pair.flags | this.instance.flags) & flags.NO_FORWARD_OTHER_BOT) return; + await this.onTelegramMessage(message, pair); + }; + + private onTelegramMessage = async (message: Api.Message, pair = this.instance.forwardPairs.find(message.chat)) => { try { if (message.senderId?.eq(this.instance.botMe.id)) return true; - const pair = this.instance.forwardPairs.find(message.chat); if (!pair) return false; if ((pair.flags | this.instance.flags) & flags.DISABLE_TG2Q) return; const qqMessagesSent = await this.forwardService.forwardFromTelegram(message, pair); From e8e91c81acc54e0e13381870dea6a2e6c06af3b0 Mon Sep 17 00:00:00 2001 From: Clansty Date: Mon, 12 Feb 2024 23:10:22 +0800 Subject: [PATCH 11/11] =?UTF-8?q?fix:=20pair=20=E6=B2=A1=E6=9C=89=E5=88=A4?= =?UTF-8?q?=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/ForwardController.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/controllers/ForwardController.ts b/src/controllers/ForwardController.ts index 9cb7964..3bcb192 100644 --- a/src/controllers/ForwardController.ts +++ b/src/controllers/ForwardController.ts @@ -96,6 +96,7 @@ export default class ForwardController { private onTelegramUserMessage = async (message: Api.Message) => { if (!('bot' in message.sender) || !message.sender.bot) return; const pair = this.instance.forwardPairs.find(message.chat); + if (!pair) return; if ((pair.flags | this.instance.flags) & flags.NO_FORWARD_OTHER_BOT) return; await this.onTelegramMessage(message, pair); };