optimize: log

This commit is contained in:
linyuchen
2024-04-27 18:40:45 +08:00
parent 8f113c0578
commit 8ed54eb155
5 changed files with 118 additions and 27 deletions

View File

@@ -1,6 +1,7 @@
import { OB11Message } from '@/onebot11/types';
import { log } from '@/common/utils/log';
import { getGroup } from '@/common/data';
import { getGroup, getGroupMember } from '@/common/data';
import exp from 'constants';
export async function logMessage(ob11Message: OB11Message){
let prefix = '';
@@ -8,6 +9,56 @@ export async function logMessage(ob11Message: OB11Message){
const group = await getGroup(ob11Message.group_id!);
prefix = `群[${group?.groupName}(${ob11Message.group_id})] `;
}
const msgString = `${prefix}${ob11Message.sender.nickname}(${ob11Message.sender.user_id}): ${ob11Message.raw_message}`;
let msgChain = '';
if (Array.isArray(ob11Message.message)) {
for (const segment of ob11Message.message) {
if (segment.type === 'text') {
msgChain += segment.data.text + '\n';
}
else if (segment.type === 'at') {
const groupMember = await getGroupMember(ob11Message.group_id!, segment.data.qq!);
msgChain += `@${groupMember?.cardName || groupMember?.nick}(${segment.data.qq}) `;
}
else if (segment.type === 'reply') {
msgChain += `回复消息(id:${segment.data.id}) `;
}
else if (segment.type === 'image') {
msgChain += `\n[图片]${segment.data.url}\n`;
}
else if (segment.type === 'face'){
msgChain += `[表情](id:${segment.data.id}) `;
}
else if (segment.type === 'mface'){
msgChain += `\n[商城表情]${segment.data.url}\n`;
}
else if (segment.type === 'record') {
msgChain += `[语音]${segment.data.file} `;
}
else if (segment.type === 'file') {
msgChain += `[文件]${segment.data.file} `;
}
else if (segment.type === 'json') {
msgChain += `\n[json]${segment.data}\n`;
}
else if (segment.type === 'markdown') {
msgChain += `\n[json]${segment.data.content}\n`;
}
else {
msgChain += `${segment}`;
}
}
}
else {
msgChain = ob11Message.message;
}
const msgString = `${prefix}${ob11Message.sender.nickname}(${ob11Message.sender.user_id}): ${msgChain}`;
log(msgString);
}
export async function logNotice(ob11Notice: any){
log('[notice]', ob11Notice);
}
export async function logRequest(ob11Request: any){
log('[request]', ob11Request);
}