コード例 #1
0
    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
コード例 #2
0
    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
コード例 #3
0
    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
コード例 #4
0
    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
コード例 #5
0
    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]
コード例 #6
0
    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
コード例 #7
0
    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