perf: 独立储存 store 文件

dev/supplier-email-drawer
LiaoYijun 9 months ago
parent 03127e3910
commit 91ed37a7e9

@ -22,13 +22,6 @@ logger.level = 'trace';
const msgRetryCounterCache = new NodeCache();
const store = makeInMemoryStore({ logger });
store?.readFromFile('./baileys_store_multi.json');
// save every 10s
setInterval(() => {
store?.writeToFile('./baileys_store_multi.json');
}, 10_000);
waEmitter.on('message:updated', event => {
console.info('msg:evt:updated', event);
});
@ -47,6 +40,14 @@ const createWhatsApp = async phone => {
let qrCode = null;
const channelId = generateId();
const whatsAppNo = phone;
const storeFilename = './baileys_auth_info/baileys_store_' + phone + '_' + channelId + '.json'
const store = makeInMemoryStore({ logger });
store?.readFromFile(storeFilename);
// save every 10s
setInterval(() => {
store?.writeToFile(storeFilename);
}, 10_000);
const { state, saveCreds } = await useMultiFileAuthState('baileys_auth_info/' + phone + '_' + channelId);
// fetch latest version of WA Web
const { version, isLatest } = await fetchLatestBaileysVersion();
@ -234,6 +235,10 @@ const createWhatsApp = async phone => {
}
}
const handleCredsUpdate = async messageUpdate => {
await saveCreds();
}
const start = () => {
return new Promise(resolve => {
waSocket = makeWASocket({
@ -250,6 +255,10 @@ const createWhatsApp = async phone => {
generateHighQualityLinkPreview: false,
syncFullHistory: false,
});
// 需要在创建 Socket 后马上绑定
store?.bind(waSocket.ev);
waSocket.ev.on('connection.update', async update => {
console.log('connection update: ', update);
const { connection, lastDisconnect, qr } = update;
@ -284,20 +293,9 @@ const createWhatsApp = async phone => {
}
});
waSocket.ev.on('creds.update', handleCredsUpdate);
waSocket.ev.on('messages.upsert', handleMessagesUpsert);
waSocket.ev.on('messages.update', handleMessagesUpdate);
waSocket.ev.on('group-participants.update', async GroupMetadata => {
console.info('group-participants.update: ', GroupMetadata);
});
waSocket.ev.on('creds.update', async () => {
console.info('creds.update');
await saveCreds();
});
// 不绑定不会影响扫码登录
store?.bind(waSocket.ev);
});
};

Loading…
Cancel
Save