Commit Graph

12 Commits

Author SHA1 Message Date
prosolis
7b05d86dc5 Merge pull request #5 from prosolis/claude/gaming-deals-matrix-bot-ONjS7
Load .env file at startup via python-dotenv
2026-02-27 18:05:40 -08:00
Claude
3138fe314f Load .env file at startup via python-dotenv
Running directly with `python -m gaming_deals_bot` didn't pick up
variables from .env — only the Docker path (--env-file) did. Now
dotenv is loaded before config parsing so both workflows work.

https://claude.ai/code/session_01LPpSZFfyh6vdV5HGFWjoQX
2026-02-28 02:04:37 +00:00
prosolis
b6b674ca0e Merge pull request #4 from prosolis/claude/gaming-deals-matrix-bot-ONjS7
Add --check preflight to validate config and connectivity
2026-02-27 17:54:31 -08:00
Claude
016d2c1973 Add --check preflight to validate config and connectivity
`python -m gaming_deals_bot --check` tests each external dependency
before starting the bot:

- Matrix: verifies access token (whoami) and room membership
- CheapShark: hits the deals endpoint
- Epic Games Store: hits the free-games endpoint
- Frankfurter: fetches exchange rates
- IsThereAnyDeal: validates the API key (skipped if not set)

Exits 0/1 so it works in CI pipelines and Docker health-checks.

https://claude.ai/code/session_01LPpSZFfyh6vdV5HGFWjoQX
2026-02-28 01:52:48 +00:00
prosolis
c09ecdbd21 Merge pull request #3 from prosolis/claude/gaming-deals-matrix-bot-ONjS7
Add instructions for obtaining a Matrix bot access token
2026-02-27 17:45:15 -08:00
Claude
d5f30487cb Add instructions for obtaining a Matrix bot access token
Walk through creating a bot account, logging in via the client API
to retrieve the access token, and inviting the bot to the room.

https://claude.ai/code/session_01LPpSZFfyh6vdV5HGFWjoQX
2026-02-28 01:39:32 +00:00
prosolis
aed260f345 Merge pull request #2 from prosolis/claude/gaming-deals-matrix-bot-ONjS7
Display all the main currencies
2026-02-27 16:58:54 -08:00
Claude
6fdbc9f9a0 Reduce exchange rate refresh to twice daily
Be respectful of the free Frankfurter API — ECB rates only update once
a day anyway, so a 12-hour cache TTL is more than sufficient.

https://claude.ai/code/session_01LPpSZFfyh6vdV5HGFWjoQX
2026-02-28 00:56:21 +00:00
Claude
8277cf37e2 Add multi-currency pricing (USD, CAD, EUR, GBP) for deal posts
Fetches live exchange rates from the Frankfurter API (ECB data, free,
no API key) and displays converted prices alongside USD in every deal
message. Rates are cached in memory and auto-refreshed hourly.

https://claude.ai/code/session_01LPpSZFfyh6vdV5HGFWjoQX
2026-02-28 00:51:52 +00:00
prosolis
ba1a3811d6 Merge pull request #1 from prosolis/claude/gaming-deals-matrix-bot-ONjS7
Add gaming deals Matrix bot
2026-02-27 16:07:45 -08:00
Claude
6e84429ad1 Add gaming deals Matrix bot
Implements a Matrix bot that posts PC gaming deals and free game alerts:
- CheapShark API integration (Steam, GOG, Humble, GMG) polled every 2 hours
- Epic Games Store free games detection polled daily
- IsThereAnyDeal historical low price flagging (optional)
- SQLite deduplication with 30-day pruning
- First-run population (records existing deals without posting)
- Matrix-flavored HTML + plain text fallback messages
- Dockerfile for containerized deployment

https://claude.ai/code/session_01LPpSZFfyh6vdV5HGFWjoQX
2026-02-28 00:00:22 +00:00
prosolis
11a3eace9f Initial commit 2026-02-27 15:47:43 -08:00