mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2025-07-19 12:03:37 +00:00
chore: run eslint --fix in onebot module
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
import BaseAction from '../BaseAction';;
|
import BaseAction from '../BaseAction';
|
||||||
import { ActionName } from '../types';
|
import { ActionName } from '../types';
|
||||||
import { ChatType, Peer, SendFileElement } from '@/core/entities';
|
import { ChatType, Peer, SendFileElement } from '@/core/entities';
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
|
@@ -35,7 +35,7 @@ class GetGroupMemberList extends BaseAction<Payload, OB11GroupMember[]> {
|
|||||||
|
|
||||||
const MemberMap: Map<number, OB11GroupMember> = new Map<number, OB11GroupMember>();
|
const MemberMap: Map<number, OB11GroupMember> = new Map<number, OB11GroupMember>();
|
||||||
// 转为Map 方便索引
|
// 转为Map 方便索引
|
||||||
let GroupMemberUids: string[] = [];
|
const GroupMemberUids: string[] = [];
|
||||||
const date = Math.round(Date.now() / 1000);
|
const date = Math.round(Date.now() / 1000);
|
||||||
for (let i = 0, len = _groupMembers.length; i < len; i++) {
|
for (let i = 0, len = _groupMembers.length; i < len; i++) {
|
||||||
// 保证基础数据有这个 同时避免群管插件过于依赖这个杀了
|
// 保证基础数据有这个 同时避免群管插件过于依赖这个杀了
|
||||||
|
@@ -22,8 +22,8 @@ export default class SetGroupAdmin extends BaseAction<Payload, null> {
|
|||||||
protected async _handle(payload: Payload): Promise<null> {
|
protected async _handle(payload: Payload): Promise<null> {
|
||||||
const NTQQGroupApi = this.CoreContext.getApiContext().GroupApi;
|
const NTQQGroupApi = this.CoreContext.getApiContext().GroupApi;
|
||||||
const NTQQUserApi = this.CoreContext.getApiContext().UserApi;
|
const NTQQUserApi = this.CoreContext.getApiContext().UserApi;
|
||||||
let uid = await NTQQUserApi.getUidByUin(payload.user_id.toString())
|
const uid = await NTQQUserApi.getUidByUin(payload.user_id.toString());
|
||||||
if(!uid) throw new Error('get Uid Error')
|
if(!uid) throw new Error('get Uid Error');
|
||||||
await NTQQGroupApi.setMemberRole(payload.group_id.toString(), uid, payload.enable ? GroupMemberRole.admin : GroupMemberRole.normal);
|
await NTQQGroupApi.setMemberRole(payload.group_id.toString(), uid, payload.enable ? GroupMemberRole.admin : GroupMemberRole.normal);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@@ -24,7 +24,7 @@ export default class SetGroupKick extends BaseAction<Payload, null> {
|
|||||||
const NTQQUserApi = this.CoreContext.getApiContext().UserApi;
|
const NTQQUserApi = this.CoreContext.getApiContext().UserApi;
|
||||||
const rejectReq = payload.reject_add_request?.toString() == 'true';
|
const rejectReq = payload.reject_add_request?.toString() == 'true';
|
||||||
const uid = await NTQQUserApi.getUidByUin(payload.user_id.toString());
|
const uid = await NTQQUserApi.getUidByUin(payload.user_id.toString());
|
||||||
if(!uid) throw new Error('get Uid Error')
|
if(!uid) throw new Error('get Uid Error');
|
||||||
await NTQQGroupApi.kickMember(payload.group_id.toString(), [uid], rejectReq);
|
await NTQQGroupApi.kickMember(payload.group_id.toString(), [uid], rejectReq);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@@ -16,10 +16,6 @@ export default class SetGroupLeave extends BaseAction<Payload, any> {
|
|||||||
PayloadSchema = SchemaData;
|
PayloadSchema = SchemaData;
|
||||||
protected async _handle(payload: Payload): Promise<any> {
|
protected async _handle(payload: Payload): Promise<any> {
|
||||||
const NTQQGroupApi = this.CoreContext.getApiContext().GroupApi;
|
const NTQQGroupApi = this.CoreContext.getApiContext().GroupApi;
|
||||||
try {
|
|
||||||
await NTQQGroupApi.quitGroup(payload.group_id.toString());
|
await NTQQGroupApi.quitGroup(payload.group_id.toString());
|
||||||
} catch (e) {
|
|
||||||
throw e;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -77,7 +77,7 @@ import { FetchEmojioLike } from './extends/FetchEmojioLike';
|
|||||||
import { NapCatCore } from '@/core';
|
import { NapCatCore } from '@/core';
|
||||||
|
|
||||||
export function createActionMap(context: NapCatCore) {
|
export function createActionMap(context: NapCatCore) {
|
||||||
let actionHandlers = [
|
const actionHandlers = [
|
||||||
new FetchEmojioLike(context),
|
new FetchEmojioLike(context),
|
||||||
new GetFile(context),
|
new GetFile(context),
|
||||||
new SetSelfProfile(context),
|
new SetSelfProfile(context),
|
||||||
|
@@ -26,7 +26,7 @@ class DeleteMsg extends BaseAction<Payload, void> {
|
|||||||
const NTQQMsgApi = this.CoreContext.getApiContext().MsgApi;
|
const NTQQMsgApi = this.CoreContext.getApiContext().MsgApi;
|
||||||
const msg = MessageUnique.getMsgIdAndPeerByShortId(Number(payload.message_id));
|
const msg = MessageUnique.getMsgIdAndPeerByShortId(Number(payload.message_id));
|
||||||
if (msg) {
|
if (msg) {
|
||||||
let ret = this.CoreContext.eventWrapper.RegisterListen<NodeIKernelMsgListener['onMsgInfoListUpdate']>
|
const ret = this.CoreContext.eventWrapper.RegisterListen<NodeIKernelMsgListener['onMsgInfoListUpdate']>
|
||||||
(
|
(
|
||||||
'NodeIKernelMsgListener/onMsgInfoListUpdate',
|
'NodeIKernelMsgListener/onMsgInfoListUpdate',
|
||||||
1,
|
1,
|
||||||
@@ -37,9 +37,9 @@ class DeleteMsg extends BaseAction<Payload, void> {
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
).catch(e => new Promise<undefined>((resolve, reject) => { resolve(undefined) }));
|
).catch(e => new Promise<undefined>((resolve, reject) => { resolve(undefined); }));
|
||||||
await NTQQMsgApi.recallMsg(msg.Peer, [msg.MsgId]);
|
await NTQQMsgApi.recallMsg(msg.Peer, [msg.MsgId]);
|
||||||
let data = await ret;
|
const data = await ret;
|
||||||
if (!data) {
|
if (!data) {
|
||||||
throw new Error('Recall failed');
|
throw new Error('Recall failed');
|
||||||
}
|
}
|
||||||
|
@@ -47,8 +47,8 @@ const _handlers: {
|
|||||||
|
|
||||||
// then the qq is a group member
|
// then the qq is a group member
|
||||||
// Mlikiowa V2.0.0 Refactor Todo
|
// Mlikiowa V2.0.0 Refactor Todo
|
||||||
let uid = await coreContext.getApiContext().UserApi.getUidByUin(atQQ);
|
const uid = await coreContext.getApiContext().UserApi.getUidByUin(atQQ);
|
||||||
if (!uid) throw new Error('Get Uid Error')
|
if (!uid) throw new Error('Get Uid Error');
|
||||||
return SendMsgElementConstructor.at(coreContext, atQQ, uid, AtType.atUser, "");
|
return SendMsgElementConstructor.at(coreContext, atQQ, uid, AtType.atUser, "");
|
||||||
},
|
},
|
||||||
[OB11MessageDataType.reply]: async (coreContext, { data: { id } }) => {
|
[OB11MessageDataType.reply]: async (coreContext, { data: { id } }) => {
|
||||||
@@ -58,7 +58,8 @@ const _handlers: {
|
|||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
const NTQQMsgApi = coreContext.getApiContext().MsgApi;
|
const NTQQMsgApi = coreContext.getApiContext().MsgApi;
|
||||||
const replyMsg = (await NTQQMsgApi.getMsgsByMsgId(replyMsgM?.Peer!, [replyMsgM?.MsgId!])).msgList[0];
|
const replyMsg = (await NTQQMsgApi.getMsgsByMsgId(
|
||||||
|
replyMsgM.Peer, [replyMsgM.MsgId!])).msgList[0];
|
||||||
return replyMsg ?
|
return replyMsg ?
|
||||||
SendMsgElementConstructor.reply(coreContext, replyMsg.msgSeq, replyMsg.msgId, replyMsg.senderUin!, replyMsg.senderUin!) :
|
SendMsgElementConstructor.reply(coreContext, replyMsg.msgSeq, replyMsg.msgId, replyMsg.senderUin!, replyMsg.senderUin!) :
|
||||||
undefined;
|
undefined;
|
||||||
|
@@ -2,7 +2,7 @@ import { ChatType, ElementType, NapCatCore, Peer, RawMessage, SendMessageElement
|
|||||||
import { MessageUnique } from '@/common/utils/MessageUnique';
|
import { MessageUnique } from '@/common/utils/MessageUnique';
|
||||||
import { OB11MessageDataType, OB11MessageNode } from '@/onebot/types';
|
import { OB11MessageDataType, OB11MessageNode } from '@/onebot/types';
|
||||||
import createSendElements from './create-send-elements';
|
import createSendElements from './create-send-elements';
|
||||||
import { normalize, sendMsg } from "../SendMsg/index"
|
import { normalize, sendMsg } from "../SendMsg/index";
|
||||||
async function cloneMsg(coreContext: NapCatCore, msg: RawMessage): Promise<RawMessage | undefined> {
|
async function cloneMsg(coreContext: NapCatCore, msg: RawMessage): Promise<RawMessage | undefined> {
|
||||||
const selfPeer = {
|
const selfPeer = {
|
||||||
chatType: ChatType.friend,
|
chatType: ChatType.friend,
|
||||||
@@ -50,24 +50,24 @@ export async function handleForwardNode(coreContext: NapCatCore, destPeer: Peer,
|
|||||||
} else {
|
} else {
|
||||||
// 自定义的消息
|
// 自定义的消息
|
||||||
try {
|
try {
|
||||||
let OB11Data = normalize(messageNode.data.content);
|
const OB11Data = normalize(messageNode.data.content);
|
||||||
//筛选node消息
|
//筛选node消息
|
||||||
let isNodeMsg = OB11Data.filter(e => e.type === OB11MessageDataType.node).length;//找到子转发消息
|
const isNodeMsg = OB11Data.filter(e => e.type === OB11MessageDataType.node).length;//找到子转发消息
|
||||||
if (isNodeMsg !== 0) {
|
if (isNodeMsg !== 0) {
|
||||||
if (isNodeMsg !== OB11Data.length) { logger.logError('子消息中包含非node消息 跳过不合法部分'); continue; }
|
if (isNodeMsg !== OB11Data.length) { logger.logError('子消息中包含非node消息 跳过不合法部分'); continue; }
|
||||||
const nodeMsg = await handleForwardNode(coreContext, selfPeer, OB11Data.filter(e => e.type === OB11MessageDataType.node));
|
const nodeMsg = await handleForwardNode(coreContext, selfPeer, OB11Data.filter(e => e.type === OB11MessageDataType.node));
|
||||||
if (nodeMsg) { nodeMsgIds.push(nodeMsg.msgId); MessageUnique.createMsg(selfPeer, nodeMsg.msgId) };
|
if (nodeMsg) { nodeMsgIds.push(nodeMsg.msgId); MessageUnique.createMsg(selfPeer, nodeMsg.msgId); }
|
||||||
//完成子卡片生成跳过后续
|
//完成子卡片生成跳过后续
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
const { sendElements } = await createSendElements(coreContext,OB11Data, destPeer);
|
const { sendElements } = await createSendElements(coreContext,OB11Data, destPeer);
|
||||||
//拆分消息
|
//拆分消息
|
||||||
let MixElement = sendElements.filter(element => element.elementType !== ElementType.FILE && element.elementType !== ElementType.VIDEO);
|
const MixElement = sendElements.filter(element => element.elementType !== ElementType.FILE && element.elementType !== ElementType.VIDEO);
|
||||||
let SingleElement = sendElements.filter(element => element.elementType === ElementType.FILE || element.elementType === ElementType.VIDEO).map(e => [e]);
|
const SingleElement = sendElements.filter(element => element.elementType === ElementType.FILE || element.elementType === ElementType.VIDEO).map(e => [e]);
|
||||||
let AllElement: SendMessageElement[][] = [MixElement, ...SingleElement].filter(e => e !== undefined && e.length !== 0);
|
const AllElement: SendMessageElement[][] = [MixElement, ...SingleElement].filter(e => e !== undefined && e.length !== 0);
|
||||||
const MsgNodeList: Promise<RawMessage | undefined>[] = [];
|
const MsgNodeList: Promise<RawMessage | undefined>[] = [];
|
||||||
for (const sendElementsSplitElement of AllElement) {
|
for (const sendElementsSplitElement of AllElement) {
|
||||||
MsgNodeList.push(sendMsg(coreContext,selfPeer, sendElementsSplitElement, [], true).catch(e => new Promise((resolve, reject) => { resolve(undefined) })));
|
MsgNodeList.push(sendMsg(coreContext,selfPeer, sendElementsSplitElement, [], true).catch(e => new Promise((resolve, reject) => { resolve(undefined); })));
|
||||||
}
|
}
|
||||||
(await Promise.allSettled(MsgNodeList)).map((result) => {
|
(await Promise.allSettled(MsgNodeList)).map((result) => {
|
||||||
if (result.status === 'fulfilled' && result.value) {
|
if (result.status === 'fulfilled' && result.value) {
|
||||||
@@ -84,7 +84,7 @@ export async function handleForwardNode(coreContext: NapCatCore, destPeer: Peer,
|
|||||||
let srcPeer: Peer | undefined = undefined;
|
let srcPeer: Peer | undefined = undefined;
|
||||||
let needSendSelf = false;
|
let needSendSelf = false;
|
||||||
//检测是否处于同一个Peer 不在同一个peer则全部消息由自身发送
|
//检测是否处于同一个Peer 不在同一个peer则全部消息由自身发送
|
||||||
for (let msgId of nodeMsgIds) {
|
for (const msgId of nodeMsgIds) {
|
||||||
const nodeMsgPeer = MessageUnique.getPeerByMsgId(msgId);
|
const nodeMsgPeer = MessageUnique.getPeerByMsgId(msgId);
|
||||||
if (!nodeMsgPeer) {
|
if (!nodeMsgPeer) {
|
||||||
logger.logError('转发消息失败,未找到消息', msgId);
|
logger.logError('转发消息失败,未找到消息', msgId);
|
||||||
|
@@ -85,7 +85,7 @@ async function createContext(coreContext: NapCatCore, payload: OB11PostSendMsg,
|
|||||||
const NTQQFriendApi = coreContext.getApiContext().FriendApi;
|
const NTQQFriendApi = coreContext.getApiContext().FriendApi;
|
||||||
const NTQQUserApi = coreContext.getApiContext().UserApi;
|
const NTQQUserApi = coreContext.getApiContext().UserApi;
|
||||||
if ((contextMode === ContextMode.Group || contextMode === ContextMode.Normal) && payload.group_id) {
|
if ((contextMode === ContextMode.Group || contextMode === ContextMode.Normal) && payload.group_id) {
|
||||||
const group = (await NTQQGroupApi.getGroups()).find(e => e.groupCode == payload.group_id?.toString())
|
const group = (await NTQQGroupApi.getGroups()).find(e => e.groupCode == payload.group_id?.toString());
|
||||||
return {
|
return {
|
||||||
chatType: ChatType.group,
|
chatType: ChatType.group,
|
||||||
peerUid: payload.group_id.toString()
|
peerUid: payload.group_id.toString()
|
||||||
|
@@ -3,7 +3,7 @@ import { OB11BaseNoticeEvent } from './OB11BaseNoticeEvent';
|
|||||||
export class OB11InputStatusEvent extends OB11BaseNoticeEvent {
|
export class OB11InputStatusEvent extends OB11BaseNoticeEvent {
|
||||||
notice_type = 'notify';
|
notice_type = 'notify';
|
||||||
sub_type = 'input_status';
|
sub_type = 'input_status';
|
||||||
status_text = "对方正在输入..."
|
status_text = "对方正在输入...";
|
||||||
eventType = 1;
|
eventType = 1;
|
||||||
user_id = 0;
|
user_id = 0;
|
||||||
constructor(user_id: number, eventType: number, status_text: string) {
|
constructor(user_id: number, eventType: number, status_text: string) {
|
||||||
|
@@ -81,7 +81,7 @@ export class OB11Constructor {
|
|||||||
resMsg.group_id = parseInt(msg.peerUin);
|
resMsg.group_id = parseInt(msg.peerUin);
|
||||||
//直接去QQNative取
|
//直接去QQNative取
|
||||||
const memberList = await NTQQGroupApi.getGroupMembers(msg.peerUin);
|
const memberList = await NTQQGroupApi.getGroupMembers(msg.peerUin);
|
||||||
let member = memberList.get(msg.senderUin!);
|
const member = memberList.get(msg.senderUin!);
|
||||||
if (member) {
|
if (member) {
|
||||||
resMsg.sender.role = OB11Constructor.groupMemberRole(member.role);
|
resMsg.sender.role = OB11Constructor.groupMemberRole(member.role);
|
||||||
resMsg.sender.nickname = member.nick;
|
resMsg.sender.nickname = member.nick;
|
||||||
@@ -213,7 +213,7 @@ export class OB11Constructor {
|
|||||||
const videoElement: VideoElement = element.videoElement;
|
const videoElement: VideoElement = element.videoElement;
|
||||||
//读取视频链接并兜底
|
//读取视频链接并兜底
|
||||||
let videoUrl;//Array
|
let videoUrl;//Array
|
||||||
if (msg.peerUin = '284840486') {
|
if (msg.peerUin === '284840486') {
|
||||||
//合并消息内部 应该进行特殊处理 可能需要重写peer 待测试与研究 Mlikiowa Taged TODO
|
//合并消息内部 应该进行特殊处理 可能需要重写peer 待测试与研究 Mlikiowa Taged TODO
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
@@ -330,17 +330,17 @@ export class OB11Constructor {
|
|||||||
msg.parentMsgIdList.push(msg.msgId);
|
msg.parentMsgIdList.push(msg.msgId);
|
||||||
//let parentMsgId = msg.parentMsgIdList[msg.parentMsgIdList.length - 2 < 0 ? 0 : msg.parentMsgIdList.length - 2];
|
//let parentMsgId = msg.parentMsgIdList[msg.parentMsgIdList.length - 2 < 0 ? 0 : msg.parentMsgIdList.length - 2];
|
||||||
//加入自身MsgId
|
//加入自身MsgId
|
||||||
let MultiMsgs = (await NTQQMsgApi.getMultiMsg(ParentMsgPeer, msg.parentMsgIdList[0], msg.msgId))?.msgList;
|
const MultiMsgs = (await NTQQMsgApi.getMultiMsg(ParentMsgPeer, msg.parentMsgIdList[0], msg.msgId))?.msgList;
|
||||||
//拉取下级消息
|
//拉取下级消息
|
||||||
if (!MultiMsgs) continue;
|
if (!MultiMsgs) continue;
|
||||||
//拉取失败则跳过
|
//拉取失败则跳过
|
||||||
message_data['data']['content'] = [];
|
message_data['data']['content'] = [];
|
||||||
for (let MultiMsg of MultiMsgs) {
|
for (const MultiMsg of MultiMsgs) {
|
||||||
//对每条拉取的消息传递ParentMsgPeer修正Peer
|
//对每条拉取的消息传递ParentMsgPeer修正Peer
|
||||||
MultiMsg.parentMsgPeer = ParentMsgPeer;
|
MultiMsg.parentMsgPeer = ParentMsgPeer;
|
||||||
MultiMsg.parentMsgIdList = msg.parentMsgIdList;
|
MultiMsg.parentMsgIdList = msg.parentMsgIdList;
|
||||||
MultiMsg.id = MessageUnique.createMsg(ParentMsgPeer, MultiMsg.msgId);//该ID仅用查看 无法调用
|
MultiMsg.id = MessageUnique.createMsg(ParentMsgPeer, MultiMsg.msgId);//该ID仅用查看 无法调用
|
||||||
let msgList = await OB11Constructor.message(coreContext, MultiMsg, "array");
|
const msgList = await OB11Constructor.message(coreContext, MultiMsg, "array");
|
||||||
message_data['data']['content'].push(msgList);
|
message_data['data']['content'].push(msgList);
|
||||||
//console.log("合并消息", msgList);
|
//console.log("合并消息", msgList);
|
||||||
}
|
}
|
||||||
@@ -503,12 +503,18 @@ export class OB11Constructor {
|
|||||||
if (replyMsgList.length < 1) {
|
if (replyMsgList.length < 1) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log('表情回应消息', msgSeq, " 结算ID", replyMsgList[0].msgId);
|
|
||||||
const replyMsg = replyMsgList[0];
|
const replyMsg = replyMsgList[0];
|
||||||
return new OB11GroupMsgEmojiLikeEvent(parseInt(msg.peerUid), parseInt(senderUin), MessageUnique.getShortIdByMsgId(replyMsg?.msgId!)!, [{
|
console.log('表情回应消息', msgSeq, " 结算ID", replyMsg.msgId);
|
||||||
|
return new OB11GroupMsgEmojiLikeEvent(
|
||||||
|
parseInt(msg.peerUid),
|
||||||
|
parseInt(senderUin),
|
||||||
|
MessageUnique.getShortIdByMsgId(replyMsg.msgId)!,
|
||||||
|
[{
|
||||||
emoji_id: emojiId,
|
emoji_id: emojiId,
|
||||||
count: 1
|
count: 1
|
||||||
}]);
|
}]
|
||||||
|
);
|
||||||
} catch (e: any) {
|
} catch (e: any) {
|
||||||
logger.logError('解析表情回应消息失败', e.stack);
|
logger.logError('解析表情回应消息失败', e.stack);
|
||||||
}
|
}
|
||||||
|
@@ -31,7 +31,7 @@ export class SendMsgElementConstructor {
|
|||||||
text: "测试",
|
text: "测试",
|
||||||
ext: ""
|
ext: ""
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
static text(CoreContext: NapCatCore, content: string): SendTextElement {
|
static text(CoreContext: NapCatCore, content: string): SendTextElement {
|
||||||
return {
|
return {
|
||||||
|
Reference in New Issue
Block a user