From 8d1b4f61e7d76a585108888504602849122f46b3 Mon Sep 17 00:00:00 2001 From: linyuchen Date: Wed, 1 May 2024 18:35:16 +0800 Subject: [PATCH] fix: listener crash --- .../action/group/GetGroupMemberInfo.ts | 6 +++++- src/onebot11/constructor.ts | 20 +++++-------------- 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/src/onebot11/action/group/GetGroupMemberInfo.ts b/src/onebot11/action/group/GetGroupMemberInfo.ts index 0edcee73..9e013e7b 100644 --- a/src/onebot11/action/group/GetGroupMemberInfo.ts +++ b/src/onebot11/action/group/GetGroupMemberInfo.ts @@ -1,5 +1,5 @@ import { OB11GroupMember } from '../../types'; -import { getGroupMember } from '@/core/data'; +import { getGroup, getGroupMember } from '@/core/data'; import { OB11Constructor } from '../../constructor'; import BaseAction from '../BaseAction'; import { ActionName } from '../types'; @@ -18,6 +18,10 @@ class GetGroupMemberInfo extends BaseAction { actionName = ActionName.GetGroupMemberInfo; protected async _handle(payload: PayloadType) { + const group = await getGroup(payload.group_id.toString()); + if (!group) { + throw (`群(${payload.group_id})不存在`); + } const WebGroupMember = await WebApi.getGroupMembers(payload.group_id.toString()); const member = await getGroupMember(payload.group_id.toString(), payload.user_id.toString()); // log(member); diff --git a/src/onebot11/constructor.ts b/src/onebot11/constructor.ts index bf8d1414..c5f9286b 100644 --- a/src/onebot11/constructor.ts +++ b/src/onebot11/constructor.ts @@ -42,11 +42,8 @@ import { OB11GroupDecreaseEvent } from './event/notice/OB11GroupDecreaseEvent'; import { ob11Config } from '@/onebot11/config'; import { deleteGroup, getFriend, getGroupMember, groupMembers, selfInfo, tempGroupCodeMap } from '@/core/data'; import { NTQQFileApi, NTQQGroupApi, NTQQUserApi } from '../core/src/apis'; -import http from 'http'; import { OB11GroupMsgEmojiLikeEvent } from '@/onebot11/event/notice/OB11MsgEmojiLikeEvent'; -import { AsyncQueue } from '@/common/utils/AsyncQueue'; -const imageQueue = new AsyncQueue(); export class OB11Constructor { static async message(msg: RawMessage): Promise { @@ -145,19 +142,12 @@ export class OB11Constructor { message_data['data']['file'] = element.picElement.fileName; // message_data["data"]["path"] = element.picElement.sourcePath // let currentRKey = "CAQSKAB6JWENi5LMk0kc62l8Pm3Jn1dsLZHyRLAnNmHGoZ3y_gDZPqZt-64" - await new Promise((resolve, reject) => { - const task = new Promise((taskResolve, taskReject) => { - log('开始获取图片url'); - NTQQFileApi.getImageUrl(msg).then((url) => { - message_data['data']['url'] = url; - log('获取图片url结果:', url); - taskResolve(); - resolve(); - }); - }); - imageQueue.addTask(task); - }); + try { + message_data['data']['url'] = await NTQQFileApi.getImageUrl(msg); + }catch (e: any) { + logError('获取图片url失败', e.stack); + } // message_data["data"]["file_id"] = element.picElement.fileUuid message_data['data']['file_size'] = element.picElement.fileSize; dbUtil.addFileCache({