dragon-bot/app/cogs/game_apis.py

66 lines
2.0 KiB
Python
Executable File

from discord import option
from discord.ext import commands
class Games(commands.Cog):
def __init__(self, bot):
self.bot: commands.Bot = bot
@commands.slash_command(
guild_ids=None,
name="apex",
description="Query the game's API for data about a player",
)
async def apex(self, ctx: commands.Context, player):
import apex_legends
try:
await ctx.defer()
embed = apex_legends.get_player(player)
await ctx.send_followup(embed=embed)
except Exception as e:
await ctx.send(e)
@commands.slash_command(
guild_ids=None,
name="ffxiv",
description="Query the game's API for data about a player",
)
@option(
"player_name", description="Your player's first and last name", required=True
)
@option(
"server",
description="Your player's data center",
required=True,
input_type="str",
)
async def ffxiv(self, ctx: commands.Context, player_name: str, server: str):
import ffxiv
try:
embed = ffxiv.make_request(name=player_name.lower(), server=server.lower())
await ctx.defer()
await ctx.send_followup(embed=embed)
except Exception:
await ctx.send(
"I encountered an error while searching for that player.\nPlease check that your player name and server are spelled correctly"
)
@commands.slash_command(
guild_ids=None,
name="2042",
description="Query Battlefield 2042's API for data about a player",
)
@option("player_name", description="Your Origin/EA account name", required=True)
async def battlefield(self, ctx: commands.Context, player_name: str):
import battlefield
await ctx.defer()
embed = battlefield.get_player(player=player_name.lower())
await ctx.send_followup(embed=embed)
def setup(bot):
bot.add_cog(Games(bot))