Simple Slack bot that posts stock prices. It can be build as an RTM Slack bot, or a slash command bot that loads into aws lambda
go get -t -d github.com/thorfour/stocktopus/...
GCP Cloud Function (under development):
RTM Client (no longer actively developed):
Files should be output to bin/ directories.
bin/aws or bin/gcp which will contain the binary and the zip file of the nodejs handler and binary.
bin/rtm for the rtm client
or for aws
stocktopus.zip file in
/bin/aws as a lambda function
or for gcp
stocktopus.zip file in
bin/gcp as a cloud function
(optionally can pull stocktopus from quay.io using
docker pull quay.io/thorfour/stocktopus:v1.0.0)
docker run -d -p 80:80 -p 443:443 -e REDISADDR=<redis endpoint> -e REDISPW=<redis password> quay.io/thorfour/stocktopus:v1.0.0
The RTM bot will look for any direct messages sent to it and try to parse them as tickers, and respond with stock quotes.
The aws slash command will respond to slash commands. Single tickers will be a quote and inline graph.
for a complete list of commands the bot supports.
In addition to what is covered in the help menu, stocktopus also supports team-wide watchlists. To utilize these you use the same format as you would for your personal watch list but simple add a name after a
# character immediately after the command.
/stocktopus watch #funlist GOOG
Would add GOOG to a watch list called funlist, and then anyone in your Slack team can access that same list Ex.
/stocktopus list #funlist
You might also want to watch/buy or lookup securities listed on non-US exchanges. To do so simply add the exchange followed by a colon(:) before the ticker name.
/stocktopus tse:are to list the ARE stock from the Toronto Stock Exchange
Note: other exchanges are no longer supported by the application. To enable this feature on a local build, you can build with alphavantage instead of IEX using
Data provided for free by IEX
Stocktopus does not collect any personal identifying information. It does not store a history of your requests. The only data it does store is a unique ID received from Slack for a user if they opt to use the list or play money features. If you use the list or play money features it also stores the list of stocks a user has bought or added to their watch list.
If you have questions comments or concerns about the app please email firstname.lastname@example.org