Add QQ bot channel

This commit is contained in:
xmanrui 2026-08-15 17:51:48 +08:00
parent a422084eb5
commit 601271a7f8
33 changed files with 4971 additions and 642 deletions

View file

@ -0,0 +1,22 @@
import assert from 'node:assert/strict';
import test from 'node:test';
import { normalizeProvisioning, normalizeSnapshot, safeQrSource } from '../../../plugin-src/client/channels/qq/api.js';
test('QQ client keeps only redacted bot and host-rendered QR state', () => {
const qr = 'data:image/png;base64,YWJjZA==';
assert.equal(safeQrSource(qr), qr);
const provision = normalizeProvisioning({
attemptId: 'attempt_1', status: 'pending', expiresAt: Date.now() + 1_000, qrCodeDataUrl: qr,
});
assert.equal(provision.qrCodeDataUrl, qr);
const snapshot = normalizeSnapshot({
bots: [{
botId: 'qq_abc', connected: true, state: 'connected',
bot: { name: 'QQ机器人', appIdMasked: '123••••456' },
health: { summary: '运行正常' },
}],
});
assert.equal(snapshot.totals.connected, 1);
assert.equal(snapshot.bots[0].bot.appIdMasked, '123••••456');
});