async def get_chosen_map_embed(self, chosen_map, session=aiohttp.ClientSession()): ''' Returns a :class:`discord.Embed` which contains an image of the map chosen on completion of the veto. closes the session passed. Parameters ----------- chosen_map: :class:`str` The chosen map name string session: :class:`aiohttp.ClientSession` Current aiohttp client session ''' if session.closed: session = aiohttp.ClientSession() veto_image_fp = 'result.png' base_url = f'http://{self.bot.bot_IP}:{self.bot.web_server.port}' chosen_map_file_name = chosen_map + self.veto_image.image_extension chosen_map_fp = os.path.join(self.veto_image.map_images_fp, chosen_map_file_name) percentage = 0.25 VetoImage.resize(chosen_map_fp, percentage, output_fp=veto_image_fp) response = await session.get(f'{base_url}/map-veto') path = (await response.json())['path'] chosen_map_image_url = base_url + path map_chosen_embed = discord.Embed( title=f'The chosen map is ```{chosen_map}```', color=discord.Colour(0x650309)) map_chosen_embed.set_image(url=chosen_map_image_url) await session.close() return map_chosen_embed
def setup(client): veto_image_generator = VetoImage('images/map_images', 'images/x.png', 'png') client.add_cog(CSGO(client, veto_image_generator))