fix #1171 && Improve message recall handling and cleanup

Changed recallMsg to return the result of the event call. Added a 5-second cache cleanup for recall events in DeleteMsg. Removed an unnecessary blank line in plugin.ts.
This commit is contained in:
手瓜一十雪 2025-08-25 15:50:05 +08:00
parent ecd7012eee
commit a64779684e
3 changed files with 4 additions and 2 deletions

View File

@ -191,7 +191,7 @@ export class NTQQMsgApi {
}
async recallMsg(peer: Peer, msgId: string) {
await this.core.eventWrapper.callNormalEventV2(
return await this.core.eventWrapper.callNormalEventV2(
'NodeIKernelMsgService/recallMsg',
'NodeIKernelMsgListener/onMsgInfoListUpdate',
[peer, [msgId]],

View File

@ -16,6 +16,9 @@ class DeleteMsg extends OneBotAction<Payload, void> {
async _handle(payload: Payload) {
const msg = MessageUnique.getMsgIdAndPeerByShortId(Number(payload.message_id));
if (msg) {
this.obContext.recallEventCache.set(msg.MsgId, setTimeout(() => {
this.obContext.recallEventCache.delete(msg.MsgId);
}, 5000));
await this.core.apis.MsgApi.recallMsg(msg.Peer, msg.MsgId);
} else {
throw new Error('Recall failed');

View File

@ -5,7 +5,6 @@ import { PluginConfig } from '../config/config';
import { plugin_onmessage } from '@/plugin';
import { ActionMap } from '../action';
import { IOB11NetworkAdapter } from '@/onebot/network/adapter';
export class OB11PluginAdapter extends IOB11NetworkAdapter<PluginConfig> {
constructor(
name: string, core: NapCatCore, obContext: NapCatOneBot11Adapter, actions: ActionMap