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 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<object>(), 0);
}
/**

View File

@ -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({