mirror of https://github.com/Nofated095/Q2TG.git
feat: 使用 link preview 显示 QQ 头像和名称
This commit is contained in:
parent
17669d5a60
commit
eb77e7a936
|
@ -45,7 +45,7 @@
|
|||
"quote-api": "https://github.com/Clansty/quote-api/archive/37a0e48a434b94bb04c04c7d86d9f0d2295df869.tar.gz",
|
||||
"sharp": "^0.33.2",
|
||||
"silk-sdk": "^0.2.2",
|
||||
"telegram": "^2.19.10",
|
||||
"telegram": "https://github.com/clansty/gramjs/releases/download/2.19.10%2Brevert_media/telegram-2.19.10.tgz",
|
||||
"tmp-promise": "^3.0.3",
|
||||
"undici": "^6.4.0",
|
||||
"zincsearch-node": "^2.1.0",
|
||||
|
|
|
@ -69,8 +69,8 @@ dependencies:
|
|||
specifier: ^0.2.2
|
||||
version: 0.2.2
|
||||
telegram:
|
||||
specifier: ^2.19.10
|
||||
version: 2.19.10
|
||||
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%252Brevert_media/telegram-2.19.10.tgz'
|
||||
tmp-promise:
|
||||
specifier: ^3.0.3
|
||||
version: 3.0.3
|
||||
|
@ -1243,7 +1243,7 @@ packages:
|
|||
engines: {node: '>=6.14.2'}
|
||||
requiresBuild: true
|
||||
dependencies:
|
||||
node-gyp-build: 4.6.1
|
||||
node-gyp-build: 4.8.0
|
||||
dev: false
|
||||
|
||||
/buildcheck@0.0.6:
|
||||
|
@ -2740,8 +2740,8 @@ packages:
|
|||
whatwg-url: 5.0.0
|
||||
dev: false
|
||||
|
||||
/node-gyp-build@4.6.1:
|
||||
resolution: {integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==}
|
||||
/node-gyp-build@4.8.0:
|
||||
resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==}
|
||||
hasBin: true
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
|
@ -3457,30 +3457,6 @@ packages:
|
|||
- supports-color
|
||||
dev: false
|
||||
|
||||
/telegram@2.19.10:
|
||||
resolution: {integrity: sha512-5Brrn+BcYSjDUmT1/9T4Nq2tYlR1/TreRvpim1UGeuwfnIgFOiTXwDwXBOy6hbn9yssvmtk/dQJU9pBColM7ag==}
|
||||
dependencies:
|
||||
'@cryptography/aes': 0.1.1
|
||||
async-mutex: 0.3.2
|
||||
big-integer: 1.6.52
|
||||
buffer: 6.0.3
|
||||
htmlparser2: 6.1.0
|
||||
mime: 3.0.0
|
||||
node-localstorage: 2.2.1
|
||||
pako: 2.1.0
|
||||
path-browserify: 1.0.1
|
||||
real-cancellable-promise: 1.2.0
|
||||
socks: 2.7.1
|
||||
store2: 2.14.2
|
||||
ts-custom-error: 3.3.1
|
||||
websocket: 1.0.34
|
||||
optionalDependencies:
|
||||
bufferutil: 4.0.8
|
||||
utf-8-validate: 5.0.10
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/timm@1.7.1:
|
||||
resolution: {integrity: sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==}
|
||||
dev: false
|
||||
|
@ -3563,6 +3539,7 @@ packages:
|
|||
|
||||
/tslib@2.6.2:
|
||||
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
|
||||
/tsscmp@1.0.6:
|
||||
|
@ -3681,7 +3658,7 @@ packages:
|
|||
engines: {node: '>=6.14.2'}
|
||||
requiresBuild: true
|
||||
dependencies:
|
||||
node-gyp-build: 4.6.1
|
||||
node-gyp-build: 4.8.0
|
||||
dev: false
|
||||
|
||||
/utif2@4.1.0:
|
||||
|
@ -3925,3 +3902,29 @@ packages:
|
|||
- supports-color
|
||||
- utf-8-validate
|
||||
dev: false
|
||||
|
||||
'@github.com/clansty/gramjs/releases/download/2.19.10%252Brevert_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
|
||||
dependencies:
|
||||
'@cryptography/aes': 0.1.1
|
||||
async-mutex: 0.3.2
|
||||
big-integer: 1.6.52
|
||||
buffer: 6.0.3
|
||||
htmlparser2: 6.1.0
|
||||
mime: 3.0.0
|
||||
node-localstorage: 2.2.1
|
||||
pako: 2.1.0
|
||||
path-browserify: 1.0.1
|
||||
real-cancellable-promise: 1.2.0
|
||||
socks: 2.7.1
|
||||
store2: 2.14.2
|
||||
ts-custom-error: 3.3.1
|
||||
websocket: 1.0.34
|
||||
optionalDependencies:
|
||||
bufferutil: 4.0.8
|
||||
utf-8-validate: 5.0.10
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
|
|
@ -6,6 +6,7 @@ enum flags {
|
|||
NO_DELETE_MESSAGE = 1 << 4,
|
||||
NO_AUTO_CREATE_PM = 1 << 5,
|
||||
COLOR_EMOJI_PREFIX = 1 << 6,
|
||||
RICH_HEADER = 1 << 7,
|
||||
}
|
||||
|
||||
export default flags;
|
||||
|
|
|
@ -44,6 +44,7 @@ import ReplyKeyboardHide = Api.ReplyKeyboardHide;
|
|||
import env from '../models/env';
|
||||
import { CustomFile } from 'telegram/client/uploads';
|
||||
import flags from '../constants/flags';
|
||||
import BigInteger from 'big-integer';
|
||||
|
||||
const NOT_CHAINABLE_ELEMENTS = ['flash', 'record', 'video', 'location', 'share', 'json', 'xml', 'poke'];
|
||||
|
||||
|
@ -331,7 +332,6 @@ export default class ForwardService {
|
|||
}
|
||||
}
|
||||
message = message.trim();
|
||||
message = messageHeader + (message && messageHeader ? '\n' : '') + message;
|
||||
|
||||
// 处理回复
|
||||
if (event.source) {
|
||||
|
@ -382,6 +382,22 @@ export default class ForwardService {
|
|||
else if (files.length) {
|
||||
messageToSend.file = files;
|
||||
}
|
||||
else if ((pair.flags | this.instance.flags) & flags.RICH_HEADER) {
|
||||
// 没有文件时才能显示链接预览
|
||||
messageHeader = '';
|
||||
const url = new URL('https://q2tg-header.clansty.workers.dev');
|
||||
url.searchParams.set('name', sender);
|
||||
url.searchParams.set('id', event.sender.user_id.toString());
|
||||
// https://github.com/tdlib/td/blob/437c2d0c6e0ad104022d5ad86ddc8aedc41cb7a8/td/telegram/MessageContent.cpp#L2575
|
||||
// https://github.com/tdlib/td/blob/437c2d0c6e0ad104022d5ad86ddc8aedc41cb7a8/td/generate/scheme/telegram_api.tl#L1841
|
||||
// https://github.com/gram-js/gramjs/pull/633
|
||||
messageToSend.file = new Api.InputMediaWebPage({
|
||||
url: url.toString(),
|
||||
});
|
||||
messageToSend.linkPreview = { showAboveText: true };
|
||||
}
|
||||
|
||||
message = messageHeader + (message && messageHeader ? '\n' : '') + message;
|
||||
buttons.length && (messageToSend.buttons = _.chunk(buttons, 3));
|
||||
replyTo && (messageToSend.replyTo = replyTo);
|
||||
|
||||
|
@ -406,6 +422,7 @@ export default class ForwardService {
|
|||
}
|
||||
|
||||
public async forwardFromTelegram(message: Api.Message, pair: Pair): Promise<Array<QQMessageSent>> {
|
||||
// console.log(message);
|
||||
try {
|
||||
const tempFiles: FileResult[] = [];
|
||||
let chain: Sendable = [];
|
||||
|
|
Loading…
Reference in New Issue