diff --git a/modules/crypto.py b/modules/crypto.py new file mode 100644 index 0000000..5cd2a69 --- /dev/null +++ b/modules/crypto.py @@ -0,0 +1,51 @@ +#!/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) diff --git a/modules/movie.py b/modules/movie.py index ad050db..034ce93 100755 --- a/modules/movie.py +++ b/modules/movie.py @@ -35,11 +35,11 @@ def setup(bot): con.close() -@commands('movie', 'tmdb') -@example('.movie ThisTitleDoesNotExist', '[MOVIE] Movie not found!') -@example('.movie Citizen Kane', '[MOVIE] Title: Citizen Kane | Year: \ - 1941 | Rating: 8.4 | Genre: Drama, Mystery | IMDB Link: \ - http://imdb.com/title/tt0033467') +@commands("movie", "tmdb") +@example(".movie ThisTitleDoesNotExist", "[MOVIE] Movie not found!") +@example(".movie Citizen Kane", "[MOVIE] Title: Citizen Kane | Year: " + + "1941 | Rating: 8.4 | Genre: Drama, Mystery | IMDB Link: " + + "http://imdb.com/title/tt0033467") def movieInfo(bot, trigger): """ Returns some information about a movie, like Title, Year, Rating,