Commit Graph

7 Commits

Author SHA1 Message Date
Michael Simard
6f6b6360ca Implement custom 5-minute candlestick charts via Finnhub + QuickChart
Replace FinViz charts with custom-generated candlestick charts:
- Fetch 5-minute OHLC data from Finnhub API
- Generate candlestick chart images via QuickChart API
- Display last 50 candles with time-based x-axis
- Fallback to FinViz daily chart if intraday data unavailable

New FinnhubAPI methods:
- get_intraday_candles(): Fetch 5-min candle data
- generate_chart_url(): Create QuickChart URL from candle data

Chart specifications: 800x400px, Chart.js v3, candlestick type

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 19:31:18 -06:00
Michael Simard
30ebd85712 Switch from 5-minute intraday to daily chart
Changed chart timeframe from 5-minute intraday (p=i5) to daily (p=d) for better reliability and availability on FinViz free tier.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 19:27:23 -06:00
Michael Simard
c5251a05da Embed FinViz 5-minute intraday chart in stock updates
All stock price embeds now include a FinViz candlestick chart showing 5-minute intraday data with technical analysis indicators.

Chart displays below price information in embed format.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 19:24:38 -06:00
Michael Simard
2cdf37191a Add colored text for price change in embeds
Price change values now display with ANSI color formatting matching the embed border color:
- Red text for negative price changes
- Green text for positive price changes
- Blue text for no change

Improves visual clarity by color-coding the percentage change field.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 19:14:37 -06:00
Michael Simard
327e7e0914 Add multi-channel support for stock updates
Bot now supports sending updates to multiple Discord channels simultaneously.

Changes:
- CHANNEL_ID accepts comma-separated list of channel IDs
- Config parses and validates multiple channel IDs
- Hourly and market close updates sent to all configured channels
- Update .env.example to show multi-channel format
- Document multi-channel configuration in README

Example: CHANNEL_ID=1442203998932304035,9876543210123456789

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 19:01:01 -06:00
Michael Simard
584ad2a4f4 Add market close updates and update deployment path for Compose Manager
Bot enhancements:
- Add scheduled update at market close (4:00 PM ET on trading days)
- Implement is_trading_day() method to check weekdays/holidays
- Market close update sends PYPL price at end of trading day

Deployment changes:
- Update all scripts to use Docker Compose Manager plugin path
- New path: /boot/config/plugins/compose.manager/projects/discord-stock-bot
- Container now integrates with Unraid Docker UI Compose section
- Update documentation with plugin integration details

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 18:57:13 -06:00
Michael Simard
3b6f0cbe4a Initial commit: Discord stock bot with hourly PYPL updates
Functional Discord bot with automated hourly stock price updates during NYSE trading hours. Supports manual queries for any ticker via prefix commands.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 22:25:37 -06:00