mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2025-12-20 13:40:10 +08:00
fix
This commit is contained in:
parent
c213cd6c3a
commit
c4f9c4f630
@ -49,6 +49,7 @@ import {
|
|||||||
import { OB11Message } from './types';
|
import { OB11Message } from './types';
|
||||||
import { IOB11NetworkAdapter } from '@/onebot/network/adapter';
|
import { IOB11NetworkAdapter } from '@/onebot/network/adapter';
|
||||||
import { OB11HttpSSEServerAdapter } from './network/http-server-sse';
|
import { OB11HttpSSEServerAdapter } from './network/http-server-sse';
|
||||||
|
import { OB11PluginAdapter } from './network/plugin';
|
||||||
|
|
||||||
//OneBot实现类
|
//OneBot实现类
|
||||||
export class NapCatOneBot11Adapter {
|
export class NapCatOneBot11Adapter {
|
||||||
@ -61,7 +62,7 @@ export class NapCatOneBot11Adapter {
|
|||||||
actions: ActionMap;
|
actions: ActionMap;
|
||||||
private readonly bootTime = Date.now() / 1000;
|
private readonly bootTime = Date.now() / 1000;
|
||||||
//recallMsgCache = new LRUCache<string, boolean>(100);
|
//recallMsgCache = new LRUCache<string, boolean>(100);
|
||||||
|
recallEventCache = new Map<string, any>();
|
||||||
constructor(core: NapCatCore, context: InstanceContext, pathWrapper: NapCatPathWrapper) {
|
constructor(core: NapCatCore, context: InstanceContext, pathWrapper: NapCatPathWrapper) {
|
||||||
this.core = core;
|
this.core = core;
|
||||||
this.context = context;
|
this.context = context;
|
||||||
@ -306,14 +307,17 @@ export class NapCatOneBot11Adapter {
|
|||||||
let msg = (await this.core.apis.MsgApi.queryMsgsWithFilterExWithSeq(peer, msgSeq)).msgList.find(e => e.msgType == NTMsgType.KMSGTYPEGRAYTIPS);
|
let msg = (await this.core.apis.MsgApi.queryMsgsWithFilterExWithSeq(peer, msgSeq)).msgList.find(e => e.msgType == NTMsgType.KMSGTYPEGRAYTIPS);
|
||||||
const element = msg?.elements.find(e => !!e.grayTipElement?.revokeElement);
|
const element = msg?.elements.find(e => !!e.grayTipElement?.revokeElement);
|
||||||
if (msg && element?.grayTipElement?.revokeElement.isSelfOperate) {
|
if (msg && element?.grayTipElement?.revokeElement.isSelfOperate) {
|
||||||
await this.core.eventWrapper.registerListen('NodeIKernelMsgListener/onMsgRecall',
|
const isSelfDevice = this.recallEventCache.has(msg.msgId);
|
||||||
(chatType: ChatType, uid: string, msgSeq: string) => {
|
if (isSelfDevice) {
|
||||||
return chatType === msg?.chatType && uid === msg?.peerUid && msgSeq === msg?.msgSeq;
|
await this.core.eventWrapper.registerListen('NodeIKernelMsgListener/onMsgRecall',
|
||||||
}
|
(chatType: ChatType, uid: string, msgSeq: string) => {
|
||||||
).catch(() => {
|
return chatType === msg?.chatType && uid === msg?.peerUid && msgSeq === msg?.msgSeq;
|
||||||
msg = undefined;
|
}
|
||||||
this.context.logger.logDebug('自操作消息撤回事件');
|
).catch(() => {
|
||||||
});
|
msg = undefined;
|
||||||
|
this.context.logger.logDebug('自操作消息撤回事件');
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (msg && element) {
|
if (msg && element) {
|
||||||
const recallEvent = await this.emitRecallMsg(msg, element);
|
const recallEvent = await this.emitRecallMsg(msg, element);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user