fix: 限定Bilibili链接提取rawEvent范围

This commit is contained in:
sunlei 2026-06-19 18:01:53 +08:00
parent ecea754cac
commit f21d31c4e4
2 changed files with 14 additions and 2 deletions

View File

@ -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 rawEvent - Raw OneBot event payload from NapCat.
* @param state - Mutable extraction state with traversal counters. * @param state - Mutable extraction state with traversal counters.
*/ */
@ -95,7 +95,6 @@ function collectRawEventCandidates(
) { ) {
if (!isRecord(rawEvent)) return; if (!isRecord(rawEvent)) return;
collectMessageSegments(rawEvent.message, state); collectMessageSegments(rawEvent.message, state);
collectUrlLikeFields(rawEvent, state, new WeakSet<object>(), 0);
} }
/** /**

View File

@ -106,6 +106,19 @@ describe('Bilibili URL extractor', () => {
).toEqual([]); ).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', () => { it('keeps exact cleaned URL dedupe while preserving distinct query URLs', () => {
expect( expect(
extractBilibiliUrls({ extractBilibiliUrls({