refactor: info record local

This commit is contained in:
手瓜一十雪 2024-05-28 23:24:54 +08:00
parent 4024b6c564
commit 9067a1fc92
6 changed files with 28 additions and 11 deletions

View File

@ -145,7 +145,8 @@ export function migrateConfig(oldConfig: any) {
musicSignUrl: oldConfig.musicSignUrl, musicSignUrl: oldConfig.musicSignUrl,
reportSelfMessage: oldConfig.reportSelfMessage, reportSelfMessage: oldConfig.reportSelfMessage,
token: oldConfig.token, token: oldConfig.token,
GroupLocalTimeRecord: [] GroupLocalTimeRecord: false,
GroupLocalTimeRecordList: []
}; };
return newConfig; return newConfig;
} }

View File

@ -62,7 +62,7 @@ class GetGroupMemberList extends BaseAction<Payload, OB11GroupMember[]> {
MemberMap.set(webGroupMembers[i]?.uin, MemberData); MemberMap.set(webGroupMembers[i]?.uin, MemberData);
} }
} }
} else if (ob11Config.GroupLocalTimeRecord[0] === -1 || ob11Config.GroupLocalTimeRecord.includes(payload.group_id)) { } else if (ob11Config.GroupLocalTimeRecord && ob11Config.GroupLocalTimeRecordList[0] === -1 || ob11Config.GroupLocalTimeRecordList.includes(payload.group_id)) {
const _sendAndJoinRember = await dbUtil.getLastSentTimeAndJoinTime(payload.group_id); const _sendAndJoinRember = await dbUtil.getLastSentTimeAndJoinTime(payload.group_id);
_sendAndJoinRember.forEach((element) => { _sendAndJoinRember.forEach((element) => {
let MemberData = MemberMap.get(element.user_id); let MemberData = MemberMap.get(element.user_id);

View File

@ -32,8 +32,8 @@ export interface OB11Config {
musicSignUrl: string; musicSignUrl: string;
reportSelfMessage: boolean; reportSelfMessage: boolean;
token: string; token: string;
GroupLocalTimeRecord: boolean;
GroupLocalTimeRecord: Array<number>; GroupLocalTimeRecordList: Array<number>;
read(): OB11Config; read(): OB11Config;
@ -66,8 +66,8 @@ class Config extends ConfigBase<OB11Config> implements OB11Config {
musicSignUrl = ''; musicSignUrl = '';
reportSelfMessage = false; reportSelfMessage = false;
token = ''; token = '';
GroupLocalTimeRecord = false;
GroupLocalTimeRecord = [] as Array<number>; GroupLocalTimeRecordList = [] as Array<number>;
getConfigPath() { getConfigPath() {
return path.join(this.getConfigDir(), `onebot11_${selfInfo.uin}.json`); return path.join(this.getConfigDir(), `onebot11_${selfInfo.uin}.json`);

View File

@ -287,7 +287,7 @@ export class NapCatOnebot11 {
if (msg.post_type === 'message') { if (msg.post_type === 'message') {
logMessage(msg as OB11Message).then().catch(logError); logMessage(msg as OB11Message).then().catch(logError);
// 大概测试了一下10000个以内 includes 和 find 性能差距不大 // 大概测试了一下10000个以内 includes 和 find 性能差距不大
if (msg.message_type == 'group' && msg.group_id && (ob11Config.GroupLocalTimeRecord[0] === -1 || ob11Config.GroupLocalTimeRecord.find(gid=>gid == msg.group_id))) { if (msg.message_type == 'group' && msg.group_id && ob11Config.GroupLocalTimeRecord && (ob11Config.GroupLocalTimeRecordList[0] === -1 || ob11Config.GroupLocalTimeRecordList.find(gid=>gid == msg.group_id))) {
dbUtil.insertLastSentTime(msg.group_id, msg.user_id, msg.time); dbUtil.insertLastSentTime(msg.group_id, msg.user_id, msg.time);
} }
} else if (msg.post_type === 'notice') { } else if (msg.post_type === 'notice') {

View File

@ -69,7 +69,7 @@ async function onSettingWindowCreated(view: Element) {
</div> </div>
<div class="q-input"> <div class="q-input">
<input id="config-ob11-http-secret" class="q-input__inner" data-config-key="ob11.http.secret" type="text" value="${ob11Config.http.secret <input id="config-ob11-http-secret" class="q-input__inner" data-config-key="ob11.http.secret" type="text" value="${ob11Config.http.secret
}" placeholder="" /> }" placeholder="" />
</div> </div>
</setting-item> </setting-item>
<setting-item data-direction="row"> <setting-item data-direction="row">
@ -101,8 +101,7 @@ async function onSettingWindowCreated(view: Element) {
'control-display-id': 'config-ob11-reverseWs-urls', 'control-display-id': 'config-ob11-reverseWs-urls',
}) })
), ),
`<div class="config-host-list" id="config-ob11-reverseWs-urls" ${ob11Config.reverseWs.enable ? '' : 'is-hidden' `<div class="config-host-list" id="config-ob11-reverseWs-urls" ${ob11Config.reverseWs.enable ? '' : 'is-hidden' }>
}>
<setting-item data-direction="row"> <setting-item data-direction="row">
<div> <div>
<setting-text> WebSocket </setting-text> <setting-text> WebSocket </setting-text>
@ -139,6 +138,22 @@ async function onSettingWindowCreated(view: Element) {
`<div class="q-input" style="width:210px;"><input class="q-input__inner" data-config-key="ob11.musicSignUrl" type="text" value="${ob11Config.musicSignUrl}" placeholder="未设置" /></div>`, `<div class="q-input" style="width:210px;"><input class="q-input__inner" data-config-key="ob11.musicSignUrl" type="text" value="${ob11Config.musicSignUrl}" placeholder="未设置" /></div>`,
'ob11.musicSignUrl' 'ob11.musicSignUrl'
), ),
SettingItem(
'启用本地进群时间与发言时间记录',
undefined,
SettingSwitch('ob11.GroupLocalTimeRecord', ob11Config.reverseWs.enable, {
'control-display-id': 'config-ob11-GroupLocalTimeRecordList',
})
),
`<div class="config-host-list" id="config-ob11-GroupLocalTimeRecordList" ${ob11Config.reverseWs.enable ? '' : 'is-hidden'}>
<setting-item data-direction="row">
<div>
<setting-text> WebSocket </setting-text>
</div>
<setting-button id="config-ob11-GroupLocalTimeRecordList-add" data-type="primary"></setting-button>
</setting-item>
<div id="config-ob11-GroupLocalTimeRecordList-list"></div>
</div>`,
SettingItem( SettingItem(
'', '',
undefined, undefined,

View File

@ -26,7 +26,8 @@ export interface OB11Config {
musicSignUrl: ''; musicSignUrl: '';
reportSelfMessage: boolean; reportSelfMessage: boolean;
token: ''; token: '';
GroupLocalTimeRecord: []; GroupLocalTimeRecord: false;
GroupLocalTimeRecordList: [];
} }
class WebUiApiOB11ConfigWrapper { class WebUiApiOB11ConfigWrapper {