#!/usr/bin/env python3 """ Queries coinlib.io for information about various cryptocurrencies. """ import re import requests from module import commands, example, require_admin URI = "https://coinlib.io/api/v1" @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": bot.config.crypto.api_key, "pref": "USD", } symbol = trigger.group(3) if symbol: params["symbol"] = symbol res = requests.get(URI + "/coin", 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] \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 += re.sub(r'(^.+\.\d\d).*', r'\1', 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)