btc_value = float(cmd_input) ticker = api_btc.getticker()['ticker'] inusd = btc_value * ticker['last'] resp = "{BTC}{input} to USD: {USD}{value}".format(USD=USD, BTC=BTC, input=btc_value, value=inusd) cmd("PRIVMSG", CHAN, ":"+resp) elif((len(line) == 6 or len(line) == 7) and line[4].lower()=="address"): ADDRESS = line[5] POOL = None if len(line) == 7: POOL = line[6] unpaid = api_btc.getbalance_unpaid(ADDRESS, POOL) paid = api_btc.getbalance_paid(ADDRESS, POOL) block = api_btc.getbalance_currentblock(ADDRESS, POOL) total = paid + unpaid + block ticker = api_btc.getticker()['ticker'] total_locale = api_btc.cur_to_locale(total * ticker['last']) cmd("PRIVMSG", CHAN, ":Address: {address} Paid: {BTC}{paid} Unpaid: {BTC}{unpaid} CurrentBlock: {BTC}{block} Total: {BTC}{total} {APROX} {total_locale}".format( BTC = BTC, APROX = APROX, address = ADDRESS, paid = paid, unpaid = unpaid, block = block, total = total, total_locale = total_locale )) elif((len(line) == 6 or len(line) == 7) and line[4].lower()=="paid"): ADDRESS = line[5] POOL = None if len(line) == 7: POOL = line[6]
elif((len(line) == 6 or len(line) == 7) and line[4].lower()=="unpaid"): ADDRESS = line[5] POOL = None if len(line) == 7: POOL = line[6] unpaid = api_btc.getbalance_unpaid(ADDRESS, POOL) cmd("PRIVMSG", CHAN, ":Address: {address} Unpaid: {BTC}{unpaid}".format(BTC=BTC, address=ADDRESS, unpaid=unpaid)) elif(len(line) == 6 and line[4].lower()=="convert"): input_value = line[5] input_locale, value = api_btc.cur_parse(input_value) if(input_locale == 'en_US'): ticker = api_btc.getticker()['ticker'] resp = api_btc.cur_to_btc(value / ticker['last']) elif(input_locale == 'BTC'): ticker = api_btc.getticker()['ticker'] resp = api_btc.cur_to_locale(value * ticker['last']) else: raise ValueError("Unknown input locale: %s" % input_locale) cmd("PRIVMSG", CHAN, ":{input_value} is valued at {dest_value}".format( input_value = input_value, dest_value = resp )) else: cmd("PRIVMSG", CHAN, ":Available commands: TICKER CONVERT ADDRESS TOBTC TOUSD PAID UNPAID") except ValueError, e: cmd("PRIVMSG", CHAN, ":Error: %s" % str(e)) traceback.print_exc(file=sys.stderr) except urllib2.HTTPError, e: cmd("PRIVMSG", CHAN, ":Error: %s" % str(e)) traceback.print_exc(file=sys.stderr)