added crypto.py, cleaned .movie example message

This commit is contained in:
iou1name 2018-08-05 20:30:51 -04:00
parent 3155be4995
commit c22ee5ee37
2 changed files with 56 additions and 5 deletions

51
modules/crypto.py Normal file
View File

@ -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)

View File

@ -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,