diff --git a/src/common/utils/db.ts b/src/common/utils/db.ts index 4a32d587..01df04ff 100644 --- a/src/common/utils/db.ts +++ b/src/common/utils/db.ts @@ -4,6 +4,7 @@ import sqlite3 from 'sqlite3'; import { log, logDebug, logError } from '@/common/utils/log'; import { NTQQMsgApi } from '@/core'; import LRU from "@/common/utils/LRUCache"; +import { ob11Config } from '@/onebot11/config'; export interface IRember { last_sent_time: number; @@ -483,24 +484,27 @@ class DBUtil extends DBUtilBase { userId: number, time: number ) { - this.LURCache.set(groupId, userId, time) + if (ob11Config.GroupLocalTimeRecord[0] == -1 || ob11Config.GroupLocalTimeRecord.includes(groupId)) + this.LURCache.set(groupId, userId, time) } async insertJoinTime( groupId: number, userId: number, time: number ) { - await this.createGroupInfoTimeTableIfNotExist(groupId); - this.db!.all( - `INSERT OR REPLACE INTO "${groupId}" (user_id, last_sent_time, join_time) VALUES (?,?,?)`, - [userId, time, time], - (err) => { - if (err) - logError(err), - Promise.reject(), - console.log("插入入群时间失败", userId, groupId); - } - ); + if (ob11Config.GroupLocalTimeRecord[0] == -1 || ob11Config.GroupLocalTimeRecord.includes(groupId)){ + await this.createGroupInfoTimeTableIfNotExist(groupId); + this.db!.all( + `INSERT OR REPLACE INTO "${groupId}" (user_id, last_sent_time, join_time) VALUES (?,?,?)`, + [userId, time, time], + (err) => { + if (err) + logError(err), + Promise.reject(), + console.log("插入入群时间失败", userId, groupId); + } + ); + } } } diff --git a/src/onebot11/config.ts b/src/onebot11/config.ts index a859b46e..d4193d5f 100644 --- a/src/onebot11/config.ts +++ b/src/onebot11/config.ts @@ -33,7 +33,7 @@ export interface OB11Config { reportSelfMessage: boolean; token: string; - GroupLocalTimeRecord: Array; + GroupLocalTimeRecord: Array; read(): OB11Config; @@ -67,7 +67,7 @@ class Config extends ConfigBase implements OB11Config { reportSelfMessage = false; token = ''; - GroupLocalTimeRecord = []; + GroupLocalTimeRecord = [] as Array; getConfigPath() { return path.join(this.getConfigDir(), `onebot11_${selfInfo.uin}.json`); diff --git a/src/onebot11/event/notice/OB11GroupIncreaseEvent.ts b/src/onebot11/event/notice/OB11GroupIncreaseEvent.ts index b0a86880..7e875d50 100644 --- a/src/onebot11/event/notice/OB11GroupIncreaseEvent.ts +++ b/src/onebot11/event/notice/OB11GroupIncreaseEvent.ts @@ -1,4 +1,5 @@ import { OB11GroupNoticeEvent } from './OB11GroupNoticeEvent'; +import { dbUtil } from '@/common/utils/db'; type GroupIncreaseSubType = 'approve' | 'invite'; export class OB11GroupIncreaseEvent extends OB11GroupNoticeEvent { @@ -11,5 +12,8 @@ export class OB11GroupIncreaseEvent extends OB11GroupNoticeEvent { this.operator_id = operatorId; this.user_id = userId; this.sub_type = subType; + + dbUtil.insertJoinTime(groupId, userId, Math.floor(Date.now() / 1000)) + } }