Fix /paldeck, the author of the site chnaged a bunch of his divs

This commit is contained in:
Luke Robles 2024-01-28 10:05:17 -08:00
parent 4c0fcf271b
commit cadd750e0c

View File

@ -33,7 +33,7 @@ class PalWorld(commands.Cog):
for pal in x: for pal in x:
all_pals.append(pal.text) all_pals.append(pal.text)
return set(all_pals) return sorted(set(all_pals))
@palworld.command( @palworld.command(
guild_ids=None, guild_ids=None,
@ -96,9 +96,6 @@ class PalWorld(commands.Cog):
)["src"] )["src"]
) )
# pal_description = soup.find("h3", class_="text-lg mt-2 text-slate-300").text
# embed.add_field(name="**Description**", value=pal_description, inline=False)
# embed.add_field(name="Work Skills", value="-----", inline=False) # embed.add_field(name="Work Skills", value="-----", inline=False)
# work skills # work skills
skills_emojis = { skills_emojis = {
@ -116,13 +113,14 @@ class PalWorld(commands.Cog):
"Watering": "💦", "Watering": "💦",
} }
specialties = soup.find("div", class_="grid grid-cols-2 grid-rows-6 gap-2") skill_table = soup.find("div", class_="flex flex-col gap-2")
for work_skill in specialties.find_all( for div in skill_table.find_all(
"div", "div", class_=re.compile(".*border-amber-300\s+break-all")
class_="inline-flex flex-row gap-1 items-center bg-black-300 border border-amber-300 break-all",
): ):
skill_name = work_skill.text.split("Lv")[0] skill_name = div.find("p", class_="text-base sm:text-lg").text
skill_level = work_skill.text.split("Lv")[1] skill_level = div.find(
"p", class_="text-base sm:text-lg mr-2 md:mr-4"
).text.split("Lv")[-1]
embed.add_field( embed.add_field(
name=skills_emojis[skill_name] + " " + skill_name, name=skills_emojis[skill_name] + " " + skill_name,
@ -141,11 +139,15 @@ class PalWorld(commands.Cog):
value=skill_description, value=skill_description,
inline=False, inline=False,
) )
# Drops # Drops
embed.add_field(name="Drops", value="-----", inline=False) embed.add_field(name="Drops", value="-----", inline=False)
for div in soup.find("div", class_="flex flex-col gap-2"): for div in soup.find_all(
"div",
class_="inline-flex flex-col gap-1 items-center bg-black-300 border border-amber-300 break-all p-2",
):
embed.add_field( embed.add_field(
name=div.text.split("(")[0], name=div.text.split("Quantity")[0],
value="", value="",
inline=False, inline=False,
) )