aboutsummaryrefslogtreecommitdiff
path: root/modules/bitcoin.py
blob: 6686e1e837e2a4203081657ca64fef1631682ab3 (about) (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import Utils


class Module(object):
    _name = "BTC"

    def __init__(self, bot):
        self.bot = bot
        bot.events.on("received").on("command").on("btc").hook(
            self.btc, help="Get the exchange rate of bitcoins",
            usage="[currency]")

    def btc(self, event):
        currency = (event["args"] or "USD").upper()
        page = Utils.get_url("https://blockchain.info/ticker",
                             json=True)
        if page:
            if currency in page:
                conversion = page[currency]
                buy, sell = conversion["buy"], conversion["sell"]
                event["stdout"].write("1 BTC = %.2f %s (buy) %.2f %s "
                                      "(sell)" % (
                                          buy, currency, sell, currency))
            else:
                event["stderr"].write("Unknown currency, available "
                                      "currencies: %s" % ", ".join(page.keys()))
        else:
            event["stderr"].write("Failed to load results")