diff --git a/src/modules/qqbot/plugins/bilibili-card/src/domain/bilibili-url-extractor.ts b/src/modules/qqbot/plugins/bilibili-card/src/domain/bilibili-url-extractor.ts index ced520c..75a6333 100644 --- a/src/modules/qqbot/plugins/bilibili-card/src/domain/bilibili-url-extractor.ts +++ b/src/modules/qqbot/plugins/bilibili-card/src/domain/bilibili-url-extractor.ts @@ -85,7 +85,7 @@ function createExtractionState(): ExtractionState { } /** - * Collects raw event candidates from explicit OneBot message segments and URL-like fields. + * Collects raw event candidates from explicit OneBot message segments. * @param rawEvent - Raw OneBot event payload from NapCat. * @param state - Mutable extraction state with traversal counters. */ @@ -95,7 +95,6 @@ function collectRawEventCandidates( ) { if (!isRecord(rawEvent)) return; collectMessageSegments(rawEvent.message, state); - collectUrlLikeFields(rawEvent, state, new WeakSet(), 0); } /** diff --git a/test/modules/qqbot/plugins/bilibili-card/bilibili-url-extractor.spec.ts b/test/modules/qqbot/plugins/bilibili-card/bilibili-url-extractor.spec.ts index c5e595f..9ebca74 100644 --- a/test/modules/qqbot/plugins/bilibili-card/bilibili-url-extractor.spec.ts +++ b/test/modules/qqbot/plugins/bilibili-card/bilibili-url-extractor.spec.ts @@ -106,6 +106,19 @@ describe('Bilibili URL extractor', () => { ).toEqual([]); }); + it('does not scan root rawEvent URL-like metadata fields', () => { + expect( + extractBilibiliUrls({ + messageText: '', + rawMessage: '', + rawEvent: { + debugUrl: 'https://www.bilibili.com/video/BV1xx411c7mD', + message: [], + }, + }), + ).toEqual([]); + }); + it('keeps exact cleaned URL dedupe while preserving distinct query URLs', () => { expect( extractBilibiliUrls({