Initial commit
This commit is contained in:
41
scripts/run_local.ps1
Normal file
41
scripts/run_local.ps1
Normal file
@@ -0,0 +1,41 @@
|
||||
param(
|
||||
[string]$BindHost = "127.0.0.1",
|
||||
[int]$Port = 8000
|
||||
)
|
||||
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
function Resolve-RepoRoot {
|
||||
param([string]$ScriptPath)
|
||||
$scriptsFolder = Split-Path -Parent $ScriptPath
|
||||
return Resolve-Path (Join-Path $scriptsFolder "..")
|
||||
}
|
||||
|
||||
$repoRoot = Resolve-RepoRoot -ScriptPath $MyInvocation.MyCommand.Path
|
||||
Set-Location $repoRoot
|
||||
|
||||
if (-not (Get-Command python -ErrorAction SilentlyContinue)) {
|
||||
throw "Python is required on PATH to run this project locally."
|
||||
}
|
||||
|
||||
$dataDir = Join-Path $repoRoot "data"
|
||||
if (-not (Test-Path $dataDir)) {
|
||||
New-Item -ItemType Directory -Path $dataDir | Out-Null
|
||||
}
|
||||
|
||||
if (-not $env:TELEGRAM_SESSION_PATH) {
|
||||
$env:TELEGRAM_SESSION_PATH = Join-Path $dataDir "telegram.session"
|
||||
}
|
||||
|
||||
if (-not $env:DATABASE_PATH) {
|
||||
$env:DATABASE_PATH = Join-Path $dataDir "hooks.json"
|
||||
}
|
||||
|
||||
Write-Host "Starting Telegram Message Hook locally..." -ForegroundColor Cyan
|
||||
Write-Host ("API listening on http://{0}:{1}" -f $BindHost, $Port) -ForegroundColor Green
|
||||
Write-Host "Session file: $($env:TELEGRAM_SESSION_PATH)" -ForegroundColor DarkGray
|
||||
Write-Host "Database file: $($env:DATABASE_PATH)" -ForegroundColor DarkGray
|
||||
|
||||
$uvicornArgs = @("app.main:app", "--host", $BindHost, "--port", $Port, "--reload")
|
||||
|
||||
python -m uvicorn @uvicornArgs
|
||||
Reference in New Issue
Block a user