def GeneralSpell(name): name = CommsManager.paramHandler(name) value = requests.get( 'https://www.dnd5eapi.co/api/spells/{}'.format(name)) value = json.loads(value.text) if('error' not in value): embed = discord.Embed( title='Spell Information - {}'.format(value['name']), colour=discord.Colour.red() ) embed.add_field( name='Level - $Spell/Level {value}', value=value['level'], inline=False) embed.add_field(name='Name', value=value['name'], inline=False) embed = GeneralHandler.Desc_Handler(embed, RaceHandler.DescHandler( value['desc']), name) if('higher_level' in value): embed.add_field(name='Increased Level', value=RaceHandler.DescHandler( value['higher_level']), inline=False) if('damage' in value): embed.add_field(name='Damage', value=SpellsHandler.damageHandler( value['damage']['damage_at_slot_level']), inline=False) embed.add_field( name='Damage Type', value=value['damage']['damage_type']['name'], inline=False) embed.add_field(name='Range', value=value['range'], inline=False) embed.add_field(name='Components', value=value['components'], inline=False) if('material' in value): embed.add_field(name='Material', value=value['material'], inline=False) embed.add_field( name='Ritual?', value=value['ritual'], inline=False) embed.add_field(name='Duration', value=value['duration'], inline=False) embed.add_field(name='Concentration', value=value['concentration'], inline=False) embed.add_field(name='Casting Time', value=value['casting_time'], inline=False) embed.add_field( name='School - $Spell/School {value}', value=value['school']['name'], inline=False) embed.add_field( name='Classes - $Class {value}', value=SpellsHandler.spellHandler(value['classes']), inline=False) embed.add_field(name='Subclasses', value=SpellsHandler.spellHandler( value['subclasses']), inline=False) embed.timestamp = datetime.utcnow() embed.set_footer(text='MattMaster Bots: Dnd') else: embed = CommsManager.failedRequest(name) return embed
def AbilityScores(name): name = CommsManager.paramHandler(name) value = requests.get( 'https://www.dnd5eapi.co/api/ability-scores/{}'.format(name)) value = eval(value.text) if ('error' not in value): embed = discord.Embed( title='Ability Score Information - {}'.format(value['name']), colour=discord.Colour.red()) # value['starting_proficiencies'] embed.add_field(name='Short Name', value=value['name'], inline=False) embed.add_field(name='Full Name', value=value['full_name'], inline=False) embed.add_field(name='Description', value=RaceHandler.DescHandler(value['desc']), inline=False) embed.add_field(name='Skills - $Skill {value}', value=RaceHandler.SkillHandler(value['skills']), inline=False) embed.timestamp = datetime.utcnow() embed.set_footer(text='MattMaster Bots: Dnd') else: embed = CommsManager.failedRequest(name) return embed
def GeneralFeature(name): name = CommsManager.paramHandler(name) value = requests.get( 'https://www.dnd5eapi.co/api/features/{}'.format(name)) value = eval(value.text) embed = discord.Embed(title='Feature Information - {}'.format(name), colour=discord.Colour.red()) if ('error' not in value): embed.add_field(name='Name', value=value['name'], inline=False) embed.add_field(name='Class - $Class {ClassName}', value=value['class']['name'], inline=False) embed.add_field(name='Level - $Spell/Level {Level}', value=str(value['level']), inline=False) embed.add_field(name='Prerequisites', value=value['prerequisites'], inline=False) embed.add_field(name='Description', value=RaceHandler.DescHandler(value['desc']), inline=False) else: embed = CommsManager.failedRequest(name) embed.timestamp = datetime.utcnow() embed.set_footer(text='MattMaster Bots: Dnd') return embed
def GeneralDamageType(name): name = CommsManager.paramHandler(name) value = requests.get( 'https://www.dnd5eapi.co/api/damage-types/{}'.format(name)) value = json.loads(value.text) if ('error' not in value): embed = discord.Embed(title='Damage Type Information - {}'.format( value['name']), colour=discord.Colour.red()) embed.add_field(name='Name', value=value['name'], inline=False) embed = GeneralHandler.Desc_Handler( embed, RaceHandler.DescHandler(value['desc']), name) else: embed = CommsManager.failedRequest(name) return embed
def GeneralSubClass(name): name = CommsManager.paramHandler(name) value = requests.get( 'https://www.dnd5eapi.co/api/subclasses/{}'.format(name)) value = eval(value.text) if ('error' not in value): embed = discord.Embed(title='Class Information - {}'.format( value['name']), colour=discord.Colour.red()) embed.add_field(name='Parent Class - $Class {value}', value=value['class']['name'], inline=False) embed.add_field(name='Name', value=value['name'], inline=False) embed.add_field(name='Flavor Text', value=value['subclass_flavor'], inline=False) embed.add_field(name='Description', value=RaceHandler.DescHandler(value['desc']), inline=False) embed.timestamp = datetime.utcnow() embed.set_footer(text='MattMaster Bots: Dnd') if ('spells' in value): embed2 = discord.Embed( title='Spell Information - {} - $Spell {}'.format( value['name'], '{value}'), colour=discord.Colour.red()) embed2 = GeneralHandler.SubClassSpellHandler2( embed2, value['spells'], name) embed2.timestamp = datetime.utcnow() embed2.set_footer(text='MattMaster Bots: Dnd') return [embed, embed2] else: return [embed] else: embed = CommsManager.failedRequest(name) return [embed]
def Equipment(name): name = CommsManager.paramHandler(name) value = requests.get( 'https://www.dnd5eapi.co/api/equipment/{}'.format(name)) value = json.loads(value.text) embed = discord.Embed(title='Equipment Information - {}'.format(name), colour=discord.Colour.red()) if ('error' not in value): if (value['equipment_category']['name'] == 'Weapon'): embed.add_field(name='Equipment Category', value=value['equipment_category']['name'], inline=False) embed.add_field(name='Weapon Category', value=value['weapon_category'], inline=False) embed.add_field(name='Range', value=start_equip.rangeHandler(value['range']), inline=False) embed.add_field(name='Category', value=value['equipment_category']['name'], inline=False) embed.add_field(name='Cost', value=str(value['cost']['unit']) + ': ' + str(value['cost']['quantity']), inline=False) embed.add_field(name='Damage', value=start_equip.damageHandler( value['damage']), inline=False) if (value['equipment_category']['name'] == 'Armor'): embed.add_field(name='Equipment Category', value=value['equipment_category']['name'], inline=False) embed.add_field(name='Armor Category', value=value['armor_category'], inline=False) embed.add_field(name='Armor Class', value=start_equip.acHandler( value['armor_class']), inline=False) embed.add_field(name='Strength Requirement', value=value['str_minimum'], inline=False) embed.add_field(name='Stealth Disadvantage?', value=value['stealth_disadvantage'], inline=False) embed.add_field(name='cost', value=str(value['cost']['unit']) + ':' + str(value['cost']['quantity']), inline=False) if (value['equipment_category']['name'] == 'Adventuring Gear'): embed.add_field(name='Equipment Category', value=value['equipment_category']['name'], inline=False) embed.add_field(name='Gear Category', value=value['gear_category']['name'], inline=False) embed.add_field(name='Cost', value=str(value['cost']['unit']) + ': ' + str(value['cost']['quantity']), inline=False) if (value['equipment_category']['name'] == 'Mounts and Vehicles'): embed.add_field(name='Equipment Category', value=value['equipment_category']['name'], inline=False) embed.add_field(name='Mount and Vehicle Category', value=value['vehicle_category'], inline=False) embed.add_field(name='Cost', value=str(value['cost']['unit']) + ': ' + str(value['cost']['quantity']), inline=False) if ('weight' in value): embed.add_field(name='Weight', value=value['weight'], inline=False) if ('speed' in value): embed.add_field(name='Speed', value=str(value['speed']['quantity']) + ' ' + value['speed']['unit'], inline=False) if ('desc' in value): embed.add_field(name='Desc', value=RaceHandler.DescHandler( value['desc']), inline=False) if ('contents' in value): embed.add_field(name='Contents', value=start_equip.contentHandler( value['contents']), inline=False) else: embed = CommsManager.failedRequest(name) embed.timestamp = datetime.utcnow() embed.set_footer(text='MattMaster Bots: Dnd') return embed
def MagicItem(name): name = CommsManager.paramHandler(name) value = requests.get( 'https://www.dnd5eapi.co/api/magic-items/{}'.format(name)) value = eval(value.text) embed = discord.Embed(title='Magic Item Information - {}'.format(name), colour=discord.Colour.red()) if ('error' not in value): if (value['equipment_category']['name'] == 'Weapon'): if ('desc' in value): embed.add_field(name='Equipment Category', value=value['equipment_category']['name'], inline=False) embed = GeneralHandler.Desc_Handler( embed, RaceHandler.DescHandler(value['desc']), name) else: embed.add_field(name='Equipment Category', value=value['equipment_category']['name'], inline=False) embed.add_field(name='Weapon Category', value=value['weapon_category'], inline=False) embed.add_field(name='Range', value=start_equip.rangeHandler( value['range']), inline=False) embed.add_field(name='Category', value=value['equipment_category']['name'], inline=False) embed.add_field(name='Cost', value=str(value['cost']['unit']) + ': ' + str(value['cost']['quantity']), inline=False) embed.add_field(name='Damage', value=start_equip.damageHandler( value['damage']), inline=False) if (value['equipment_category']['name'] == 'Wondrous Item'): embed.add_field(name='Type', value=value['equipment_category']['name'], inline=False) embed = GeneralHandler.Desc_Handler( embed, RaceHandler.DescHandler(value['desc']), name) if (value['equipment_category']['name'] == 'Armor'): embed.add_field(name='Equipment Category', value=value['equipment_category']['name'], inline=False) embed.add_field(name='Equipment Description', value=RaceHandler.DescHandler(value['desc']), inline=False) if (value['equipment_category']['name'] == 'Ammunition'): embed.add_field(name='Equipment Category', value=value['equipment_category']['name'], inline=False) embed.add_field(name='Equipment Description', value=RaceHandler.DescHandler(value['desc']), inline=False) if (value['equipment_category']['name'] == 'Adventuring Gear'): embed.add_field(name='Equipment Category', value=value['equipment_category']['name'], inline=False) embed.add_field(name='Gear Category', value=value['gear_category']['name'], inline=False) embed.add_field(name='Cost', value=str(value['cost']['unit']) + ': ' + str(value['cost']['quantity']), inline=False) if (value['equipment_category']['name'] == 'Potion'): embed.add_field(name='Type', value=value['equipment_category']['name'], inline=False) embed = GeneralHandler.Desc_Handler( embed, RaceHandler.DescHandler(value['desc']), name) if (value['equipment_category']['name'] == 'Wand'): embed.add_field(name='Equipment Category', value=value['equipment_category']['name'], inline=False) embed = GeneralHandler.Desc_Handler( embed, RaceHandler.DescHandler(value['desc']), name) if ('contents' in value): embed.add_field(name='Contents', value=start_equip.contentHandler( value['contents']), inline=False) else: embed = CommsManager.failedRequest(name) return embed