top working now

This commit is contained in:
root 2018-01-03 15:58:02 +00:00
parent b134ca3625
commit 8298297c37
1 changed files with 29 additions and 37 deletions

View File

@ -362,43 +362,35 @@ def top(bot, trigger):
if not trigger.group(2):
bot.say("You want to see the CMC top... how many? Pick a number 1 through 10")
else:
if type(trigger.group(2)) in (float, int):
limit = int(trigger.group(2))
mylist = range(1,limit + 1)
if limit > 10:
bot.say("Too high! Max is 10!")
elif limit < 1:
bot.say("Dude...")
else:
try:
r = requests.get('https://api.coinmarketcap.com/v1/ticker?limit=50')
j = r.json()
except:
bot.say("Can't connect to API")
try:
for therank in mylist:
for i in j:
try:
if i['rank'] == str(therank):
coin = i
except: pass
symbol = coin['symbol']
name = coin['name']
rank = coin['rank']
price_usd = float(coin['price_usd'])
price_btc = float(coin['price_btc'])
market_cap_usd = float(coin['market_cap_usd'])
if market_cap_usd >= 1000000000:
market_cap_short = int(int(round(market_cap_usd,-9))/int(1000000000))
rounded_mcap = str(market_cap_short)+"B"
else:
rounded_mcap = "tiny"
topXstring += "{0}. {1} ${2} | ".format(rank, symbol, rounded_mcap) #TODO: add price_usd, rounded
bot.say(topXstring)
except:
bot.say("Error parsing ticker, or maybe double check the code")
else:
bot.say("The use is 'top' and then a digit 1 - 10")
try:
limit = int(trigger.group(2))
if limit > 10:
bot.say("Too high! Max is 10!")
elif limit < 1:
bot.say("Dude...")
else:
try:
r = requests.get('https://api.coinmarketcap.com/v1/ticker?limit={}'.format(limit))
j = r.json()
except:
bot.say("Can't connect to API")
topXstring = ""
for i in j:
symbol = i['symbol']
name = i['name']
rank = i['rank']
price_usd = float(i['price_usd'])
price_btc = float(i['price_btc'])
market_cap_usd = float(i['market_cap_usd'])
if market_cap_usd >= 1000000000:
market_cap_short = int(int(round(market_cap_usd,-9))/int(1000000000))
rounded_mcap = str(market_cap_short)+"B"
else:
rounded_mcap = "tiny"
topXstring += "{0}. {1} ${2} | ".format(rank, symbol, rounded_mcap) #TODO: add price_usd, rounded
bot.say(topXstring)
except:
bot.say("The use is 'top' and then a digit 1 - 10")
@sopel.module.commands('okc', 'okcoin')
def okc(bot, trigger):