mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2025-07-19 12:03:37 +00:00
feat: 性能优化
This commit is contained in:
@@ -527,12 +527,10 @@ export class NapCatOneBot11Adapter {
|
|||||||
private async emitMsg(message: RawMessage) {
|
private async emitMsg(message: RawMessage) {
|
||||||
const network = Object.values(this.configLoader.configData.network).flat() as Array<AdapterConfigWrap>;
|
const network = Object.values(this.configLoader.configData.network).flat() as Array<AdapterConfigWrap>;
|
||||||
this.context.logger.logDebug('收到新消息 RawMessage', message);
|
this.context.logger.logDebug('收到新消息 RawMessage', message);
|
||||||
await this.handleMsg(message, network);
|
await Promise.allSettled([
|
||||||
if (message.chatType == ChatType.KCHATTYPEGROUP) {
|
this.handleMsg(message, network),
|
||||||
await this.handleGroupEvent(message);
|
message.chatType == ChatType.KCHATTYPEGROUP ? this.handleGroupEvent(message) : this.handlePrivateMsgEvent(message)
|
||||||
} else {
|
]);
|
||||||
await this.handlePrivateMsgEvent(message);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
private async handleMsg(message: RawMessage, network: Array<AdapterConfigWrap>) {
|
private async handleMsg(message: RawMessage, network: Array<AdapterConfigWrap>) {
|
||||||
try {
|
try {
|
||||||
@@ -607,18 +605,20 @@ export class NapCatOneBot11Adapter {
|
|||||||
cardChangedEvent && await this.networkManager.emitEvent(cardChangedEvent);
|
cardChangedEvent && await this.networkManager.emitEvent(cardChangedEvent);
|
||||||
}
|
}
|
||||||
if (message.msgType === NTMsgType.KMSGTYPEFILE) {
|
if (message.msgType === NTMsgType.KMSGTYPEFILE) {
|
||||||
//文件上传事件 文件为单一元素
|
// 文件为单元素消息
|
||||||
const elementWrapper = message.elements.find(e => !!e.fileElement);
|
const elementWrapper = message.elements.find(e => !!e.fileElement);
|
||||||
if (elementWrapper?.fileElement) {
|
if (elementWrapper?.fileElement) {
|
||||||
const uploadGroupFileEvent = await this.apis.GroupApi.parseGroupUploadFileEvene(message, elementWrapper.fileElement, elementWrapper);
|
const uploadGroupFileEvent = await this.apis.GroupApi.parseGroupUploadFileEvene(message, elementWrapper.fileElement, elementWrapper);
|
||||||
uploadGroupFileEvent && await this.networkManager.emitEvent(uploadGroupFileEvent);
|
uploadGroupFileEvent && await this.networkManager.emitEvent(uploadGroupFileEvent);
|
||||||
}
|
}
|
||||||
}
|
} else if (message.msgType === NTMsgType.KMSGTYPEGRAYTIPS) {
|
||||||
const grayTipElement = message.elements.find((element) => element.grayTipElement)?.grayTipElement;
|
// 灰条为单元素消息
|
||||||
|
const grayTipElement = message.elements[0].grayTipElement;
|
||||||
if (grayTipElement) {
|
if (grayTipElement) {
|
||||||
const event = await this.apis.GroupApi.parseGrayTipElement(message, grayTipElement);
|
const event = await this.apis.GroupApi.parseGrayTipElement(message, grayTipElement);
|
||||||
event && await this.networkManager.emitEvent(event);
|
event && await this.networkManager.emitEvent(event);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
this.context.logger.logError('constructGroupEvent error: ', e);
|
this.context.logger.logError('constructGroupEvent error: ', e);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user