Пример #1
0
 async def personalidad(self, ctx, *, personalidad: to_title):
     """
     **Obtén un listado con todos los aldeanos de una personalidad**
     <personalidad>: La personalidad en **ingles** a buscar.
     """
     # Verificar personalidad
     if personalidad not in personality_es:
         ctx.command.reset_cooldown(ctx)
         content = (
             f"{personalidad} no es una personalidad valida en inglés.\n"
             "Por favor, elija una de las siguientes personalidades: "
             f"{get_keys(personality_es)}")
         await ctx.send(content, delete_after=30)
         return
     # Generar paginas
     pages = []
     filtered = [
         x for x in self.bot.villagers if x["personality"] == personalidad
     ]
     for idx, villager in enumerate(filtered, start=1):
         embed = villager_embed(villager)
         embed.set_footer(text=f"Página: {idx} de {len(filtered)}")
         pages.append(embed)
     # Crear paginador por 10 minutos
     msg = f"Aldeanos de personalidad **{personalidad}** ({personality_es[personalidad]})"
     paginator = Paginator(ctx, msg, pages)
     await paginator.run(600)
Пример #2
0
 async def villager(self, ctx, *, villager: str):
     """
     **Obtén información de algún aldeano de ACNH**
     <busqueda>: El nombre en **ingles** del aldeano a buscar.
     """
     async with ctx.typing():
         msg = await ctx.send(
             f"{self.bot.think} | Se esta buscando a tu aldeano.")
         data = next(
             (vil for vil in self.bot.villagers
              if vil["name"] == villager.title()),
             None,
         )
         if data:
             embed = villager_embed(data)
             await msg.delete()
             await ctx.send(embed=embed)
         else:
             err = f"{self.bot.omg} | {villager.title()} no es un aldeano en ACNH."
             await msg.edit(content=err, delete_after=7)
Пример #3
0
 async def aldeano(self, ctx, *, aldeano: normalize):
     """
     **Obtén información de algún aldeano de ACNH**
     <busqueda>: El nombre en **español** del aldeano a buscar.
     """
     async with ctx.typing():
         msg = await ctx.send(
             f"{self.bot.think} | Se esta buscando a tu aldeano.")
         data = next(
             (x for x in self.bot.villagers
              if normalize(x["spanish"]) == aldeano),
             None,
         )
         if data:
             embed = villager_embed(data)
             await msg.delete()
             await ctx.send(embed=embed)
         else:
             err = f"{self.bot.omg} | {aldeano.title()} no es un aldeano en ACNH."
             await msg.edit(content=err, delete_after=7)
Пример #4
0
 async def calendario(self, ctx):
     # Create paginator
     pages = []
     sorted_list = sorted(self.bot.villagers, key=lambda v: v["birthday"])
     for idx, villager in enumerate(sorted_list, start=1):
         embed = villager_embed(villager)
         embed.set_footer(text=f"Página: {idx} de {len(sorted_list)}")
         pages.append(embed)
     msg = f"Calendario de cumpleaños {self.bot.love}"
     paginator = Paginator(ctx, msg, pages)
     # Get closest birthday
     fmt = "%Y-%m-%d %H:%M:%S"
     closest = min(
         sorted_list,
         key=lambda x: abs(
             datetime.strptime(x["birthday"], fmt).date() - datetime.today(
             ).date()),
     )
     paginator.curr = sorted_list.index(closest)
     await paginator.run(600)
Пример #5
0
 async def especie(self, ctx, *, especie: to_title):
     """
     **Obtén un listado con todos los aldeanos de una especie**
     <especie>: La especie en **ingles** a buscar.
     """
     # Verificar especie
     if especie not in species_es:
         ctx.command.reset_cooldown(ctx)
         content = (f"{especie} no es una especie valida en inglés.\n"
                    "Por favor, elija una de las siguientes especies: "
                    f"{get_keys(species_es)}")
         await ctx.send(content, delete_after=30)
         return
     # Generar paginas
     pages = []
     filtered = [x for x in self.bot.villagers if x["species"] == especie]
     for idx, villager in enumerate(filtered, start=1):
         embed = villager_embed(villager)
         embed.set_footer(text=f"Página: {idx} de {len(filtered)}")
         pages.append(embed)
     # Crear paginador por 10 minutos
     msg = f"Aldeanos de especie **{especie}** ({species_es[especie]})"
     paginator = Paginator(ctx, msg, pages)
     await paginator.run(600)