refactor: format with eslint & prettier

This commit is contained in:
digua
2026-02-11 20:24:46 +08:00
committed by digua
parent 5068df81c3
commit f3ba043140
79 changed files with 883 additions and 525 deletions

View File

@@ -160,48 +160,48 @@ const SYSTEM_MSG_PATTERN = /^((?:上午|下午|午前|午後)?\d{1,2}:\d{2}(?:[A
*/
const SPECIAL_MESSAGE_TYPES: Record<string, MessageType> = {
// 图片 / Photo
'[Photo]': MessageType.IMAGE, // EN
'[照片]': MessageType.IMAGE, // ZH-CN / ZH-TW
'[写真]': MessageType.IMAGE, // JA
Photos: MessageType.IMAGE, // EN (fallback)
'[Photo]': MessageType.IMAGE, // EN
'[照片]': MessageType.IMAGE, // ZH-CN / ZH-TW
'[写真]': MessageType.IMAGE, // JA
Photos: MessageType.IMAGE, // EN (fallback)
// 语音 / Voice
'[Voice message]': MessageType.VOICE, // EN
'[语音信息]': MessageType.VOICE, // ZH-CN
'[語音訊息]': MessageType.VOICE, // ZH-TW
'[Voice message]': MessageType.VOICE, // EN
'[语音信息]': MessageType.VOICE, // ZH-CN
'[語音訊息]': MessageType.VOICE, // ZH-TW
'[ボイスメッセージ]': MessageType.VOICE, // JA
Audio: MessageType.VOICE, // EN (fallback)
Audio: MessageType.VOICE, // EN (fallback)
// 视频 / Video
'[Video]': MessageType.VIDEO, // EN
'[视频]': MessageType.VIDEO, // ZH-CN
'[影片]': MessageType.VIDEO, // ZH-TW
'[動画]': MessageType.VIDEO, // JA
Videos: MessageType.VIDEO, // EN (fallback)
'[Video]': MessageType.VIDEO, // EN
'[视频]': MessageType.VIDEO, // ZH-CN
'[影片]': MessageType.VIDEO, // ZH-TW
'[動画]': MessageType.VIDEO, // JA
Videos: MessageType.VIDEO, // EN (fallback)
// 文件 / File
'[File]': MessageType.FILE, // EN
'[文件]': MessageType.FILE, // ZH-CN
'[檔案]': MessageType.FILE, // ZH-TW
'[ファイル]': MessageType.FILE, // JA
'[File]': MessageType.FILE, // EN
'[文件]': MessageType.FILE, // ZH-CN
'[檔案]': MessageType.FILE, // ZH-TW
'[ファイル]': MessageType.FILE, // JA
// 贴纸 / Sticker
'[Sticker]': MessageType.EMOJI, // EN
'[贴图]': MessageType.EMOJI, // ZH-CN
'[貼圖]': MessageType.EMOJI, // ZH-TW
'[スタンプ]': MessageType.EMOJI, // JA
Stickers: MessageType.EMOJI, // EN (fallback)
'[Sticker]': MessageType.EMOJI, // EN
'[贴图]': MessageType.EMOJI, // ZH-CN
'[貼圖]': MessageType.EMOJI, // ZH-TW
'[スタンプ]': MessageType.EMOJI, // JA
Stickers: MessageType.EMOJI, // EN (fallback)
// 位置 / Location
'[Location]': MessageType.LOCATION, // EN
'[位置]': MessageType.LOCATION, // ZH-CN / ZH-TW
'[位置]': MessageType.LOCATION, // ZH-CN / ZH-TW
'[位置情報]': MessageType.LOCATION, // JA
// 记事本 / Notes
'[Notes]': MessageType.TEXT, // EN
'[记事本]': MessageType.TEXT, // ZH-CN
'[記事本]': MessageType.TEXT, // ZH-TW
'[ノート]': MessageType.TEXT, // JA
'[Notes]': MessageType.TEXT, // EN
'[记事本]': MessageType.TEXT, // ZH-CN
'[記事本]': MessageType.TEXT, // ZH-TW
'[ノート]': MessageType.TEXT, // JA
}
/**
@@ -223,42 +223,37 @@ function detectMessageType(content: string): MessageType {
// 检查系统消息多语言EN / ZH-CN / ZH-TW / JA
if (
// --- 加入群组 / Join group ---
content.includes(' joined the group') || // EN
content.includes('已加入该群') || // ZH-CN
content.includes('已加入群組') || // ZH-TW
content.includes(' joined the group') || // EN
content.includes('已加入该群') || // ZH-CN
content.includes('已加入群組') || // ZH-TW
content.includes('がグループに参加しました') || // JA
// --- 拉人进群 / Added to group ---
content.includes(' added ') || // EN
content.includes(' to the group') || // EN
content.includes('已将') || // ZH-CN
content.includes('添加至群') || // ZH-CN
content.includes('添加到群') || // ZH-CN (另一格式)
content.includes('已新增') || // ZH-TW
content.includes('至群組') || // ZH-TW
content.includes(' added ') || // EN
content.includes(' to the group') || // EN
content.includes('已将') || // ZH-CN
content.includes('添加至群') || // ZH-CN
content.includes('添加到群') || // ZH-CN (另一格式)
content.includes('已新增') || // ZH-TW
content.includes('至群組') || // ZH-TW
content.includes('をグループに追加しました') || // JA
// --- 退出群组 / Left group ---
content.includes(' left the group') || // EN
content.includes('已退群') || // ZH-CN
content.includes('已離開群組') || // ZH-TW
content.includes(' left the group') || // EN
content.includes('已退群') || // ZH-CN
content.includes('已離開群組') || // ZH-TW
content.includes('がグループを退会しました') || // JA
// --- 设定公告 / Announcement ---
content.includes('made an announcement') || // EN
content.includes('发布了通告') || // ZH-CN
content.includes('已設定公告') || // ZH-TW
content.includes('がアナウンスしました') || // JA
content.includes('made an announcement') || // EN
content.includes('发布了通告') || // ZH-CN
content.includes('已設定公告') || // ZH-TW
content.includes('がアナウンスしました') || // JA
// --- 收回讯息 / Unsent message ---
content.includes('unsent a message') || // EN
content === 'Message unsent.' || // EN
content.includes('撤回了一条消息') || // ZH-CN
content.includes('已收回訊息') || // ZH-TW
content.includes('送信を取り消しました') || // JA
content.includes('unsent a message') || // EN
content === 'Message unsent.' || // EN
content.includes('撤回了一条消息') || // ZH-CN
content.includes('已收回訊息') || // ZH-TW
content.includes('送信を取り消しました') || // JA
// --- 其他 / Others ---
content.startsWith('Auto-reply') // EN 自动回复
content.startsWith('Auto-reply') // EN 自动回复
) {
return MessageType.SYSTEM
}