Exemplo n.º 1
0
    async def pixel_error(self, ctx, error):
        if isinstance(error, commands.CommandOnCooldown):
            errembed = discord.Embed(
                title='Hold on there, buddy',
                color=err_color,
                description=
                'Wait 3 more seconds before you can get another snap!')
            await ctx.send(embed=errembed)

        elif isinstance(error, commands.MissingRequiredArgument):
            async with self.ses.get(str(ctx.author.avatar_url)) as r:
                img = Image.open(BytesIO(await r.read()), mode='r')
                try:
                    img.seek(1)
                    url = str(ctx.author.avatar_url_as(format=f'gif'))
                except EOFError:
                    url = str(ctx.author.avatar_url_as(format=f'png'))

                try:
                    img = await self.dagpi.image_process(
                        ImageFeatures.pixel(), url)
                    file = discord.File(fp=img.image,
                                        filename=f"pixel.{img.format}")
                    mbed = discord.Embed(title='Snap!', color=color)
                    mbed.set_image(url=f"attachment://pixel.{img.format}")
                    mbed.set_footer(
                        text=
                        'Syntax: p! pixel <image link> | Quality may be bad. Specify url if this is the case.'
                    )
                    await ctx.send(embed=mbed, file=file)
                except:
                    await ctx.send(embed=discord.Embed(
                        description=
                        '<:error:806618798768652318> Error when making request.',
                        color=color))
Exemplo n.º 2
0
 def __init__(self, client):
     self.client = client
     self.dynamic = [(ImageFeatures.night(), ImageConverter),
                     (ImageFeatures.gay(), ImageConverter),
                     (ImageFeatures.wanted(), ImageConverter),
                     (ImageFeatures.ascii(), StaticImageConverter),
                     (ImageFeatures.sobel(), StaticImageConverter),
                     (ImageFeatures.hog(), StaticImageConverter),
                     (ImageFeatures.colors(), StaticImageConverter),
                     (ImageFeatures.rgb(), StaticImageConverter),
                     (ImageFeatures.sith(), StaticImageConverter),
                     (ImageFeatures.triggered(), StaticImageConverter),
                     (ImageFeatures.deepfry(), ImageConverter),
                     (ImageFeatures.invert(), ImageConverter),
                     (ImageFeatures.wasted(), ImageConverter),
                     (ImageFeatures.communism(), StaticImageConverter),
                     (ImageFeatures.america(), StaticImageConverter),
                     (ImageFeatures.pixel(), ImageConverter),
                     (ImageFeatures.fedora(), ImageConverter),
                     (ImageFeatures.jail(), ImageConverter),
                     (ImageFeatures.magik(), StaticImageConverter),
                     (ImageFeatures.rainbow(), ImageConverter),
                     (ImageFeatures.triangle(), StaticImageConverter)]
     for command in self.dynamic:
         self.make_fn(command[0], command[1])
     self.make_fn_alex("salty", StaticImageConverter)
     self.make_fn_alex("jokeoverhead", StaticImageConverter)
Exemplo n.º 3
0
 async def pixel(self, ctx, member: discord.Member = None):
     await ctx.trigger_typing()
     if member is None:
         member = ctx.author
     url = str(
         member.avatar_url_as(format="png", static_format="png", size=1024))
     img = await self.bot.dagp.image_process(ImageFeatures.pixel(), url)
     await ctx.send(
         file=discord.File(fp=img.image, filename=f"pixel.{img.format}"))
Exemplo n.º 4
0
    async def pixel(self, ctx, member: discord.Member = None):
        if member is None:
            member = ctx.author

        url = str(member.avatar_url_as(format="png", size=1024))
        img = await self.bot.dagpi.image_process(ImageFeatures.pixel(), url)
        e2file = discord.File(fp=img.image, filename=f"pixel.{img.format}")
        e = discord.Embed(title="Here You Go! Filter used is pixel!")
        e.set_image(url=f"attachment://pixel.{img.format}")
        await ctx.send(file=e2file, embed=e)
Exemplo n.º 5
0
async def test_image():
    tok = os.getenv("DAGPI_TOKEN")
    c = Client(tok)
    img = await c.image_process(ImageFeatures.pixel(),
                                "https://dagbot-is.the-be.st/logo.png")
    await c.close()
    img.write("some.png")
    assert isinstance(img, Image)
    assert isinstance(img.read(), bytes)
    assert isinstance(repr(img), str)
    assert isinstance(img.size(), int)
Exemplo n.º 6
0
 async def pixel(
     self,
     ctx,
     thing: typing.Union[discord.Member, discord.PartialEmoji,
                         discord.Emoji, str] = None,
 ):
     async with ctx.channel.typing():
         url = await self.get_url(ctx, thing)
         img = await dagpi.image_process(ImageFeatures.pixel(), url)
         file = discord.File(fp=img.image, filename=f"pixel.{img.format}")
         await ctx.send(file=file)
Exemplo n.º 7
0
    async def pixel(self, ctx, member: Optional[Union[discord.Member,
                                                      MemberID]]):
        """Pixallate your pfp"""
        member = member or ctx.author

        url = member.display_avatar.url
        img = await self.dagpi.image_process(ImageFeatures.pixel(), url)
        e2file = discord.File(fp=img.image, filename=f"pixel.{img.format}")
        e = Embed(title="Here You Go! Filter used is pixel!")
        e.set_image(url=f"attachment://pixel.{img.format}")
        await ctx.send(file=e2file, embed=e)
Exemplo n.º 8
0
    async def pixelate(self,
                       ctx: utils.CustomContext,
                       user: discord.Member = None):
        """Pixelates someones profile picture.
        Powered by Dagpi."""

        async with ctx.timeit:
            async with ctx.typing():
                user = user or ctx.author
                img_file = await do_dagpi_stuff(ctx, user,
                                                ImageFeatures.pixel())
                await ctx.send(file=img_file)
Exemplo n.º 9
0
 async def _pixelate(self, ctx, *, member: discord.Member):
     '''
     Pixelate the given member
     '''
     with ctx.channel.typing():
         url = str(
             member.avatar_url_as(format="png",
                                  static_format="png",
                                  size=1024))
         img = await self.dagpiclient.image_process(ImageFeatures.pixel(),
                                                    url)
         file = discord.File(fp=img.image, filename=f"pixel.{img.format}")
         await ctx.send(file=file)
Exemplo n.º 10
0
    async def pixel(self,
                    ctx: commands.Context,
                    *,
                    member: discord.Member = None):
        member = member or ctx.author

        url = str(member.avatar_url_as(static_format='png', size=1024))
        image = await ctx.dagpi.image_process(ImageFeatures.pixel(), url)

        filename = f'pixel.{image.format}'
        file = discord.File(fp=image.image, filename=filename)

        await ctx.send(file=file, image=f'attachment://{filename}')
Exemplo n.º 11
0
 async def pixel(self, ctx, member: discord.Member = None):
     """Pixelates the author or given members profile picture"""
     if member is None: member = ctx.author
     url = str(
         member.avatar_url_as(format="png", static_format="png", size=1024))
     try:
         img = await self.bot.dagpi_client.image_process(
             ImageFeatures.pixel(), url)
     except Exception as e:
         return await ctx.send(f"``` \n {e} ```")
     file = discord.File(fp=img.image, filename=f"colors.{img.format}")
     await ctx.send(embed=discord.Embed(color=0x31A1F1).set_image(
         url=f"attachment://colors.{img.format}"),
                    file=file)
Exemplo n.º 12
0
 async def pixelate(self, ctx, url: str):
     try:
         img = await self.dagpi.image_process(ImageFeatures.pixel(), url)
         file = discord.File(fp=img.image, filename=f"pixel.{img.format}")
         mbed = discord.Embed(title='Snap!', color=color)
         mbed.set_image(url=f"attachment://pixel.{img.format}")
         mbed.set_footer(
             text=f'Pixelated Filter | Requested by {ctx.author}')
         await ctx.send(embed=mbed, file=file)
     except:
         await ctx.send(embed=discord.Embed(
             description=
             f'<:error:806618798768652318> Error when making request. | Image may be a WEBP file.',
             color=color))
Exemplo n.º 13
0
async def test_image():
    tok = os.getenv("DAGPI_TOKEN")
    c = Client(tok)
    img = await c.image_process(ImageFeatures.pixel(),
                                "https://dagbot-is.the-be.st/logo.png")
    assert isinstance(img, Image)
Exemplo n.º 14
0
 async def dag_pixel(self, ctx: Context, *, item=None):
     """
     Adds a pixel effect to an image.
     """
     meth = await self.do_dagpi(ctx, ImageFeatures.pixel(), item, False)
     await self.dag_embed(ctx, meth, ctx.command.name)