84 lines
2.3 KiB
JavaScript
Executable file
84 lines
2.3 KiB
JavaScript
Executable file
#!/usr/bin/env node
|
|
import { seekingAutoFavoriteGenerator, defaultSeekingConfig } from './platforms/seeking-auto-favorite.js';
|
|
import type { SeekingAutoFavoriteConfig } from './types.js';
|
|
|
|
/**
|
|
* Parse CLI arguments into config overrides
|
|
*/
|
|
function parseArgs(args: string[]): Partial<SeekingAutoFavoriteConfig> {
|
|
const overrides: Partial<SeekingAutoFavoriteConfig> = {};
|
|
|
|
for (let i = 0; i < args.length; i++) {
|
|
const arg = args[i];
|
|
const next = args[i + 1];
|
|
|
|
switch (arg) {
|
|
case '--min-age':
|
|
overrides.minAge = parseInt(next, 10);
|
|
i++;
|
|
break;
|
|
case '--max-age':
|
|
overrides.maxAge = parseInt(next, 10);
|
|
i++;
|
|
break;
|
|
case '--no-verified':
|
|
overrides.requireVerified = false;
|
|
break;
|
|
case '--focus-delay':
|
|
overrides.focusToClickDelay = parseInt(next, 10);
|
|
i++;
|
|
break;
|
|
case '--after-click-delay':
|
|
overrides.afterClickDelay = parseInt(next, 10);
|
|
i++;
|
|
break;
|
|
case '--help':
|
|
case '-h':
|
|
printHelp();
|
|
process.exit(0);
|
|
}
|
|
}
|
|
|
|
return overrides;
|
|
}
|
|
|
|
function printHelp(): void {
|
|
console.log(`
|
|
Dating Autopilot - Seeking.com Auto-Favorite
|
|
|
|
Usage: npx tsx src/cli.ts [options]
|
|
|
|
Options:
|
|
--min-age <n> Minimum age (default: 35)
|
|
--max-age <n> Maximum age (default: no limit)
|
|
--no-verified Don't require verified badge
|
|
--focus-delay <ms> Delay after focus before click (default: 1000)
|
|
--after-click-delay <ms> Delay after clicking heart (default: 3000)
|
|
--help, -h Show this help
|
|
|
|
Default behavior:
|
|
- Matches profiles with NO state/country suffix (California)
|
|
- Matches Las Vegas, Strip, Paradise, Henderson, North Las Vegas
|
|
- Requires verified badge
|
|
- Age 35+
|
|
|
|
Example:
|
|
npx tsx src/cli.ts --min-age 30 --max-age 45
|
|
|
|
Output:
|
|
Prints the JavaScript code to paste into browser console.
|
|
`);
|
|
}
|
|
|
|
// Main
|
|
const args = process.argv.slice(2);
|
|
const overrides = parseArgs(args);
|
|
const config: SeekingAutoFavoriteConfig = { ...defaultSeekingConfig, ...overrides };
|
|
|
|
const result = seekingAutoFavoriteGenerator.generate(config);
|
|
|
|
console.log('// ' + '='.repeat(60));
|
|
console.log('// ' + result.description);
|
|
console.log('// ' + '='.repeat(60));
|
|
console.log('');
|
|
console.log(result.code);
|