fix: listener crash

This commit is contained in:
linyuchen 2024-05-01 18:35:16 +08:00
parent d7ca6b9213
commit 8d1b4f61e7
2 changed files with 10 additions and 16 deletions

View File

@ -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<PayloadType, OB11GroupMember> {
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);

View File

@ -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<OB11Message> {
@ -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<void>((resolve, reject) => {
const task = new Promise<void>((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({