add price cmd

master
lza_menace 4 years ago
parent 246711b1f6
commit 0db75f3e7e

@ -5,7 +5,7 @@ from tipbot.commands.tip import tip
from tipbot.commands.withdraw import withdraw from tipbot.commands.withdraw import withdraw
from tipbot.commands.balance import balance from tipbot.commands.balance import balance
from tipbot.commands.deposit import deposit from tipbot.commands.deposit import deposit
from tipbot.commands.network import mine, mempool, network from tipbot.commands.network import mine, mempool, network, price
all_commands = { all_commands = {
@ -58,4 +58,9 @@ all_commands = {
'example': '/network', 'example': '/network',
'help': 'Show details about the Wownero network' 'help': 'Show details about the Wownero network'
}, },
'price': {
'func': price,
'example': '/price',
'help': 'Show Wownero price and market data from CoinGecko'
},
} }

@ -69,3 +69,30 @@ def network(update, context):
)) ))
except: except:
update.message.reply_text('Something borked -_-') update.message.reply_text('Something borked -_-')
@log_event
@check_debug
def price(update, context):
try:
data = {
'localization': False,
'tickers': False,
'market_data': True,
'community_data': False,
'developer_data': False,
'sparkline': False
}
headers = {'accept': 'application/json'}
url = 'https://api.coingecko.com/api/v3/coins/wownero'
r = requests.get(url, headers=headers, data=data, timeout=5)
r.raise_for_status()
j = r.json()
mcap = j['market_cap_rank']
sats = j['market_data']['current_price']['btc']
mname = j['tickers'][0]['market']['name']
volbtc = j['tickers'][0]['converted_volume']['btc']
tgt = j['tickers'][0]['target']
bse = j['tickers'][0]['base']
update.message.reply_text(f'{tgt}-{bse} is {sats:.8f} {tgt} on {mname} with {volbtc:.2f} {tgt} volume. Currently market cap rank #{mcap}.')
except:
update.message.reply_text('Something borked -_-')

Loading…
Cancel
Save