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>
This commit is contained in:
17
bot.py
17
bot.py
@@ -169,9 +169,20 @@ class StockBot(commands.Bot):
|
||||
embed.add_field(name="Change", value=change_str, inline=True)
|
||||
embed.add_field(name="Previous Close", value=f"${stock_data['previous_close']}", inline=True)
|
||||
|
||||
# Add FinViz daily chart
|
||||
chart_url = f"https://finviz.com/chart.ashx?t={ticker}&ty=c&ta=1&p=d&s=l"
|
||||
embed.set_image(url=chart_url)
|
||||
# Add 5-minute intraday chart from Finnhub + QuickChart
|
||||
if hasattr(self.stock_api, 'get_intraday_candles'):
|
||||
candles = self.stock_api.get_intraday_candles(ticker, resolution=5, days_back=1)
|
||||
if candles:
|
||||
chart_url = self.stock_api.generate_chart_url(ticker, candles)
|
||||
embed.set_image(url=chart_url)
|
||||
else:
|
||||
# Fallback to FinViz daily chart if intraday data unavailable
|
||||
chart_url = f"https://finviz.com/chart.ashx?t={ticker}&ty=c&ta=1&p=d&s=l"
|
||||
embed.set_image(url=chart_url)
|
||||
else:
|
||||
# Fallback for non-Finnhub APIs
|
||||
chart_url = f"https://finviz.com/chart.ashx?t={ticker}&ty=c&ta=1&p=d&s=l"
|
||||
embed.set_image(url=chart_url)
|
||||
|
||||
market_status = "🟢 Market Open" if stock_data['market_open'] else "🔴 Market Closed"
|
||||
embed.set_footer(text=f"{market_status}")
|
||||
|
||||
Reference in New Issue
Block a user