Skip to content

reaganmcf/discord-stock-bot

Repository files navigation

Discord Stock Bot

I made this for a private stock trading discord group I run. This was initially just thrown together and I have plenty of enhancements and features planned.

If you have any features you would like implemented, please submit a new issue with the Feature Request label and I will respond :)

Example Chart

Example Commands

  • $avgo -> Show 5 min AVGO chart
  • $aapl w-> Show weekly AAPL chart
  • $tsla rsi macd -> Show RSI and MACD indicators on TSLA daily chart
  • $spy line -> Show 5 min SPY line chart
  • $/es -> Show 5 min S&P 500 Furtures chart
  • $.btc -> Show 5 min BTC chart
  • $usd/jpy w -> Show USD/JPY Forex weekly chart
  • $sectors ytd -> Show sector performance YTD

Stocks, Indices, and Equities

  • Example: $tsla rsi mfi TSLA Daily with RSI and MFI
  • Available Parameters
    • Indicators
      • rsi -> Relative Strength Index. Default settings are 14
      • macd -> Moving Average Convergence / Divergense. Default settings are 12, 26, 9
      • adx -> Average Directional Index. Default settings are 14
      • atr -> Average True Rage. Default settings are 14
      • cci -> Commodity Channel Index. Default settings are 20
      • fi -> Force Index. Default settings are 14
      • mfi -> Money Flow Index. Default settings are 14
      • ppi -> Price Performance %. Default settings are SPY and QQQ
      • rwi -> Random Walk Index. Default settings are 9
      • roc -> Rate of Change. Default settings are 12.
      • rmi -> Relative Momentum Index. Default settings are 20
      • stofu -> Stochastics Full. Default settings are 14, 3, 3
      • stofsl -> Stochastics Slow. Default settings are 14, 3
      • stofa -> Stochastics Fast. Default settings are 14, 3
      • trix -> Triple Exponential Moving Average. Default settings are 9
      • ult -> Ultimate Oscillator. Default settings are 7, 14, 28
      • wr -> Williams %R. Default settings are 14
      • ema -> Exponential Moving Average. Default settings are 9, 21
      • bb_20 -> 20 Period Bollinger Bands. Default settings are 2
      • bb_50 -> 50 Period Bollinger Bands. Default settings are 2
      • hilo -> High / Low Channel. Default settings are 20
    • Chart Types
      • candle -> default
      • line -> Shows line chart rather than candles
    • Time Intervals
      • 3 -> 3 minute
      • 5 -> 5 minute (Default)
      • 15 -> 15 minute
      • d -> Daily
      • w -> Weekly
      • m -> Monthly

Futures

  • Currently supports 48 Futures / Commodities
  • Example: $/es m ES Monthly Chart
  • Available Parameters
    • Time Intervals
      • 5 -> 5 minute (Default)
      • h -> Hourly
      • d -> Daily
      • w -> Weekly

Sector Performance

  • View Sector Performace via Bar Chart
  • Example: $sectors ytd Sectors YTD Bar Chart
  • Available Parameters
    • Time Intervals
      • d -> Intraday (Default)
      • w -> Weekly
      • m -> Monthly
      • q -> Quarterly (3 months)
      • h -> Half a year (6 months)
      • y -> Yearly
      • ytd -> Year to Date

Crypto

  • Currently supports
    • btc -> Bitcoin
    • ltc -> LiteCoin
    • eth -> Ethereum
    • xrp -> Ripple
    • bch -> Bitcoin Cash
  • Example: $.btc w Bitcoin Weekly Chart
  • Available Parameters
    • Time Intervals
      • 5 -> 5 minute (Default)
      • h -> Hourly
      • d -> Daily
      • w -> Weekly

Forex

  • Currently supports 10 Currency Pairs
  • Example: $usd/jpy w Weekly USD/JPY Chart
  • Available Parameters
    • Time Intervals
      • 5 -> 5 minute (Default)
      • h -> Hourly
      • d -> Daily
      • m -> Monthly

Setup

  1. Clone the repository to whichever hosting service you prefer
  2. Rename example-config.js to config.js, and replace the fields with your information
  3. Run npm install
  4. Run node index.js

Docker

If preferred, you can also build and deploy as a Docker container.

  1. docker build -t stockbot .
  2. docker run -e BOT_TOKEN="mybottokenaaaaaaaaaaaaaaa" -e CHANNEL_ID="123412341234" stockbot