From 2e163f63be65472e0d916f3df04cb4cf204715bd Mon Sep 17 00:00:00 2001 From: Giovani Date: Wed, 28 Jul 2021 18:11:02 -0400 Subject: [PATCH] feat: change message events to commands --- pyvis.py | 47 +++++++++++++++-------------------------------- 1 file changed, 15 insertions(+), 32 deletions(-) diff --git a/pyvis.py b/pyvis.py index 6a270b5..13c5268 100644 --- a/pyvis.py +++ b/pyvis.py @@ -22,41 +22,24 @@ async def on_ready(): f'{guild.name}(id: {guild.id})' ) -@bot.event -async def on_message(message): - # ignore messages from the bot itself - if message.author == bot.user: - return +@bot.command(name="resources") +async def resources(ctx): + await ctx.send("Some resources for you here!") - msg_str = message.content +@bot.command(name="crypto") +async def crypto(ctx, *tickers): + # default tickers + if len(tickers) == 0: + tickers = ['BTC', 'ETH', 'LTC'] - # Help command - if msg_str == '!help': - await message.channel.send("!help - Displays this help message") + # make the call for prices + http_response = requests.get("https://api.lunarcrush.com/v2?data=assets&key=" + LUNAR_CRUSH_API_KEY + "&symbol=" + ",".join(tickers)) + data = json.loads(http_response.text) - # Resources command - if msg_str == "!resources": - await message.channel.send("Some resources for you here!") + # extract prices and derive message response + msg_response = "Cryptocurrency prices for today!\n" + msg_response += "\n".join([f"**{item['symbol']}**: ${int(item['price'])}" for item in data["data"]]) - # Crypto command - if msg_str.startswith("!crypto"): - symbols = ["BTC", "ETH", "LTC"] - - # make the call for prices - http_response = requests.get("https://api.lunarcrush.com/v2?data=assets&key=" + LUNAR_CRUSH_API_KEY + "&symbol=" + ",".join(symbols)) - data = json.loads(http_response.text) - - # extract prices - prices = [] - prices.append(int(data["data"][0]["price"])) # BTC - prices.append(int(data["data"][1]["price"])) # ETH - prices.append(int(data["data"][2]["price"])) # LTC - - # derive message response - msg_response = "Cryptocurrency prices for today!\n" - for i in range(len(symbols)): - msg_response += "**{}** - ${}\n".format(symbols[i], prices[i]) - - await message.channel.send(msg_response) + await ctx.send(msg_response) bot.run(DISCORD_BOT_TOKEN) \ No newline at end of file