diff --git a/planttycoon/planttycoon.py b/planttycoon/planttycoon.py index 7e6f0b6..f88fd6f 100644 --- a/planttycoon/planttycoon.py +++ b/planttycoon/planttycoon.py @@ -11,8 +11,6 @@ from redbot.core import commands, Config, bank from redbot.core.bot import Red from redbot.core.data_manager import bundled_data_path -Cog: Any = getattr(commands, "Cog", object) - class Gardener: """Gardener class""" @@ -116,7 +114,7 @@ async def _withdraw_points(gardener: Gardener, amount): return True -class PlantTycoon(Cog): +class PlantTycoon(commands.Cog): """Grow your own plants! Be sure to take proper care of it.""" def __init__(self, bot: Red): @@ -190,7 +188,7 @@ class PlantTycoon(Cog): self.products = json.load(json_data) for product in self.products: - print("Loaded {}".format(product)) + print("PlantTycoon: Loaded {}".format(product)) async def _gardener(self, user: discord.User) -> Gardener: @@ -502,12 +500,14 @@ class PlantTycoon(Cog): @_gardening.command(name="plant") async def _plant(self, ctx: commands.Context, *, plantname): """Look at the details of a plant.""" + if not plantname: + await ctx.send_help() if self.plants is None: await self._load_plants_products() t = False plant = None for p in self.plants["plants"]: - if p["name"].lower() == plantname.lower(): + if p["name"].lower() == plantname.lower().strip('"'): plant = p t = True break @@ -524,9 +524,8 @@ class PlantTycoon(Cog): em.add_field(name="**Badge**", value=plant["badge"]) em.add_field(name="**Reward**", value="{} τ".format(plant["reward"])) else: - message = "What plant?" + message = "I can't seem to find that plant." em = discord.Embed(description=message, color=discord.Color.red()) - await ctx.send_help() await ctx.send(embed=em) @_gardening.command(name="state") @@ -728,7 +727,6 @@ class PlantTycoon(Cog): gardener.points += self.defaults["points"]["growing"] * degradation_count gardener.current["degrade_count"] += degradation_count await gardener.save_gardener() - await gardener.is_complete(now) async def check_completion_loop(self): @@ -737,10 +735,14 @@ class PlantTycoon(Cog): users = await self.config.all_users() for user_id in users: user = self.bot.get_user(user_id) + if not user: + continue gardener = await self._gardener(user) + if not gardener: + continue try: await self._apply_degradation(gardener) - await self.check_completion(gardener, now, user) + await gardener.is_complete(now) except discord.Forbidden: # Couldn't DM the results pass @@ -751,7 +753,11 @@ class PlantTycoon(Cog): users = await self.config.all_users() for user_id in users: user = self.bot.get_user(user_id) + if not user: + continue gardener = await self._gardener(user) + if not gardener: + continue try: await self._apply_degradation(gardener) except discord.Forbidden: