From ac8580d300a00e874366a465bd8e1e56e90f15fa Mon Sep 17 00:00:00 2001 From: AnInternetTroll Date: Mon, 29 Jun 2020 14:25:24 +0100 Subject: Added xboxpresence command --- cogs/general.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/cogs/general.py b/cogs/general.py index 9fc8f5c..57bf044 100755 --- a/cogs/general.py +++ b/cogs/general.py @@ -3,6 +3,7 @@ import discord import datetime import requests import json +import dateutil.parser def dump(obj): output = "" @@ -150,5 +151,41 @@ class General(commands.Cog): embed.add_field(name="Reputation", value=reputation, inline=True) await ctx.send(embed=embed) + @commands.command() + async def xboxpresence(self, ctx, *, gamertag=None): + if not gamertag: + await ctx.send("You need to specify a gamer, gamer") + return + + r = requests.get(f"https://xbl-api.prouser123.me/presence/gamertag/{gamertag}") + gamer = json.loads(r.text) + + try: + await ctx.send(f"{gamer['error']}: {gamer['message']}") + return + except KeyError: + pass + + state = gamer["state"] + + try: + game = json.loads(requests.get(f"https://xbl-api.prouser123.me/titleinfo/{gamer['lastSeen']['titleId']}").text) + gameName = game["titles"][0]["name"] + gamePic = game["titles"][0]["images"][4]["url"] + timestamp = dateutil.parser.isoparse(gamer["lastSeen"]["timestamp"]) + lastSeen = True + except Exception as e: + print(e) + lastSeen = False + + if lastSeen: + embed=discord.Embed(title=gamer["gamertag"], description=state, timestamp=timestamp) + embed.set_thumbnail(url=gamePic) + embed.add_field(name="Game", value=gameName, inline=True) + await ctx.send(embed=embed) + else: + embed=discord.Embed(title=gamer["gamertag"], description=state, timestamp=ctx.message.created_at) + await ctx.send(embed=embed) + def setup(bot): bot.add_cog(General(bot)) -- cgit v1.2.3