eve-watcher/start-all.ps1

33 lines
1.5 KiB
PowerShell

<#
start-all.ps1 - launch all local Goliath watchers at once (background, no windows).
Run from this folder: powershell -ExecutionPolicy Bypass -File .\start-all.ps1
Needs setup.ps1 to have installed Python + deps, and config.ini filled in
(ntfy topic and/or [discord] webhook so alerts reach you).
#>
$here = Split-Path -Parent $MyInvocation.MyCommand.Path
Set-Location $here
if (Get-Command python -ErrorAction SilentlyContinue) {
python -m pip install --quiet -r (Join-Path $here "requirements.txt") 2>$null
} else {
Write-Warning "Python not found - run setup.ps1 first."; exit 1
}
# Headless intel watchers + the auto-update poller (run continuously, no interaction)
$watchers = @("eve_combat_watcher.py", "eve_chat_watcher.py", "eve_rock_watcher.py", "eve_local_watcher.py", "eve_autoupdate.py")
foreach ($w in $watchers) {
Start-Process pythonw -ArgumentList "`"$here\$w`"" -WorkingDirectory $here -WindowStyle Hidden
Write-Host "started $w"
}
# Ore/gas-hold watcher: OCR mode is headless too (after a one-time --snip).
$cfg = Get-Content (Join-Path $here "config.ini") -ErrorAction SilentlyContinue
if ($cfg -match "mode\s*=\s*ocr") {
Start-Process pythonw -ArgumentList "`"$here\eve_orehold_watcher.py`"" -WorkingDirectory $here -WindowStyle Hidden
Write-Host "started eve_orehold_watcher.py (OCR mode)"
} else {
Write-Host "ore-hold watcher NOT started (timer mode is interactive - run it in its own window, or set mode=ocr + --snip)."
}
Write-Host ""
Write-Host "Watchers running. Stop them with: Get-Process pythonw | Stop-Process"