예제 #1
0
파일: farm.py 프로젝트: derwells/shalltear
 async def refreshplantprices(self, ctx):
     """(Owner) Manually refresh the global market prices."""
     all_plants = Plant.get_plants(self.bot.db_session)
     for plant in all_plants:
         plant.randomize_price(self.bot.db_session)
     final_str = ""
     for plant in all_plants:
         bp = plant.get_buy_price()
         sp = plant.get_sell_price()
         _str = "***{0.name}*** `[B: {1:,.2f} gil | S: {2:,.2f} gil]`\n".format(
             plant, bp, sp)
         final_str += _str
     await ctx.send("**Prices refreshed!**\n{}".format(final_str))
예제 #2
0
파일: farm.py 프로젝트: derwells/shalltear
def refresh_prices(bot):
    logging.info("Refreshing farm market prices...")
    all_plants = Plant.get_plants(bot.db_session)
    for plant in all_plants:
        plant.randomize_price(bot.db_session, commit_on_execution=False)
    bot.db_session.commit()
예제 #3
0
파일: farm.py 프로젝트: derwells/shalltear
    async def plantprices(self, ctx, plant_name=None):
        """Show the current global plant prices."""
        try:
            page_number = int(plant_name)
            plant_name = None
        except TypeError:
            page_number = 1
        except ValueError:
            _plant = Plant.get_plant(self.bot.db_session, plant_name)

        if plant_name is not None:

            if _plant is None:
                ctx.send(MSG_PLANT_NOT_FOUND.format(ctx.author))
                return

            embed = discord.Embed(title="-=Current {0} Market Prices=-".format(
                _plant.name),
                                  color=0xffd700)
            bp = _plant.get_buy_price()
            sp = _plant.get_sell_price()
            embed.add_field(name="**`{0.tag}` - {0.name}**".format(_plant),
                            value=MSG_PLANT_PRICES.format(
                                _plant, bp, sp,
                                get_growing_time_string(
                                    _plant.growing_seconds)),
                            inline=False)
        else:
            all_plants = Plant.get_plants(self.bot.db_session)

            plant_count = len(all_plants)

            paginated_plants = [
                all_plants[i:i + 10] for i in range(0, plant_count, 10)
            ]

            # Make sure page number is in bounds
            page_number = min(page_number, len(paginated_plants))
            page_number = max(page_number, 1)

            embed = discord.Embed(
                title="-=Current Global Market Prices=-" +
                "\nPage {0} of {1}".format(page_number, len(paginated_plants)),
                color=0xffd700)

            logging.info(paginated_plants)
            final_str = ""
            for _plant in paginated_plants[page_number - 1]:
                bp = _plant.get_buy_price()
                sp = _plant.get_sell_price()
                embed.add_field(name="**`{0.tag}` - {0.name}**".format(_plant),
                                value=MSG_PLANT_PRICES.format(
                                    _plant, bp, sp,
                                    get_growing_time_string(
                                        _plant.growing_seconds)),
                                inline=False)
            embed.set_footer(text=MSG_PLANT_PRICES_FOOTER.format((
                timedelta(hours=1) +
                datetime.now().replace(microsecond=0, second=0, minute=0)
            ).strftime("%I:%M %p UTC+08:00")))
        await ctx.send(embed=embed)