Files
stroopwafel/Cryptocoin.py
T

54 lines
1.5 KiB
Python

import asyncio
import discord
from discord.ext import commands
from urllib import request
import json, requests
class Cryptocoin(object):
"""Voor al uw crypto currency advies."""
def __init__(self, bot):
self.bot = bot
self.voice_states = {}
def __check(self, ctx): #Todo: Is dit het geld-verdienen kanaal?
return True
def getCoinPrice(self, coinId, currencyId="USD", time="now"):
url = "https://min-api.cryptocompare.com/data/pricehistorical?tsyms=" + currencyId + "&fsym=" + coinId
if (time != "now"):
url += "&ts=" + str(time)
response = requests.get(url)
try:
priceData = json.loads(response.content.decode('utf-8'))
return priceData[coinId][currencyId]
except:
return -1
@commands.command(pass_context=True)
@asyncio.coroutine
def coinprice(self, ctx, coinId: str, currencyId: str="USD"):
"""Geeft de huidige prijs van de desbetreffende crypto currency
Bijv:
!coinprice BTC
Of voor de echte (Erik) Hollanders:
!coinprice NLG EUR
"""
allowedCurrencies = ["USD", "EUR", "JPY", "GBP", "CNY", "CAD", "BTC"]
if (currencyId not in allowedCurrencies):
yield from ctx.channel.send("Valuta " + currencyId + " ken ik niet. :disappointed: ")
return
price = self.getCoinPrice(coinId, currencyId)
if (price == -1):
yield from ctx.channel.send("Die cryptocoin ken ik niet... :frowning2: ")
return
yield from ctx.channel.send(coinId + " is nu " + str(price) + " " + currencyId + " waard.")