refactor: sent msg log

This commit is contained in:
linyuchen 2024-04-28 19:34:16 +08:00
parent e307b289ae
commit 4f90bc7813
4 changed files with 37 additions and 15 deletions

View File

@ -66,7 +66,7 @@ export function setLogSelfInfo(selfInfo: SelfInfo) {
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-expect-error
logConfig.appenders.FileAppender.layout.pattern = logConfig.appenders.ConsoleAppender.layout.pattern =
`%d{yyyy-MM-dd hh:mm:ss} [%p] ${selfInfo.nick}(${selfInfo.uin}) %m`;
`%d{yyyy-MM-dd hh:mm:ss} [%p] ${selfInfo.nick}(${selfInfo.uin}) %m`;
log4js.configure(logConfig);
}

View File

@ -1,13 +1,27 @@
import { OB11Message } from '@/onebot11/types';
import { log } from '@/common/utils/log';
import { getGroup, getGroupMember } from '@/core/data';
import { getGroup, getGroupMember, selfInfo } from '@/core/data';
import exp from 'constants';
import { Group } from '@/core';
// todo: 应该放到core去用RawMessage解析打印
export async function logMessage(ob11Message: OB11Message){
const isSelfSent = ob11Message.sender.user_id.toString() === selfInfo.uin;
let prefix = '';
let group: Group | undefined;
if (isSelfSent){
prefix = '发送消息 ';
if (ob11Message.message_type === 'private'){
prefix += '给私聊 ';
prefix += `${ob11Message.target_id}`;
}
else{
group = await getGroup(ob11Message.group_id!);
prefix += '给群聊 ';
}
}
if (ob11Message.message_type === 'group') {
const group = await getGroup(ob11Message.group_id!);
prefix = `群[${group?.groupName}(${ob11Message.group_id})] `;
prefix += `群[${group?.groupName}(${ob11Message.group_id})] `;
}
let msgChain = '';
if (Array.isArray(ob11Message.message)) {
@ -51,7 +65,10 @@ export async function logMessage(ob11Message: OB11Message){
else {
msgChain = ob11Message.message;
}
const msgString = `${prefix}${ob11Message.sender.nickname}(${ob11Message.sender.user_id}): ${msgChain}`;
let msgString = `${prefix}${ob11Message.sender.nickname}(${ob11Message.sender.user_id}): ${msgChain}`;
if (isSelfSent){
msgString = `${prefix}: ${msgChain}`;
}
log(msgString);
}

View File

@ -26,7 +26,8 @@ import { OB11GroupAdminNoticeEvent } from '@/onebot11/event/notice/OB11GroupAdmi
import { GroupDecreaseSubType, OB11GroupDecreaseEvent } from '@/onebot11/event/notice/OB11GroupDecreaseEvent';
import { OB11FriendRecallNoticeEvent } from '@/onebot11/event/notice/OB11FriendRecallNoticeEvent';
import { OB11GroupRecallNoticeEvent } from '@/onebot11/event/notice/OB11GroupRecallNoticeEvent';
import { logMessage } from '@/onebot11/log';
import { logMessage, logNotice, logRequest } from '@/onebot11/log';
import { OB11Message } from '@/onebot11/types';
export class NapCatOnebot11 {
@ -99,6 +100,10 @@ export class NapCatOnebot11 {
this.postRecallMsg(msgList).then().catch(logError);
};
msgListener.onAddSendMsg = (msg) => {
OB11Constructor.message(msg).then((_msg) => {
_msg.target_id = parseInt(msg.peerUin);
logMessage(_msg as OB11Message).then().catch(logError);
});
if (ob11Config.reportSelfMessage) {
dbUtil.addMsg(msg).then(id => {
msg.id = id;
@ -143,6 +148,7 @@ export class NapCatOnebot11 {
// message.msgShortId = await dbUtil.addMsg(message);
// }
OB11Constructor.message(message).then((msg) => {
logDebug('收到消息: ', msg);
if (debug) {
msg.raw = message;
} else {
@ -150,7 +156,13 @@ export class NapCatOnebot11 {
return;
}
}
logDebug('收到消息: ', msg);
if (msg.post_type === 'message') {
logMessage(msg as OB11Message).then().catch(logError);
} else if (msg.post_type === 'notice') {
logNotice(msg).then().catch(logError);
} else if (msg.post_type === 'request') {
logRequest(msg).then().catch(logError);
}
const isSelfMsg = msg.user_id.toString() == selfInfo.uin;
if (isSelfMsg && !reportSelfMessage) {
return;

View File

@ -14,7 +14,6 @@ import { isNull } from '@/common/utils/helper';
import { dbUtil } from '@/common/utils/db';
import { friendRequests, getGroup, groupNotifies, selfInfo } from '@/core/data';
import { NTQQFriendApi, NTQQGroupApi, NTQQMsgApi } from '../../core/src/apis';
import { logMessage, logNotice, logRequest } from '@/onebot11/log';
export type PostEventType = OB11Message | OB11BaseMetaEvent | OB11BaseNoticeEvent
@ -72,13 +71,7 @@ export function postWsEvent(event: PostEventType) {
export function postOB11Event(msg: PostEventType, reportSelf = false, postWs = true) {
const config = ob11Config;
if (msg.post_type === 'message' || msg.post_type === 'message_sent') {
logMessage(msg as OB11Message).then().catch(logError);
} else if (msg.post_type === 'notice') {
logNotice(msg).then().catch(logError);
} else if (msg.post_type === 'request') {
logRequest(msg).then().catch(logError);
}
// 判断msg是否是event
if (!config.reportSelfMessage && !reportSelf) {
if (msg.post_type === 'message' && (msg as OB11Message).user_id.toString() == selfInfo.uin) {