CoinBot is a Discord bot that can retreive your Coinbase portfolio information via a created API key and relay the data to a Discord server via commands or on scheduled times.
Make sure to have these installed:
- Generate Coinbase API key and secret by going to your Coinbase settings
- Create Discord bot and link to server with this guide
- Configure
config-TEMPLATE.json
file and rename toconfig.json
- Run bot file
All Discord commands should be prefixed with the specified command prefix; the default prefix is !
. Commands and uses with table:
Command | Explanation | Example |
---|---|---|
balance |
get balance for specific currency | balance BTC |
portfolio |
grab all of user's portfolio currencies and output them | portfolio |
-
Features
- Grab user's portfolio information
- Grab current and historic currency data
- Update data with each request instead of at the start of the app
- Calculate precent change of cryptocurrencies based on historic data
- [] Optimize fetching of historical data (can take a min)
- [] Integrate matplotlib for visual aids
- [] Connect database to store portfolio information so the user can see their portfolio growth over time
- [] Discord Bot
- Total portfolio output
- [] Output specific currency info (price, percent up/down, amount owned and total)
- [] Use Discord buttons feature to implement pagination on embed of portfolio information (change page to percent up/downs)
- [] Output data if date and time matches alert config (see Discord Tasks)
- [] Command to edit JSON file to update alerts (day and time)
- [] Get list of currencies from watchlist in config file and output pricing info
- [] Handling for arguments that cannot be resolved
- [] Flesh out help command
-
Config
- Create JSON template files to grab config info from
- Flesh out setup.py to grab other general config info, such as watchlist, command prefix, etc
- [] Config options
- API key/secret
- Currency limit
- Discord bot token
- Alert days and times
- Changeable command prefix
- Add watchlist option where users can add currencies for pricing updates
- [] Option to opt out of linking Coinbase account (i.e. just retrieve pricing data)
-
Admin
- Select license
- [] Improve setup guide to explain some of the configuration options in
config-TEMPLATE.json
See the LICENSE.md file for license rights and limitations (MIT).