CCCPaste
process.on('message', async (msg) => {
if (msg.event === 'zoom-in-trigger') {
console.log(`[OBSBOT Process] Reward event acknowledged! Starting sequence...`);

if (zoomTimeoutToken) {
clearTimeout(zoomTimeoutToken);
zoomTimeoutToken = null;
}

selectCam(2);

await delay(1000);

client.send('/OBSBOT/WebCam/General/SetZoom', 100, (err) => {
if (err) {
console.error('[OBSBOT Process] OSC Zoom In Error:', err);
return;
}
console.log('[OBSBOT Process] Zoomed In. Starting 10-second countdown...');
});

let currentSequenceActive = true;

zoomTimeoutToken = setTimeout(() => {
currentSequenceActive = false;
console.log(`[OBSBOT Process] 10 seconds elapsed. Resetting zoom to 0...`);

client.send('/OBSBOT/WebCam/General/SetZoom', 0, (err) => {
if (err) {
console.error('[OBSBOT Process] OSC Zoom Out Error:', err);
} else {
console.log('[OBSBOT Process] Zoom reset successfully.');
}
});

zoomTimeoutToken = null;
}, 10000);
},
if (msg.event === 'look-away-trigger') {
console.log(`[OBSBOT Process] Reward event acknowledged! Starting sequence...`);

if (lookawayTimeoutToken) {
clearTimeout(lookawayTimeoutToken);
lookawayTimeoutToken = null;
}

selectCam(2);

await delay(1000);

client.send('/OBSBOT/WebCam/General/TriggerPreset', 2, (err) => {
if (err) {
console.error('[OBSBOT Process] Preset change error:', err);
return;
}
console.log('[OBSBOT Process] Changed Preset to 2');
});
let currentSequenceActive = true;

lookawayTimeoutToken = setTimeout(() => {
currentSequenceActive = false;
console.log(`[OBSBOT Process] 10 seconds elapsed. Resetting Preset to 0...`);

client.send('/OBSBOT/WebCam/General/TriggerPreset', 0, (err) => {
if (err) {
console.error('[OBSBOT Process] Preset change error:', err);
} else {
console.log('[OBSBOT Process] Changed preset successfully.');
}
});

lookawayTimeoutToken = null;
}, 10000);

}

});