mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2024-11-21 09:36:35 +00:00
feat: wait fix
This commit is contained in:
parent
9067a1fc92
commit
aa7798d1d1
132
package.json
132
package.json
@ -1,66 +1,66 @@
|
||||
{
|
||||
"name": "napcat",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"version": "1.4.0",
|
||||
"scripts": {
|
||||
"watch:dev": "vite --mode development",
|
||||
"watch:prod": "vite --mode production",
|
||||
"build:dev": "vite build --mode development",
|
||||
"build:prod": "vite build --mode production",
|
||||
"build": "npm run build:dev",
|
||||
"build:core": "cd ./src/core && npm run build && cd ../.. && node ./script/copy-core.cjs",
|
||||
"build:webui": "cd ./src/webui && vite build",
|
||||
"watch": "npm run watch:dev",
|
||||
"debug-win": "powershell dist/napcat.ps1",
|
||||
"lint": "eslint --fix src/**/*.{js,ts}",
|
||||
"release": "npm run build:prod",
|
||||
"depend": "cd dist && npm install --omit=dev"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@log4js-node/log4js-api": "^1.0.2",
|
||||
"@rollup/plugin-node-resolve": "^15.2.3",
|
||||
"@rollup/plugin-typescript": "^11.1.6",
|
||||
"@types/cors": "^2.8.17",
|
||||
"@types/express": "^4.17.21",
|
||||
"@types/figlet": "^1.5.8",
|
||||
"@types/fluent-ffmpeg": "^2.1.24",
|
||||
"@types/node": "^20.11.30",
|
||||
"@types/qrcode-terminal": "^0.12.2",
|
||||
"@types/uuid": "^9.0.8",
|
||||
"@types/ws": "^8.5.10",
|
||||
"@typescript-eslint/eslint-plugin": "^7.4.0",
|
||||
"@typescript-eslint/parser": "^7.4.0",
|
||||
"eslint": "^8.57.0",
|
||||
"eslint-import-resolver-typescript": "^3.6.1",
|
||||
"eslint-plugin-import": "^2.29.1",
|
||||
"i": "^0.3.7",
|
||||
"javascript-obfuscator": "^4.1.0",
|
||||
"rollup": "^4.13.2",
|
||||
"rollup-plugin-dts": "^6.1.0",
|
||||
"rollup-plugin-obfuscator": "^1.1.0",
|
||||
"typescript": "^5.3.3",
|
||||
"vite": "^5.2.6",
|
||||
"vite-plugin-cp": "^4.0.8",
|
||||
"vite-plugin-dts": "^3.8.2",
|
||||
"vite-tsconfig-paths": "^4.3.2",
|
||||
"@protobuf-ts/plugin": "^2.9.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"ajv": "^8.13.0",
|
||||
"commander": "^12.0.0",
|
||||
"cors": "^2.8.5",
|
||||
"express": "^5.0.0-beta.2",
|
||||
"fast-xml-parser": "^4.3.6",
|
||||
"file-type": "^19.0.0",
|
||||
"fluent-ffmpeg": "^2.1.2",
|
||||
"image-size": "^1.1.1",
|
||||
"json-schema-to-ts": "^3.1.0",
|
||||
"log4js": "^6.9.1",
|
||||
"qrcode-terminal": "^0.12.0",
|
||||
"silk-wasm": "^3.3.4",
|
||||
"sqlite3": "^5.1.7",
|
||||
"uuid": "^9.0.1",
|
||||
"ws": "^8.16.0"
|
||||
}
|
||||
}
|
||||
{
|
||||
"name": "napcat",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"version": "1.4.0",
|
||||
"scripts": {
|
||||
"watch:dev": "vite --mode development",
|
||||
"watch:prod": "vite --mode production",
|
||||
"build:dev": "vite build --mode development",
|
||||
"build:prod": "vite build --mode production",
|
||||
"build": "npm run build:dev",
|
||||
"build:core": "cd ./src/core && npm run build && cd ../.. && node ./script/copy-core.cjs",
|
||||
"build:webui": "cd ./src/webui && vite build",
|
||||
"watch": "npm run watch:dev",
|
||||
"debug-win": "powershell dist/napcat.ps1",
|
||||
"lint": "eslint --fix src/**/*.{js,ts}",
|
||||
"release": "npm run build:prod",
|
||||
"depend": "cd dist && npm install --omit=dev"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@log4js-node/log4js-api": "^1.0.2",
|
||||
"@rollup/plugin-node-resolve": "^15.2.3",
|
||||
"@rollup/plugin-typescript": "^11.1.6",
|
||||
"@types/cors": "^2.8.17",
|
||||
"@types/express": "^4.17.21",
|
||||
"@types/figlet": "^1.5.8",
|
||||
"@types/fluent-ffmpeg": "^2.1.24",
|
||||
"@types/node": "^20.11.30",
|
||||
"@types/qrcode-terminal": "^0.12.2",
|
||||
"@types/uuid": "^9.0.8",
|
||||
"@types/ws": "^8.5.10",
|
||||
"@typescript-eslint/eslint-plugin": "^7.4.0",
|
||||
"@typescript-eslint/parser": "^7.4.0",
|
||||
"eslint": "^8.57.0",
|
||||
"eslint-import-resolver-typescript": "^3.6.1",
|
||||
"eslint-plugin-import": "^2.29.1",
|
||||
"i": "^0.3.7",
|
||||
"javascript-obfuscator": "^4.1.0",
|
||||
"rollup": "^4.13.2",
|
||||
"rollup-plugin-dts": "^6.1.0",
|
||||
"rollup-plugin-obfuscator": "^1.1.0",
|
||||
"typescript": "^5.3.3",
|
||||
"vite": "^5.2.6",
|
||||
"vite-plugin-cp": "^4.0.8",
|
||||
"vite-plugin-dts": "^3.8.2",
|
||||
"vite-tsconfig-paths": "^4.3.2",
|
||||
"@protobuf-ts/plugin": "^2.9.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"ajv": "^8.13.0",
|
||||
"commander": "^12.0.0",
|
||||
"cors": "^2.8.5",
|
||||
"express": "^5.0.0-beta.2",
|
||||
"fast-xml-parser": "^4.3.6",
|
||||
"file-type": "^19.0.0",
|
||||
"fluent-ffmpeg": "^2.1.2",
|
||||
"image-size": "^1.1.1",
|
||||
"json-schema-to-ts": "^3.1.0",
|
||||
"log4js": "^6.9.1",
|
||||
"qrcode-terminal": "^0.12.0",
|
||||
"silk-wasm": "^3.3.4",
|
||||
"sqlite3": "^5.1.7",
|
||||
"uuid": "^9.0.1",
|
||||
"ws": "^8.16.0"
|
||||
}
|
||||
}
|
||||
|
@ -138,6 +138,10 @@ export function migrateConfig(oldConfig: any) {
|
||||
enable: oldConfig.enableWsReverse,
|
||||
urls: oldConfig.wsReverseUrls,
|
||||
},
|
||||
GroupLocalTime: {
|
||||
Record: false,
|
||||
RecordList: []
|
||||
},
|
||||
debug: oldConfig.debug,
|
||||
heartInterval: oldConfig.heartInterval,
|
||||
messagePostFormat: oldConfig.messagePostFormat,
|
||||
@ -145,8 +149,7 @@ export function migrateConfig(oldConfig: any) {
|
||||
musicSignUrl: oldConfig.musicSignUrl,
|
||||
reportSelfMessage: oldConfig.reportSelfMessage,
|
||||
token: oldConfig.token,
|
||||
GroupLocalTimeRecord: false,
|
||||
GroupLocalTimeRecordList: []
|
||||
|
||||
};
|
||||
return newConfig;
|
||||
}
|
||||
|
@ -62,7 +62,7 @@ class GetGroupMemberList extends BaseAction<Payload, OB11GroupMember[]> {
|
||||
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);
|
||||
_sendAndJoinRember.forEach((element) => {
|
||||
let MemberData = MemberMap.get(element.user_id);
|
||||
|
@ -32,9 +32,10 @@ export interface OB11Config {
|
||||
musicSignUrl: string;
|
||||
reportSelfMessage: boolean;
|
||||
token: string;
|
||||
GroupLocalTimeRecord: boolean;
|
||||
GroupLocalTimeRecordList: Array<number>;
|
||||
|
||||
GroupLocalTime: {
|
||||
Record: boolean,
|
||||
RecordList: Array<string>
|
||||
},
|
||||
read(): OB11Config;
|
||||
|
||||
save(config: OB11Config): void;
|
||||
@ -66,8 +67,10 @@ class Config extends ConfigBase<OB11Config> implements OB11Config {
|
||||
musicSignUrl = '';
|
||||
reportSelfMessage = false;
|
||||
token = '';
|
||||
GroupLocalTimeRecord = false;
|
||||
GroupLocalTimeRecordList = [] as Array<number>;
|
||||
GroupLocalTime = {
|
||||
Record: false,
|
||||
RecordList: [] as Array<string>
|
||||
};
|
||||
|
||||
getConfigPath() {
|
||||
return path.join(this.getConfigDir(), `onebot11_${selfInfo.uin}.json`);
|
||||
|
@ -14,8 +14,7 @@ export class OB11GroupIncreaseEvent extends OB11GroupNoticeEvent {
|
||||
this.user_id = userId;
|
||||
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))
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -287,7 +287,7 @@ export class NapCatOnebot11 {
|
||||
if (msg.post_type === 'message') {
|
||||
logMessage(msg as OB11Message).then().catch(logError);
|
||||
// 大概测试了一下,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);
|
||||
}
|
||||
} else if (msg.post_type === 'notice') {
|
||||
|
@ -101,7 +101,7 @@ async function onSettingWindowCreated(view: Element) {
|
||||
'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">
|
||||
<div>
|
||||
<setting-text>反向 WebSocket 监听地址</setting-text>
|
||||
@ -137,22 +137,22 @@ async function onSettingWindowCreated(view: Element) {
|
||||
undefined,
|
||||
`<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'
|
||||
),
|
||||
),
|
||||
SettingItem(
|
||||
'启用本地进群时间与发言时间记录',
|
||||
undefined,
|
||||
SettingSwitch('ob11.GroupLocalTimeRecord', ob11Config.reverseWs.enable, {
|
||||
'control-display-id': 'config-ob11-GroupLocalTimeRecordList',
|
||||
SettingSwitch('ob11.GroupLocalTime.Record', ob11Config.reverseWs.enable, {
|
||||
'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">
|
||||
<div>
|
||||
<setting-text>反向 WebSocket 监听地址</setting-text>
|
||||
<setting-text>群列表</setting-text>
|
||||
</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>
|
||||
<div id="config-ob11-GroupLocalTimeRecordList-list"></div>
|
||||
<div id="config-ob11-GroupLocalTime-RecordList"-list"></div>
|
||||
</div>`,
|
||||
SettingItem(
|
||||
'',
|
||||
@ -261,7 +261,6 @@ async function onSettingWindowCreated(view: Element) {
|
||||
inputAttr: any = {}
|
||||
) => {
|
||||
type = type.replace(/\./g, '-');//替换操作
|
||||
|
||||
const hostContainerDom = doc.body.querySelector(
|
||||
`#config-ob11-${type}-list`
|
||||
);
|
||||
@ -293,6 +292,7 @@ async function onSettingWindowCreated(view: Element) {
|
||||
|
||||
initReverseHost('http.postUrls', doc);
|
||||
initReverseHost('reverseWs.urls', doc);
|
||||
initReverseHost('GroupLocalTime.RecordList', doc);
|
||||
|
||||
doc
|
||||
.querySelector('#config-ob11-http-postUrls-add')
|
||||
@ -309,7 +309,13 @@ async function onSettingWindowCreated(view: Element) {
|
||||
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', () => {
|
||||
//选择ffmpeg
|
||||
});
|
||||
|
@ -18,7 +18,10 @@ export interface OB11Config {
|
||||
enable: boolean;
|
||||
urls: string[];
|
||||
};
|
||||
|
||||
GroupLocalTime: {
|
||||
Record: boolean,
|
||||
RecordList: Array<string>
|
||||
};
|
||||
debug: boolean;
|
||||
heartInterval: number;
|
||||
messagePostFormat: 'array' | 'string';
|
||||
@ -26,8 +29,7 @@ export interface OB11Config {
|
||||
musicSignUrl: '';
|
||||
reportSelfMessage: boolean;
|
||||
token: '';
|
||||
GroupLocalTimeRecord: false;
|
||||
GroupLocalTimeRecordList: [];
|
||||
|
||||
}
|
||||
|
||||
class WebUiApiOB11ConfigWrapper {
|
||||
|
@ -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>`,
|
||||
"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(
|
||||
"",
|
||||
void 0,
|
||||
@ -388,6 +404,7 @@ async function onSettingWindowCreated(view) {
|
||||
};
|
||||
initReverseHost("http.postUrls", doc);
|
||||
initReverseHost("reverseWs.urls", doc);
|
||||
initReverseHost("GroupLocalTime.RecordList", doc);
|
||||
doc.querySelector("#config-ob11-http-postUrls-add")?.addEventListener(
|
||||
"click",
|
||||
() => addReverseHost("http.postUrls", document, {
|
||||
@ -400,6 +417,12 @@ async function onSettingWindowCreated(view) {
|
||||
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-open-log-path")?.addEventListener("click", () => {
|
||||
|
Loading…
x
Reference in New Issue
Block a user