fix: 使用请求插件键绑定事件插件

This commit is contained in:
sunlei 2026-06-18 03:30:33 +08:00
parent 167a4bba6c
commit 46f9152248
2 changed files with 18 additions and 3 deletions

View File

@ -76,7 +76,7 @@ export class QqbotPluginHostBridgeService {
case 'bindEventPlugin': case 'bindEventPlugin':
return this.accountService.bindEventPlugin( return this.accountService.bindEventPlugin(
getRequiredText(args, 'selfId'), getRequiredText(args, 'selfId'),
getRequiredText(args, 'pluginKey'), request.pluginKey,
); );
case 'getBoundEventPluginKeys': case 'getBoundEventPluginKeys':
return this.accountService.getBoundEventPluginKeys( return this.accountService.getBoundEventPluginKeys(
@ -117,7 +117,7 @@ export class QqbotPluginHostBridgeService {
case 'unbindEventPlugin': case 'unbindEventPlugin':
return this.accountService.unbindEventPlugin( return this.accountService.unbindEventPlugin(
getRequiredText(args, 'selfId'), getRequiredText(args, 'selfId'),
getRequiredText(args, 'pluginKey'), request.pluginKey,
); );
case 'warn': case 'warn':
this.logger.warn({ this.logger.warn({

View File

@ -134,7 +134,7 @@ describe('QQBot plugin host bridge', () => {
await expect( await expect(
bridge.handleHostCall(descriptor, { bridge.handleHostCall(descriptor, {
args: { selfId: '10001', pluginKey: 'sample' }, args: { selfId: '10001', pluginKey: 'other-plugin' },
method: 'bindEventPlugin', method: 'bindEventPlugin',
pluginKey: 'sample', pluginKey: 'sample',
}), }),
@ -154,6 +154,21 @@ describe('QQBot plugin host bridge', () => {
expect(sendService.sendText).toHaveBeenCalledWith(sendInput); expect(sendService.sendText).toHaveBeenCalledWith(sendInput);
}); });
it('uses the request plugin key when unbinding event plugins', async () => {
const descriptor = createDescriptor();
await bridge.handleHostCall(descriptor, {
args: { selfId: '10001', pluginKey: 'other-plugin' },
method: 'unbindEventPlugin',
pluginKey: 'sample',
});
expect(accountService.unbindEventPlugin).toHaveBeenCalledWith(
'10001',
'sample',
);
});
it('reads JSON files from descriptor package roots', async () => { it('reads JSON files from descriptor package roots', async () => {
const descriptor = createDescriptor(); const descriptor = createDescriptor();
const filePath = join(tempRoot, 'data', 'sample.json'); const filePath = join(tempRoot, 'data', 'sample.json');