diff --git a/tiamat/tiamat.py b/tiamat/tiamat.py index b458e91..2804560 100644 --- a/tiamat/tiamat.py +++ b/tiamat/tiamat.py @@ -17,9 +17,10 @@ class Tiamat(commands.Cog): f"is in the System Reference Document") else: initial_embed = discord.Embed(title=data["name"]) + initial_embed.add_field(name="HP", value=data["hp"]) + initial_embed.add_field(name="AC", value=data["armor_class"]) for ability in ["strength", "dexterity", "constitution", "intelligence", "wisdom", "charisma"]: initial_embed.add_field(name=ability, value=data[ability], inline=True) - initial_embed.add_field(name="AC", value=data["armor_class"]) attack_embed = discord.Embed(title="Actions") for action in data["actions"]: attack_embed.add_field(name=action["name"], value=action["desc"]) @@ -32,3 +33,25 @@ class Tiamat(commands.Cog): await ctx.send(embed=attack_embed) if legendary_embed is not None: await ctx.send(embed=legendary_embed) + + @commands.command() + def spell(self, ctx, *args): + name = '-'.join(args).lower() + data = requests.get(f"https://www.dnd5eapi.co/api/spells/{name}").json() + if "error" in data: + await ctx.send(f"{' '.join(args)} not found, check that the name is spelled right and that the spell " + f"is in the System Reference Document") + else: + embed = discord.Embed(title=data["name"]) + embed.add_field(name="Level", value=data["level"], inline=True) + embed.add_field(name="Range", value=data["range"], inline=True) + embed.add_field(name="Components", value=', '.join(data["components"]), inline=False) + if "material" in data: + embed.add_field(name="Material Components", value=data["material"], inline=False) + embed.add_field(name="Description", value=data["desc"][0], inline=False) + embed.add_field(name="Upcasting", value=data["higher_level"][0], inline=False) + embed.add_field(name="School", value=data["school"]["name"], inline=True) + embed.add_field(name="Ritual", value=data["ritual"], inline=True) + embed.add_field(name="Classes", value=', '.join(i["name"] for i in data["classes"]), inline=False) + embed.add_field(name="Subclasses", value=', '.join(i["name"] for i in data["subclasses"]), inline=False) + await ctx.send(embed=embed)