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))
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()
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)