Repository navigation
v0.9.0 β the pocket sniper
π± the pocket sniper release
The board lives on your phone now. Arm the listener, and your Telegram chat becomes the sniper's cockpit.
The two-way bot
/queue [n]β best pending gigs, score first/gig <id>β full card + the drafted proposal/approve <id>β move it up the pipeline/snipe <id> [amount]β arms a real Freelancer.com bid, shows the plan, waits for your π₯ Fire tap. Kit-mode sources answer honestly instead. Confirm state is memory-only with a 5-minute TTL β a restart can never leave a half-armed bid./statsβ your scoreboard, pocket-sized
Safety rails, honestly built
- chat-gated: a stray
/queuefrom any other chat gets silence, never your data - sends serialized ~1/s per chat, 429s honor
retry_after - one long-poll bot per account (cap 8), restart-clean, auto-armed on boot
- source breaks (expired cookie, dead token) β the bot tells you once per new failure, never spam
Under the hood
- per-account notify settings (per-user bot tokens replace global config; pre-0.9 config seeds silently)
- per-account push with its own score bar β account A's gigs never buzz account B
- per-source radar cadence (5β120 min clamp) via
POST /api/notify/cadence - dashboard: π± telegram card β token, chat id, test message (Telegram's verdict verbatim), arm/disarm
- 30 new network-free tests; 316 total, CI green on every commit in the chain
Full changelog: CHANGELOG.md
built by Mayank Bhaskar β github.com/e2sy