Simple Discord Stock Bot

This Article is out of Date.

To get the most recent information about my stock bots, please go to my Gitlab project.

Motivation

Google Allo is disappearing in March 2019 so me and my friends who use it for talking about stocks need a replacement. Allo has a feature that allows you to talk to the Google Assitant right in the chat which makes pulling up a news article or a stock quote in chat extremely easy. This bot aims to replace that specific functionality.

Features

The bot checks every message for tickers which can be called by putting a dollar sign in front of the stock symbol like this: $tsla The bot is pretty smart and can handle as many tickers in a message as you put in.

For example the message:

I want to know about $tsla $djia $f $aaxn $baba $amzn

Will output:

The bot can also quickly give you news links about any tickers you need. Simply putting !news in front of your message like this:

!news $tsla

Will output:

The news feature also works with as many tickers as you want to put in a message at once for example: !news I want to know about $tsla $amzn

How it works

The most important part of the project is discord.py which is an API wrapper for Discord written in Python. discord.py made this project a breeze.

The other important part is the Bravos API which is used to get the current quote for the provided ticker. The API works perfectly and is free with an account.

The news sources are currently hardcoded, and the code simply puts the stock ticker into a URL where its needed to get a page on that specific ticker. The image of the company that is shown in the embeds are taken from Motley Fool without an official API. There's probably a better way to get the images but I couldn't find one easily.

Installation

Follow install instructions for discord.py without full voice support.

Contribute

This project probably won't get additional development since I decided to use Telegram instead of Discord for group messaging, but if you would like add anything feel free to make your own clone repo, or you can contact me and maybe get a pull request going. Would also love to hear about all the things I did wrong in my code<3

License

In laymen (not a substitute for the actual license) you can do whatever you want with this project as long as you also share it, and give me credit.