mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2025-07-19 12:03:37 +00:00
style: lint
This commit is contained in:
@@ -20,7 +20,7 @@ export class Fallback<T> {
|
|||||||
for (const handler of this.handlers) {
|
for (const handler of this.handlers) {
|
||||||
try {
|
try {
|
||||||
const result = await handler();
|
const result = await handler();
|
||||||
let data = await this.checker(result);
|
const data = await this.checker(result);
|
||||||
if (data) {
|
if (data) {
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
@@ -28,7 +28,7 @@ class GetGroupMemberInfo extends OneBotAction<Payload, OB11GroupMember> {
|
|||||||
|
|
||||||
private async getGroupMemberInfo(payload: Payload, uid: string, isNocache: boolean) {
|
private async getGroupMemberInfo(payload: Payload, uid: string, isNocache: boolean) {
|
||||||
const groupMemberCache = this.core.apis.GroupApi.groupMemberCache.get(payload.group_id.toString());
|
const groupMemberCache = this.core.apis.GroupApi.groupMemberCache.get(payload.group_id.toString());
|
||||||
let groupMember = groupMemberCache?.get(uid);
|
const groupMember = groupMemberCache?.get(uid);
|
||||||
|
|
||||||
const [member, info] = await Promise.all([
|
const [member, info] = await Promise.all([
|
||||||
this.core.apis.GroupApi.getGroupMemberEx(payload.group_id.toString(), uid, isNocache),
|
this.core.apis.GroupApi.getGroupMemberEx(payload.group_id.toString(), uid, isNocache),
|
||||||
|
@@ -19,7 +19,7 @@ export default class SetGroupAddRequest extends OneBotAction<Payload, null> {
|
|||||||
const flag = payload.flag.toString();
|
const flag = payload.flag.toString();
|
||||||
const approve = payload.approve?.toString() !== 'false';
|
const approve = payload.approve?.toString() !== 'false';
|
||||||
const reason = payload.reason ?? ' ';
|
const reason = payload.reason ?? ' ';
|
||||||
let invite_notify = this.obContext.apis.MsgApi.notifyGroupInvite.get(flag);
|
const invite_notify = this.obContext.apis.MsgApi.notifyGroupInvite.get(flag);
|
||||||
const notify = invite_notify ?? await this.findNotify(flag);
|
const notify = invite_notify ?? await this.findNotify(flag);
|
||||||
if (!notify) {
|
if (!notify) {
|
||||||
throw new Error('No such request');
|
throw new Error('No such request');
|
||||||
|
@@ -218,7 +218,7 @@ export class OneBotGroupApi {
|
|||||||
element.groupName,
|
element.groupName,
|
||||||
);
|
);
|
||||||
} else if (element.type === TipGroupElementType.KSHUTUP) {
|
} else if (element.type === TipGroupElementType.KSHUTUP) {
|
||||||
let event = await this.parseGroupBanEvent(msg.peerUid, elementWrapper);
|
const event = await this.parseGroupBanEvent(msg.peerUid, elementWrapper);
|
||||||
return event;
|
return event;
|
||||||
} else if (element.type === TipGroupElementType.KMEMBERADD) {
|
} else if (element.type === TipGroupElementType.KMEMBERADD) {
|
||||||
// 自己的通知 协议推送为type->85 在这里实现为了避免邀请出现问题
|
// 自己的通知 协议推送为type->85 在这里实现为了避免邀请出现问题
|
||||||
|
@@ -206,7 +206,7 @@ export class OneBotMsgApi {
|
|||||||
const dir = emojiId.substring(0, 2);
|
const dir = emojiId.substring(0, 2);
|
||||||
const url = `https://gxh.vip.qq.com/club/item/parcel/item/${dir}/${emojiId}/raw300.gif`;
|
const url = `https://gxh.vip.qq.com/club/item/parcel/item/${dir}/${emojiId}/raw300.gif`;
|
||||||
const filename = `${dir}-${emojiId}.gif`;
|
const filename = `${dir}-${emojiId}.gif`;
|
||||||
FileNapCatOneBotUUID.encode(peer, msg.msgId, elementWrapper.elementId, "", filename)
|
FileNapCatOneBotUUID.encode(peer, msg.msgId, elementWrapper.elementId, "", filename);
|
||||||
return {
|
return {
|
||||||
type: OB11MessageDataType.image,
|
type: OB11MessageDataType.image,
|
||||||
data: {
|
data: {
|
||||||
@@ -798,7 +798,7 @@ export class OneBotMsgApi {
|
|||||||
private async handlePrivateMessage(resMsg: OB11Message, msg: RawMessage) {
|
private async handlePrivateMessage(resMsg: OB11Message, msg: RawMessage) {
|
||||||
resMsg.sub_type = 'friend';
|
resMsg.sub_type = 'friend';
|
||||||
if (await this.core.apis.FriendApi.isBuddy(msg.senderUid)) {
|
if (await this.core.apis.FriendApi.isBuddy(msg.senderUid)) {
|
||||||
let nickname = (await this.core.apis.UserApi.getCoreAndBaseInfo([msg.senderUid])).get(msg.senderUid)?.coreInfo.nick;
|
const nickname = (await this.core.apis.UserApi.getCoreAndBaseInfo([msg.senderUid])).get(msg.senderUid)?.coreInfo.nick;
|
||||||
if (nickname) {
|
if (nickname) {
|
||||||
resMsg.sender.nickname = nickname;
|
resMsg.sender.nickname = nickname;
|
||||||
return;
|
return;
|
||||||
@@ -906,16 +906,16 @@ export class OneBotMsgApi {
|
|||||||
const calculateTotalSize = async (elements: SendMessageElement[]): Promise<number> => {
|
const calculateTotalSize = async (elements: SendMessageElement[]): Promise<number> => {
|
||||||
const sizePromises = elements.map(async element => {
|
const sizePromises = elements.map(async element => {
|
||||||
switch (element.elementType) {
|
switch (element.elementType) {
|
||||||
case ElementType.PTT:
|
case ElementType.PTT:
|
||||||
return (await fsPromise.stat(element.pttElement.filePath)).size;
|
return (await fsPromise.stat(element.pttElement.filePath)).size;
|
||||||
case ElementType.FILE:
|
case ElementType.FILE:
|
||||||
return (await fsPromise.stat(element.fileElement.filePath)).size;
|
return (await fsPromise.stat(element.fileElement.filePath)).size;
|
||||||
case ElementType.VIDEO:
|
case ElementType.VIDEO:
|
||||||
return (await fsPromise.stat(element.videoElement.filePath)).size;
|
return (await fsPromise.stat(element.videoElement.filePath)).size;
|
||||||
case ElementType.PIC:
|
case ElementType.PIC:
|
||||||
return (await fsPromise.stat(element.picElement.sourcePath)).size;
|
return (await fsPromise.stat(element.picElement.sourcePath)).size;
|
||||||
default:
|
default:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
const sizes = await Promise.all(sizePromises);
|
const sizes = await Promise.all(sizePromises);
|
||||||
@@ -982,20 +982,20 @@ export class OneBotMsgApi {
|
|||||||
|
|
||||||
groupChangDecreseType2String(type: number): GroupDecreaseSubType {
|
groupChangDecreseType2String(type: number): GroupDecreaseSubType {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case 130:
|
case 130:
|
||||||
return 'leave';
|
return 'leave';
|
||||||
case 131:
|
case 131:
|
||||||
return 'kick';
|
return 'kick';
|
||||||
case 3:
|
case 3:
|
||||||
return 'kick_me';
|
return 'kick_me';
|
||||||
default:
|
default:
|
||||||
return 'kick';
|
return 'kick';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async waitGroupNotify(groupUin: string, memberUid?: string, operatorUid?: string) {
|
async waitGroupNotify(groupUin: string, memberUid?: string, operatorUid?: string) {
|
||||||
let groupRole = this.core.apis.GroupApi.groupMemberCache.get(groupUin)?.get(this.core.selfInfo.uid.toString())?.role;
|
const groupRole = this.core.apis.GroupApi.groupMemberCache.get(groupUin)?.get(this.core.selfInfo.uid.toString())?.role;
|
||||||
let isAdminOrOwner = groupRole === 3 || groupRole === 4;
|
const isAdminOrOwner = groupRole === 3 || groupRole === 4;
|
||||||
|
|
||||||
if (isAdminOrOwner && !operatorUid) {
|
if (isAdminOrOwner && !operatorUid) {
|
||||||
let dataNotify: GroupNotify | undefined;
|
let dataNotify: GroupNotify | undefined;
|
||||||
@@ -1023,7 +1023,7 @@ export class OneBotMsgApi {
|
|||||||
if (SysMessage.contentHead.type == 33 && SysMessage.body?.msgContent) {
|
if (SysMessage.contentHead.type == 33 && SysMessage.body?.msgContent) {
|
||||||
const groupChange = new NapProtoMsg(GroupChange).decode(SysMessage.body.msgContent);
|
const groupChange = new NapProtoMsg(GroupChange).decode(SysMessage.body.msgContent);
|
||||||
await this.core.apis.GroupApi.refreshGroupMemberCache(groupChange.groupUin.toString(), true);
|
await this.core.apis.GroupApi.refreshGroupMemberCache(groupChange.groupUin.toString(), true);
|
||||||
let operatorUid = await this.waitGroupNotify(
|
const operatorUid = await this.waitGroupNotify(
|
||||||
groupChange.groupUin.toString(),
|
groupChange.groupUin.toString(),
|
||||||
groupChange.memberUid,
|
groupChange.memberUid,
|
||||||
groupChange.operatorInfo ? Buffer.from(groupChange.operatorInfo).toString() : ''
|
groupChange.operatorInfo ? Buffer.from(groupChange.operatorInfo).toString() : ''
|
||||||
@@ -1039,7 +1039,7 @@ export class OneBotMsgApi {
|
|||||||
} else if (SysMessage.contentHead.type == 34 && SysMessage.body?.msgContent) {
|
} else if (SysMessage.contentHead.type == 34 && SysMessage.body?.msgContent) {
|
||||||
const groupChange = new NapProtoMsg(GroupChange).decode(SysMessage.body.msgContent);
|
const groupChange = new NapProtoMsg(GroupChange).decode(SysMessage.body.msgContent);
|
||||||
// 自身被踢出时operatorInfo会是一个protobuf 否则大多数情况为一个string
|
// 自身被踢出时operatorInfo会是一个protobuf 否则大多数情况为一个string
|
||||||
let operatorUid = await this.waitGroupNotify(
|
const operatorUid = await this.waitGroupNotify(
|
||||||
groupChange.groupUin.toString(),
|
groupChange.groupUin.toString(),
|
||||||
groupChange.memberUid,
|
groupChange.memberUid,
|
||||||
groupChange.decreaseType === 3 && groupChange.operatorInfo ?
|
groupChange.decreaseType === 3 && groupChange.operatorInfo ?
|
||||||
@@ -1080,17 +1080,17 @@ export class OneBotMsgApi {
|
|||||||
enabled ? 'set' : 'unset'
|
enabled ? 'set' : 'unset'
|
||||||
);
|
);
|
||||||
} else if (SysMessage.contentHead.type == 87 && SysMessage.body?.msgContent) {
|
} else if (SysMessage.contentHead.type == 87 && SysMessage.body?.msgContent) {
|
||||||
let groupInvite = new NapProtoMsg(GroupInvite).decode(SysMessage.body.msgContent);
|
const groupInvite = new NapProtoMsg(GroupInvite).decode(SysMessage.body.msgContent);
|
||||||
let request_seq = '';
|
let request_seq = '';
|
||||||
try {
|
try {
|
||||||
await this.core.eventWrapper.registerListen('NodeIKernelMsgListener/onRecvMsg', (msgs) => {
|
await this.core.eventWrapper.registerListen('NodeIKernelMsgListener/onRecvMsg', (msgs) => {
|
||||||
for (const msg of msgs) {
|
for (const msg of msgs) {
|
||||||
if (msg.senderUid === groupInvite.invitorUid && msg.msgType === 11) {
|
if (msg.senderUid === groupInvite.invitorUid && msg.msgType === 11) {
|
||||||
let jumpUrl = JSON.parse(msg.elements.find(e => e.elementType === 10)?.arkElement?.bytesData ?? '').meta?.news?.jumpUrl;
|
const jumpUrl = JSON.parse(msg.elements.find(e => e.elementType === 10)?.arkElement?.bytesData ?? '').meta?.news?.jumpUrl;
|
||||||
let jumpUrlParams = new URLSearchParams(jumpUrl);
|
const jumpUrlParams = new URLSearchParams(jumpUrl);
|
||||||
let groupcode = jumpUrlParams.get('groupcode');
|
const groupcode = jumpUrlParams.get('groupcode');
|
||||||
let receiveruin = jumpUrlParams.get('receiveruin');
|
const receiveruin = jumpUrlParams.get('receiveruin');
|
||||||
let msgseq = jumpUrlParams.get('msgseq');
|
const msgseq = jumpUrlParams.get('msgseq');
|
||||||
request_seq = msgseq ?? '';
|
request_seq = msgseq ?? '';
|
||||||
if (groupcode === groupInvite.groupUin.toString() && receiveruin === this.core.selfInfo.uin) {
|
if (groupcode === groupInvite.groupUin.toString() && receiveruin === this.core.selfInfo.uin) {
|
||||||
return true;
|
return true;
|
||||||
@@ -1136,7 +1136,7 @@ export class OneBotMsgApi {
|
|||||||
waitStatus: 1,
|
waitStatus: 1,
|
||||||
},
|
},
|
||||||
status: 1
|
status: 1
|
||||||
})
|
});
|
||||||
return new OB11GroupRequestEvent(
|
return new OB11GroupRequestEvent(
|
||||||
this.core,
|
this.core,
|
||||||
+groupInvite.groupUin,
|
+groupInvite.groupUin,
|
||||||
|
@@ -92,7 +92,7 @@ export class OneBotQuickActionApi {
|
|||||||
|
|
||||||
async handleGroupRequest(request: OB11GroupRequestEvent, quickAction: QuickActionGroupRequest) {
|
async handleGroupRequest(request: OB11GroupRequestEvent, quickAction: QuickActionGroupRequest) {
|
||||||
|
|
||||||
let invite_notify = this.obContext.apis.MsgApi.notifyGroupInvite.get(request.flag);
|
const invite_notify = this.obContext.apis.MsgApi.notifyGroupInvite.get(request.flag);
|
||||||
const notify = invite_notify ?? await this.findNotify(request.flag);
|
const notify = invite_notify ?? await this.findNotify(request.flag);
|
||||||
|
|
||||||
if (!isNull(quickAction.approve) && notify) {
|
if (!isNull(quickAction.approve) && notify) {
|
||||||
|
@@ -222,7 +222,7 @@ async function handleLogin(
|
|||||||
logger.log(`可用于快速登录的 QQ:\n${historyLoginList
|
logger.log(`可用于快速登录的 QQ:\n${historyLoginList
|
||||||
.map((u, index) => `${index + 1}. ${u.uin} ${u.nickName}`)
|
.map((u, index) => `${index + 1}. ${u.uin} ${u.nickName}`)
|
||||||
.join('\n')
|
.join('\n')
|
||||||
}`);
|
}`);
|
||||||
}
|
}
|
||||||
loginService.getQRCodePicture();
|
loginService.getQRCodePicture();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user