Exemple #1
0
    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
Exemple #2
0
def setup(client):
    veto_image_generator = VetoImage('images/map_images', 'images/x.png',
                                     'png')
    client.add_cog(CSGO(client, veto_image_generator))