Discord bot that posts stock updates for a curated watchlist using Finnhub API.
- AI: BBAI, CRNC, DV, RXRX
- Energy: BLDP, CLNE, FCEL, GEVO, LAC, NRGV, OPAL
- EVs: ABAT, AIOT, ENVX, EVGO, NKLA, SES, SLDP, TE
- Environmental: NPWR
- Semiconductors: NVTS
- Space: RDW, SPIR
- Fintech: MQ
- Healthcare: ALT, ATAI, CGC, CMPS, CRON, GDRX, HELP, PACB, SANA, TDOC, TLRY
- Education: COUR, UDMY
- Software: PD
- Go to https://discord.com/developers/applications
- Click "New Application" and name it (e.g., "Stock Screener")
- Go to "Bot" tab → "Add Bot"
- Copy the Bot Token
- Enable "Message Content Intent" under Privileged Gateway Intents
- Go to "OAuth2" → "URL Generator"
- Scopes:
bot - Permissions:
Send Messages,Read Messages/View Channels
- Scopes:
- Copy the generated URL and open in browser to add bot to your server
- In Discord: Enable Developer Mode (Settings → Advanced → Developer Mode)
- Right-click your target channel → "Copy Channel ID"
# Copy example env file
cp .env.example .env
# Edit .env and add your keys:
# - FINNHUB_API_KEY (from finnhub.io)
# - DISCORD_BOT_TOKEN (from step 1)
# - DISCORD_CHANNEL_ID (from step 1)
# Install dependencies
pip install -r requirements.txtpython screener_bot.py- Finnhub free tier: 60 calls/min
- Bot makes ~40 calls per run with 1 second delay between requests
- Safe to run multiple times per day