feat: wait fix

This commit is contained in:
手瓜一十雪 2024-05-29 00:00:48 +08:00
parent 9067a1fc92
commit aa7798d1d1
9 changed files with 126 additions and 90 deletions

View File

@ -138,6 +138,10 @@ export function migrateConfig(oldConfig: any) {
enable: oldConfig.enableWsReverse, enable: oldConfig.enableWsReverse,
urls: oldConfig.wsReverseUrls, urls: oldConfig.wsReverseUrls,
}, },
GroupLocalTime: {
Record: false,
RecordList: []
},
debug: oldConfig.debug, debug: oldConfig.debug,
heartInterval: oldConfig.heartInterval, heartInterval: oldConfig.heartInterval,
messagePostFormat: oldConfig.messagePostFormat, messagePostFormat: oldConfig.messagePostFormat,
@ -145,8 +149,7 @@ export function migrateConfig(oldConfig: any) {
musicSignUrl: oldConfig.musicSignUrl, musicSignUrl: oldConfig.musicSignUrl,
reportSelfMessage: oldConfig.reportSelfMessage, reportSelfMessage: oldConfig.reportSelfMessage,
token: oldConfig.token, token: oldConfig.token,
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 && ob11Config.GroupLocalTimeRecordList[0] === -1 || ob11Config.GroupLocalTimeRecordList.includes(payload.group_id)) { } else if (ob11Config.GroupLocalTime.Record && ob11Config.GroupLocalTime.RecordList[0] === '-1' || ob11Config.GroupLocalTime.RecordList.includes(payload.group_id.toString())) {
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,9 +32,10 @@ export interface OB11Config {
musicSignUrl: string; musicSignUrl: string;
reportSelfMessage: boolean; reportSelfMessage: boolean;
token: string; token: string;
GroupLocalTimeRecord: boolean; GroupLocalTime: {
GroupLocalTimeRecordList: Array<number>; Record: boolean,
RecordList: Array<string>
},
read(): OB11Config; read(): OB11Config;
save(config: OB11Config): void; save(config: OB11Config): void;
@ -66,8 +67,10 @@ class Config extends ConfigBase<OB11Config> implements OB11Config {
musicSignUrl = ''; musicSignUrl = '';
reportSelfMessage = false; reportSelfMessage = false;
token = ''; token = '';
GroupLocalTimeRecord = false; GroupLocalTime = {
GroupLocalTimeRecordList = [] as Array<number>; Record: false,
RecordList: [] as Array<string>
};
getConfigPath() { getConfigPath() {
return path.join(this.getConfigDir(), `onebot11_${selfInfo.uin}.json`); return path.join(this.getConfigDir(), `onebot11_${selfInfo.uin}.json`);

View File

@ -14,8 +14,7 @@ export class OB11GroupIncreaseEvent extends OB11GroupNoticeEvent {
this.user_id = userId; this.user_id = userId;
this.sub_type = subType; this.sub_type = subType;
if((ob11Config.GroupLocalTimeRecord[0] == -1 || ob11Config.GroupLocalTimeRecord.includes(groupId))) if(ob11Config.GroupLocalTime.Record && (ob11Config.GroupLocalTime.RecordList[0] == '-1' || ob11Config.GroupLocalTime.RecordList.includes(groupId.toString())))
dbUtil.insertJoinTime(groupId, userId, Math.floor(Date.now() / 1000)) dbUtil.insertJoinTime(groupId, userId, Math.floor(Date.now() / 1000))
} }
} }

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 && (ob11Config.GroupLocalTimeRecordList[0] === -1 || ob11Config.GroupLocalTimeRecordList.find(gid=>gid == msg.group_id))) { if (msg.message_type == 'group' && msg.group_id && ob11Config.GroupLocalTime.Record && (ob11Config.GroupLocalTime.RecordList[0] === '-1' || ob11Config.GroupLocalTime.RecordList.find(gid => gid == msg.group_id?.toString()))) {
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

@ -141,18 +141,18 @@ async function onSettingWindowCreated(view: Element) {
SettingItem( SettingItem(
'启用本地进群时间与发言时间记录', '启用本地进群时间与发言时间记录',
undefined, undefined,
SettingSwitch('ob11.GroupLocalTimeRecord', ob11Config.reverseWs.enable, { SettingSwitch('ob11.GroupLocalTime.Record', ob11Config.reverseWs.enable, {
'control-display-id': 'config-ob11-GroupLocalTimeRecordList', 'control-display-id': 'config-ob11-GroupLocalTime-RecordList',
}) })
), ),
`<div class="config-host-list" id="config-ob11-GroupLocalTimeRecordList" ${ob11Config.reverseWs.enable ? '' : 'is-hidden'}> `<div class="config-host-list" id="config-ob11-GroupLocalTime-RecordList" ${ob11Config.reverseWs.enable ? '' : 'is-hidden'}>
<setting-item data-direction="row"> <setting-item data-direction="row">
<div> <div>
<setting-text> WebSocket </setting-text> <setting-text></setting-text>
</div> </div>
<setting-button id="config-ob11-GroupLocalTimeRecordList-add" data-type="primary"></setting-button> <setting-button id="config-ob11-GroupLocalTime-RecordList"-add" data-type="primary"></setting-button>
</setting-item> </setting-item>
<div id="config-ob11-GroupLocalTimeRecordList-list"></div> <div id="config-ob11-GroupLocalTime-RecordList"-list"></div>
</div>`, </div>`,
SettingItem( SettingItem(
'', '',
@ -261,7 +261,6 @@ async function onSettingWindowCreated(view: Element) {
inputAttr: any = {} inputAttr: any = {}
) => { ) => {
type = type.replace(/\./g, '-');//替换操作 type = type.replace(/\./g, '-');//替换操作
const hostContainerDom = doc.body.querySelector( const hostContainerDom = doc.body.querySelector(
`#config-ob11-${type}-list` `#config-ob11-${type}-list`
); );
@ -293,6 +292,7 @@ async function onSettingWindowCreated(view: Element) {
initReverseHost('http.postUrls', doc); initReverseHost('http.postUrls', doc);
initReverseHost('reverseWs.urls', doc); initReverseHost('reverseWs.urls', doc);
initReverseHost('GroupLocalTime.RecordList', doc);
doc doc
.querySelector('#config-ob11-http-postUrls-add') .querySelector('#config-ob11-http-postUrls-add')
@ -309,7 +309,13 @@ async function onSettingWindowCreated(view: Element) {
placeholder: '如ws://127.0.0.1:5140/onebot', placeholder: '如ws://127.0.0.1:5140/onebot',
}) })
); );
doc
.querySelector('#config-ob11-GroupLocalTime-RecordList-add')
?.addEventListener('click', () =>
addReverseHost('GroupLocalTime.RecordList', document, {
placeholder: '如ws://127.0.0.1:5140/onebot',
})
);
doc.querySelector('#config-ffmpeg-select')?.addEventListener('click', () => { doc.querySelector('#config-ffmpeg-select')?.addEventListener('click', () => {
//选择ffmpeg //选择ffmpeg
}); });

View File

@ -18,7 +18,10 @@ export interface OB11Config {
enable: boolean; enable: boolean;
urls: string[]; urls: string[];
}; };
GroupLocalTime: {
Record: boolean,
RecordList: Array<string>
};
debug: boolean; debug: boolean;
heartInterval: number; heartInterval: number;
messagePostFormat: 'array' | 'string'; messagePostFormat: 'array' | 'string';
@ -26,8 +29,7 @@ export interface OB11Config {
musicSignUrl: ''; musicSignUrl: '';
reportSelfMessage: boolean; reportSelfMessage: boolean;
token: ''; token: '';
GroupLocalTimeRecord: false;
GroupLocalTimeRecordList: [];
} }
class WebUiApiOB11ConfigWrapper { class WebUiApiOB11ConfigWrapper {

View File

@ -274,6 +274,22 @@ async function onSettingWindowCreated(view) {
`<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(
"启用本地进群时间与发言时间记录",
void 0,
SettingSwitch("ob11.GroupLocalTime.Record", ob11Config.reverseWs.enable, {
"control-display-id": "config-ob11-GroupLocalTime-RecordList"
})
),
`<div class="config-host-list" id="config-ob11-GroupLocalTime-RecordList" ${ob11Config.reverseWs.enable ? "" : "is-hidden"}>
<setting-item data-direction="row">
<div>
<setting-text>群列表</setting-text>
</div>
<setting-button id="config-ob11-GroupLocalTime-RecordList"-add" data-type="primary">添加</setting-button>
</setting-item>
<div id="config-ob11-GroupLocalTime-RecordList"-list"></div>
</div>`,
SettingItem( SettingItem(
"", "",
void 0, void 0,
@ -388,6 +404,7 @@ async function onSettingWindowCreated(view) {
}; };
initReverseHost("http.postUrls", doc); initReverseHost("http.postUrls", doc);
initReverseHost("reverseWs.urls", doc); initReverseHost("reverseWs.urls", doc);
initReverseHost("GroupLocalTime.RecordList", doc);
doc.querySelector("#config-ob11-http-postUrls-add")?.addEventListener( doc.querySelector("#config-ob11-http-postUrls-add")?.addEventListener(
"click", "click",
() => addReverseHost("http.postUrls", document, { () => addReverseHost("http.postUrls", document, {
@ -400,6 +417,12 @@ async function onSettingWindowCreated(view) {
placeholder: "如ws://127.0.0.1:5140/onebot" placeholder: "如ws://127.0.0.1:5140/onebot"
}) })
); );
doc.querySelector("#config-ob11-GroupLocalTime-RecordList-add")?.addEventListener(
"click",
() => addReverseHost("GroupLocalTime.RecordList", document, {
placeholder: "如ws://127.0.0.1:5140/onebot"
})
);
doc.querySelector("#config-ffmpeg-select")?.addEventListener("click", () => { doc.querySelector("#config-ffmpeg-select")?.addEventListener("click", () => {
}); });
doc.querySelector("#config-open-log-path")?.addEventListener("click", () => { doc.querySelector("#config-open-log-path")?.addEventListener("click", () => {