Tiamat: Added spell command

This commit is contained in:
skins 2021-08-07 15:28:32 +01:00
parent 2c5a4f7421
commit fdeef78467

View File

@ -17,9 +17,10 @@ class Tiamat(commands.Cog):
f"is in the System Reference Document") f"is in the System Reference Document")
else: else:
initial_embed = discord.Embed(title=data["name"]) 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"]: 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=ability, value=data[ability], inline=True)
initial_embed.add_field(name="AC", value=data["armor_class"])
attack_embed = discord.Embed(title="Actions") attack_embed = discord.Embed(title="Actions")
for action in data["actions"]: for action in data["actions"]:
attack_embed.add_field(name=action["name"], value=action["desc"]) attack_embed.add_field(name=action["name"], value=action["desc"])
@ -32,3 +33,25 @@ class Tiamat(commands.Cog):
await ctx.send(embed=attack_embed) await ctx.send(embed=attack_embed)
if legendary_embed is not None: if legendary_embed is not None:
await ctx.send(embed=legendary_embed) 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)