fix: error handle

This commit is contained in:
手瓜一十雪
2024-11-28 09:53:50 +08:00
parent 3642c65e8c
commit 1dcf2ef0c6

View File

@@ -213,7 +213,7 @@ export class NapCatOneBot11Adapter {
if (networkChange === OB11NetworkReloadType.NetWorkClose) { if (networkChange === OB11NetworkReloadType.NetWorkClose) {
await this.networkManager.closeSomeAdaterWhenOpen([existingAdapter]); await this.networkManager.closeSomeAdaterWhenOpen([existingAdapter]);
} }
} else if(adapterConfig.enable) { } else if (adapterConfig.enable) {
const newAdapter = new adapterClass(adapterConfig.name, adapterConfig, this.core, this.actions); const newAdapter = new adapterClass(adapterConfig.name, adapterConfig, this.core, this.actions);
await this.networkManager.registerAdapterAndOpen(newAdapter); await this.networkManager.registerAdapterAndOpen(newAdapter);
} }
@@ -266,23 +266,30 @@ export class NapCatOneBot11Adapter {
}; };
msgListener.onAddSendMsg = async (msg) => { msgListener.onAddSendMsg = async (msg) => {
if (msg.sendStatus == SendStatusType.KSEND_STATUS_SENDING) { try {
await this.core.eventWrapper.registerListen('NodeIKernelMsgListener/onMsgInfoListUpdate', (msgList: RawMessage[]) => { if (msg.sendStatus == SendStatusType.KSEND_STATUS_SENDING) {
const report = msgList.find((e) => const [updatemsgs] = await this.core.eventWrapper.registerListen('NodeIKernelMsgListener/onMsgInfoListUpdate', (msgList: RawMessage[]) => {
e.senderUin == this.core.selfInfo.uin && e.sendStatus == SendStatusType.KSEND_STATUS_SUCCESS && e.msgId === msg.msgId const report = msgList.find((e) =>
); e.senderUin == this.core.selfInfo.uin && e.sendStatus !== SendStatusType.KSEND_STATUS_SENDING && e.msgId === msg.msgId
return !!report; );
}, 1, 300); return !!report;
msg.id = MessageUnique.createUniqueMsgId( }, 1, 10 * 60 * 1000);
{ // 10分钟 超时
chatType: msg.chatType, const updatemsg = updatemsgs.find((e) => e.msgId === msg.msgId);
peerUid: msg.peerUid, if (updatemsg?.sendStatus == SendStatusType.KSEND_STATUS_SUCCESS || updatemsg?.sendStatus == SendStatusType.KSEND_STATUS_SUCCESS_NOSEQ) {
guildId: '', updatemsg.id = MessageUnique.createUniqueMsgId(
}, {
msg.msgId chatType: updatemsg.chatType,
); peerUid: updatemsg.peerUid,
//此时上报的seq不是对的 不过对onebot业务无影响 guildId: '',
this.emitMsg(msg); },
updatemsg.msgId
);
this.emitMsg(updatemsg);
}
}
} catch (error) {
this.context.logger.logError('处理发送消息失败', error);
} }
}; };
msgListener.onMsgRecall = async (chatType: ChatType, uid: string, msgSeq: string) => { msgListener.onMsgRecall = async (chatType: ChatType, uid: string, msgSeq: string) => {