#!/usr/bin/env python3 """ Queries coinlib.io for information about various cryptocurrencies. """ import re import requests import config from module import commands, example, require_admin URI = "https://coinlib.io/api/v1" HEADERS = {'cookie': "SESSIONID=91049a9e2e89f6a39f827378dd10184f;"} @commands("crypto", "coin") @example(".crypto btc", "[CRYPTO] Name: Bitcoin | Symbol: BTC | Rank: 1 | Price: 7067.62 | " + "Markets: 3 | Market Cap: 121511525662.62") def crypto(bot, trigger): """ Queries coinlib.io for information about various crytocurrencies. """ params = { "key": config.coinlib_api_key, "pref": "USD", } if len(trigger.args) < 2: return bot.reply("What coin?") symbol = trigger.args[1] if symbol: params["symbol"] = symbol res = requests.get(URI + "/coin", params=params, headers=HEADERS) if res.status_code in [400, 401]: return bot.msg(f"Error: {res.json()['error']}") res.raise_for_status() data = res.json() msg = f"[\x0304CRYPTO\x03] \x0310Name\x03: \x0312{data['name']}\x03 | " msg += f"\x0310Symbol\x03: \x0312{data['show_symbol']}\x03 | " msg += f"\x0310Rank\x03: \x0312{data['rank']}\x03 | " msg += f"\x0310Price\x03: \x0308" msg += data['price'] + "\x03 | " msg += f"\x0310Markets\x03: \x0312{len(data['markets'])}\x03 | " msg += f"\x0310Market Cap\x03: \x0308" msg += re.sub(r'(^.+\.\d\d).*', r'\1', data['market_cap']) + "\x03" else: res = requests.get(URI + "/global", params=params) if res.status_code in [400, 401]: return bot.msg(f"Error: {res.json()['error']}") res.raise_for_status() data = res.json() msg = f"[\x0304CRYPTO\x03] \x0310Total Coins\x03: \x0312{data['coins']}\x03 | " msg += f"\x0310Total Markets\x03: \x0312{data['markets']}\x03 | " msg += f"\x0310Total Market Cap\x03: \x0308" msg += re.sub(r'(^.+\.\d\d).*', r'\1', data['total_market_cap']) + "\x03" bot.msg(msg)