Merge pull request #32 from scoobybejesus/patch-4

cmc top whatever (limited to 20)
This commit is contained in:
jw 2018-01-01 21:18:41 -08:00 committed by GitHub
commit 77ddc51d7c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 43 additions and 0 deletions

View File

@ -357,6 +357,49 @@ def cmc(bot, trigger):
except: except:
bot.say("Error parsing ticker") bot.say("Error parsing ticker")
@sopel.module.commands('top')
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 = float(trigger.group(2))
mylist = range(1,limit + 1)
if limit > 10:
bot.say("Too high! Max is 10!")
else if 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(round(market_cap_usd,-9)/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")
@sopel.module.commands('okc', 'okcoin') @sopel.module.commands('okc', 'okcoin')
def okc(bot, trigger): def okc(bot, trigger):
try: try: