Commit Graph

3 Commits

Author SHA1 Message Date
prosolis
29abc836d5 Fix CheapShark returning zero deals by using dual-fetch strategy and relaxing filters
The bot stopped posting because sortBy=recent only returned low-discount deals,
and desc=1 was inverting the sort order for savings/DealRating queries. Now fetches
both recent and top-rated deals, merges with dedup. Lowered default thresholds to
20% min discount, 7.0 min rating, and $45 max price.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-22 02:10:22 -07:00
prosolis
d6c8d4f599 Add token auto-refresh, device persistence, and cross-signing
Following gogobee's auth pattern: if MATRIX_BOT_PASSWORD is set, the bot
persists device credentials to device.json, validates tokens on startup,
re-logs in automatically when tokens expire, and bootstraps cross-signing
so the device shows as verified without manual emoji verification.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-17 20:56:26 -07:00
prosolis
b8a0fd5f35 Rewrite Pastel from Python to Go with watchlist feature
Full rewrite of the gaming deals Matrix bot in Go for better performance
and a single static binary. Includes all original functionality (CheapShark,
ITAD, Epic free games, multi-currency pricing, dedup, preflight checks,
presence heartbeat) plus a new watchlist feature where users can DM the bot
to watch for specific game deals with 180-day auto-expiry.

New: systemd service file, DB migration script for Python-to-Go transition.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-17 20:56:15 -07:00